使用 Amazon Systems Manager 远程管理容器实例 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon Systems Manager 远程管理容器实例

您可以使用 Amazon Systems Manager (Systems Manager) 中的 Run Command 功能安全地远程管理 Amazon ECS 容器实例的配置。Run Command 提供了一种无需在本地登录实例即可执行常见管理任务的简单方法。您可以通过同时对多个容器实例执行命令来管理集群中的配置更改。Run Command 将报告每个命令的状态和结果。

下面是您可使用 Run Command 执行的任务类型的一些示例:

  • 安装或卸载程序包。

  • 执行安全更新。

  • 清除 Docker 映像。

  • 停止或启动服务。

  • 查看系统资源。

  • 查看日志文件。

  • 执行文件操作。

有关 Run Command 的更多信息,请参阅 Amazon Systems Manager 用户指南中的 Amazon Systems ManagerRun Command

Run Command IAM policy

您必须先附加 ecsInstanceRole 访问 Systems Manager API 的 IAM policy,然后才能利用 Run Command 将命令发送到您的容器实例。以下过程介绍如何将 Systems Manager 托管的策略附加到您的容器实例角色,以便通过此角色启动的实例可使用 Run Command。

将 Systems Manager 策略附加到 ecsInstanceRole

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Roles(角色)。

  3. 选择 ecsInstanceRole。如果角色不存在,请按照 Amazon ECS 容器实例 IAM 角色中的过程操作来创建角色。

  4. 请选择 Permissions 选项卡。

  5. 选择 Attach policies(附上策略)。

  6. 要缩小要附加的可用策略的范围,请为筛选条件键入 SSM

  7. 在策略列表中,选中 AmazonSSMManagedInstanceCore 旁边的复选框。使用此策略可提供使用 Systems Manager 所需的最低权限。

    有关可以为 Systems Manager 操作提供的其他策略信息,请参阅 Amazon Systems Manager 用户指南中的为 Systems Manager 创建 IAM 实例配置文件

  8. 选择 Attach Policy(附加策略)

使用 Run Command

将 Systems Manager 托管策略附加到您的 ecsInstanceRole 并验证容器实例上是否安装了 Amazon Systems Manager 代理 (SSM Agent) 后,可以开始使用 Run Command 向容器实例发送命令。有关在实例上运行命令和 shell 脚本以及查看结果输出的信息,请参见 Amazon Systems Manager用户手册中的使用 Systems Manager Run Command 运行命令Run Command 演练

示例:使用 Run Command 更新容器实例软件

Run Command 的常用案例是,一次性更新整个容器实例队列中的实例软件。

  1. 将 Systems Manager 托管策略附加到ecsInstanceRole。

  2. 验证您的容器实例上是否安装了 SSM Agent。有关更多信息,请参阅在 Linux EC2 实例上手动安装 SSM Agent

  3. https://console.aws.amazon.com/systems-manager 处打开 Systems Manager 控制台。

  4. 在左侧导航窗格中,选择 Run Command,然后选择运行命令

  5. 对于 Command document (命令文档),选择 AWS-RunShellScript

  6. Commands 部分中,输入要发送到容器实例的命令。在本示例中,使用以下命令更新实例软件:

    $ yum update -y
  7. 目标实例部分中,选中要运行更新命令的容器实例旁的复选框。

  8. 选择 Run 以将命令发送到指定实例。

  9. (可选)选择刷新图标以监控命令状态。

  10. (可选)在目标和输出中,选择实例 ID 旁边的按钮,然后选择查看输出