是否有引导脚本在启动时将 Amazon SSM 代理安装到 EC2 Windows 实例中?

Posted

技术标签:

【中文标题】是否有引导脚本在启动时将 Amazon SSM 代理安装到 EC2 Windows 实例中?【英文标题】:Is there a bootstrap script to install Amazon SSM Agent into EC2 Windows instance upon launch? 【发布时间】:2021-11-12 00:22:30 【问题描述】:

我的任务是启动 Windows 2019 服务器(根据 AWS 文档,这已预装了 SSM 代理)并为 RDP 禁用端口 3389,因为他们想要的唯一访问是通过 Amazon Systems Manager Session Manager。

我已附加 AmazonSSMManagedInstanceCore 角色,该角色授予 Session Manager 以编程方式访问此服务器的权限,但我仍然无法通过 Session Manager 访问此服务器。可能的错误是:

    代理未安装, 所需的 IAM 角色未附加等。 但是我已经完成了这一切,仍然无法访问此服务器。

所以我希望能够使用安装 SSM 代理的引导脚本来编辑 UserData,看看是否能解决问题。

我的猜测可能是有人篡改了服务器并删除了 SSM 代理文件。

【问题讨论】:

您的实例是否可以访问互联网?可能代理无法连接到 SSM 服务。 感谢您对此进行调查。是的,该实例实际上位于一个公共子网中,并且有一条通往互联网网关的路由。 【参考方案1】:

这并不能回答有关引导脚本的问题,因为我仍在研究这个问题

但我解决了AWS Systems Manager Session Manager 的问题。

    SSM 代理仍安装在服务器中。 在创建 VPC 时,我创建了一个私有子网和一个 VPC 终端节点,会话管理器将使用该终端节点与该子网中的资源进行通信,但后来我删除了私有子网,因为他们(我的公司)希望所有服务器都在一个公共子网。 由于创建了 VPC 端点,Session Manager 无法找到我尝试通过 Session Manager 连接的服务器。 解决方案:删除 VPC 端点后,会话管理器现在可以轻松连接到所有这些服务器......耶!!!

仅供参考:我仍然希望有一个引导脚本,它会在启动时将 SSM 代理安装到 Amazon EC2 Windows 服务器。

【讨论】:

以上是关于是否有引导脚本在启动时将 Amazon SSM 代理安装到 EC2 Windows 实例中?的主要内容,如果未能解决你的问题,请参考以下文章

在 Amazon AWS 上并行运行 Pig 脚本

在 Amazon EMR 中运行的 Pig 作业的引导文件的路径是啥

即使在引导程序中安装 pip 后,导入也无法在 Amazon EMR 中工作

使用用户指定的脚本重新启动现有 Amazon EC2 实例?

用于挂载EFS存储的ECS容器实例的引导用户数据

在启动 Amazon EC2 Linux 实例时自动挂载 EBS 卷