2023-03-06 · 3

AWS SSM(Systems Manager)— Run Command

cloudawsssm

这篇文章发布已超过两年,内容可能已过时。

这次我们来了解 AWS Systems Manager 中的 Run Command。

什么是 AWS Systems Manager?

Systems Manager 是一款可以安全、大规模地对 AWS 资源执行操作的管理工具。

使用 Systems Manager 自动化功能之一的 Run Command,无需 bastion host、SSH 或远程 PowerShell,从而简化管理工作。— AWS Amazon 官方文档

在安全上不想放行 SSH 访问、或想省去堡垒机简化架构等多种运维场景下都能使用。

动手实践

  1. 创建 IAM 角色。
  2. 创建 EC2 实例。
  3. 更新 Systems Manager Agent。
  4. 用 Run Command 执行 shell 脚本。

1. 创建 IAM 角色

搜索 AmazonEC2RoleforSSM 并勾选,点 Next 创建角色即可。

+补充)现在的标准配置是用 AmazonSSMManagedInstanceCore 而不是 AmazonEC2RoleforSSM。

2. 创建 EC2 实例

其余全部保持默认,只需在 Advanced details 中把 IAM instance profile 设为刚创建的角色。不需要密钥对,因此可以不创建。

如上图 IAM Role 正确分配就算成功。

3. Systems Manager Agent Update

在 AWS Systems Manager > Run Command > Run a command 中搜索 SSM,点击 AWS-UpdateSSMAgent。

在下方 Target selection 点 Choose instances manually,选择已激活的刚建的 EC2,然后点 Run 执行。

可以看到执行成功。在 Targets and outputs 勾选对应实例并点 View output 即可查看结果。

确认更新顺利完成。

4. 用 Run Command 执行 shell script

由于已经创建了运行 Systems Manager Agent 的 EC2 实例,就可以自动化管理工作并管理实例。此流程中我们执行称为“文档”的预打包命令来升级代理。建议在创建新实例时更新 Systems Manager Agent。

和刚才一样先进入。

这次选择 AWS-RunShellScript。

为了测试,用 sudo amazon-linux-extras install nginx1 装个 nginx。然后像之前一样选择已激活的实例,点 Run 执行。

就这样成功了。用 CLI 连进去确认一下。

nginx 安装成功且运行正常。到此就是 AWS Systems Manager Run Command 功能的实操。

参考

https://dev.classmethod.jp/articles/aws-systems-manager-run-command-ec2-instance/

AWS Systems Manager を使用してEC2インスタンスでRun Commandを実行する | DevelopersIO こんにちは、yagiです。 本日は、「AWS Systems Manager を使用してEC2インスタンスでRun Commandを実行する」内容について記載します。 AWS Systems Managerとは? Sys … — dev.classmethod.jp


原文(韩语): tistory — 发布于 2023-03-06,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

AWS SSM(Systems Manager)— Run Command · 나봄하랑