如何配置会话管理器(Session Manager) 通过控制台远程连接实例
步骤
创建IAM角色
-
登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/
-
在导航窗格中选择 Policies,然后选择 Create policy. (如果 Get Started 按钮出现,选择此按钮,然后选择 Create Policy.)
-
选择 JSON 选项卡。
-
将默认内容替换为以下内容:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceInformation", "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetEncryptionConfiguration" ], "Resource": "*" } ] }
-
选择查看策略.
-
在 Review policy (查看策略) 页面上,对于 Name (名称),输入内联策略的名称,例如
SessionManagerPermissions
. -
(可选)对于Description(描述), 输入策略描述.
-
选择 Create policy (创建策略).
-
在导航窗格中,选择角色,然后选择创建角色.
-
在创建角色页面上,选择 AWS 服务,然后从选择将使用此角色的服务列表中,选择 EC2.
-
选择 Next: Permissions (下一步: 权限).
-
在 Attached permissions policy (附加的权限策略) 页面上,选中刚刚创建的策略名称左侧的复选框,例如
SessionManagerPermissions
. -
选择 Next: Review.
-
在 Review (审核) 页面中,对于 Role name (角色名称),输入 IAM 实例配置文件的名称,例如
MySessionManagerInstanceProfile
. -
对于 Role description (角色描述),输入实例配置文件的描述.
-
选择 Create role (创建角色).
为EC2实例挂载IAM实例配置文件
- 登录EC2控制台,选中需要登录的实例
- 点击操作 -> 安全 -> 修改IAM角色
- 弹出的对话框中查询
MySessionManagerInstanceProfile
并选择保存
安装amazon-ssm-agent服务
-
默认情况下,Amazon Linux和Amazon Linux 2已经预装了amazon-ssm-agent服务,需要立即使配置生效可以重启实例,或者在实例内部执行以下命令,重启amazon-ssm-agent服务.
sudo systemctl restart amazon-ssm-agent
-
其他操作系统需要安装amazon-ssm-agent后才能使用会话管理器,关于如何在操作系统中安装amazon-ssm-agent服务,请参考文档https://docs.amazonaws.cn/systems-manager/latest/userguide/sysman-manual-agent-install.html
-
安装成功后,并且权限正确,可登录EC2控制台,选中相关实例,点击
连接
图标。在新打开的页面中,连接按钮会亮起。如图,
排错
-
如果配置了实例配置文件,并且添加了合适的规则,并且重启了amazon-ssm-agent服务后,仍不能正常使用会话管理器,需要访问
/var/log/amazon/ssm/
目录查看日志. 主要查看amazon-ssm-agent.log
以及errors.log
-
amazon-ssm-agent需要和终端节点
ssm.region.amazonaws.com.cn
,ssmmessages.region.amazonaws.com.cn
和ec2messages.region.amazonaws.com.cn
终端节点通信,实例必须要通过NAT网关或者Internet网关连接到公网。 -
如果实例 处于私网中,请参考链接https://docs.amazonaws.cn/systems-manager/latest/userguide/setup-create-vpc.html, 来创建VPC终端节点服务.