AWS EC2 通过会话管理器远程访问,需要创建什么角色?🤔
如果你想通过 Amazon EC2 Instance Connect (EC2 会话管理器) 无需 SSH 密钥安全地远程连接 EC2 实例,需要通过 AWS Systems Manager 的 Session Manager 实现。这时,必须为 EC2 实例关联一个特定的 IAM 角色,以允许其与 SSM 服务通信。下面是详细步骤和所需内容:
1. 创建 IAM Role(实例角色)🔐
- 前往 AWS 管理控制台 > IAM > 角色。
- 点击“创建角色”。
- 信任实体类型选择EC2(即:AWS 服务 > EC2)。
推荐附加权限策略:
AmazonSSMManagedInstanceCore(必需,授予基本 SSM 通信能力)
- (可选)
CloudWatchAgentServerPolicy(如需发送日志到 CloudWatch)
这样,EC2 实例即可与 Systems Manager 进行通信,实现 Session Manager 远程登录功能。
2. 绑定角色到 EC2 实例 🚀
- 在 EC2 控制台,选择目标实例。
- 点击“操作 > 安全 > 修改 IAM 角色”。
- 选择上一步创建的 IAM 角色并保存。
3. 检查必要条件 ✅
- EC2 实例必须已安装并运行 SSM Agent(大多数官方 AMI 已默认安装)。
- 实例能访问互联网(或配置了 VPC Endpoint 用于 SSM 服务)。
- 安全组和网络 ACL 允许出站 HTTPS(TCP 443)。
4. 开始使用 Session Manager 远程登录 😃
- 前往 Systems Manager > Session Manager。
- 点击“开始会话”,选择你的实例即可一键远程登录。
常见问题⚡
- 如果看到 Session Unavailable,“会话不可用”,请逐步检查上述条件是否都满足。
- 确保 IAM 角色已经在实例属性中生效(有时需要重启实例或等待几分钟)。
🎉 这样你就可以通过 AWS 会话管理器(Session Manager)安全运维你的 EC2 服务器啦,无需暴露 SSH 端口,也不需要私钥!