本文描述一种快速为AWS EC2开启Session Manager远程连接的设置
当我们在AWS上开启一个EC2后,我们可以直接点击EC2控制台的connect按钮查看远程连接方式
一般远程连接EC2有4种方式,其中
EC2 Instance Connect必须要有公有ip才能从浏览器端远程连接、SSH client是SSH的方式(如果是互联网远程连接也必须有公网ip,除非你可以在VPC里面用另一个EC通过VPC内私有IP连接)、EC2 serial console用的很少;最方便的和最安全的公私网连接方式就是Session Manager
Session Manager连接需要你设置好合适的权限并给EC2赋予这些权限,这对新手而言是一个比较麻烦的事情,这里我简单介绍下最简单的设置方式,这个方式适用于EKS、ECS、EC2普通方式等开启的EC2实例。
起初我们没有设置好权限时,我们默认时无法通过Session Manager直接访问EC2的
我们需要为EC2的原因是我们需要为EC2的role设置好合适的权限,否则无法过Session Manager连接
我们可以在EKS的nodegroup中查看当前ec2 node的role
或者你可以直接在EC2的控制台看到具体的某台EC2的role
然后我们可以为这个role附加一个名为AmazonSSMManagedInstanceCore的policy
最后将当前没有无法Session Manager连接的EC2重启就可以了(或者等待几分钟自动生效),或者新启动的EC2直接可以Session Manager连接