使用Amazon Systems Manager进行云资源统一跟踪和管理
前言
在这个快速上手教程中,您将学会如何使用 Amazon Systems Manager 在 Amazon EC2 实例上远程运行命令。Systems Manager 是一项管理服务,让您可以从一个统一的用户界面来安全并大规模地对亚马逊云科技资源进行跟踪和管理。利用运行命令(Systems Manager中的一个自动化功能),您无需使用堡垒主机、SSH 或远程 PowerShell,从而可简化实例管理任务。
教程将分为4个步骤。首先,您将创建一个 Identity and Access Management (IAM) 角色,并将该IAM角色附加至Amazon EC2实例上,然后遵循最佳实践,运行 Amazon Web Service-UpdateSSMAgent 文档以升级您的 Systems Manager 代理,最终使用 Systems Manager 在您的实例上运行命令。
关于本教程 | |
预计部署时间 | 10分钟 |
费用 | 免费 |
受众 | 开发运维工程师 |
级别 | 初级 |
相关产品 | Amazon Systems Manager Amazon EC2 Identity and Access Management (IAM) |
相关行业 | 通用 |
上次更新时间 | 2021年7月 |
-
第一步 - 创建 Identity and Access Management (IAM) 角色
在这个步骤中 ,您将创建一个 IAM 角色,它将用于为 Systems Manager 授予在Amazon EC2实例上执行操作的权限。
a. 登陆控制台,服务搜索框搜索IAM,进入 IAM 控制台。
b. 在左侧导航窗格中,选择角色,然后选择创建角色。
c. 在选择受信任的实体类型中选择亚马逊云科技产品,并在下方使用案例中选择Amazon EC2,然后选择下一步:权限。
d. 在附加的权限策略页面的搜索栏中键入 AmazonEC2RoleforSSM,然后从策略列表中选中“AmazonEC2RoleforSSM,然后选择下一步:审核。
e. 您可以在标签页面中为该角色添加标签,或略过该步骤进入下一步:审核。
在 审核页面的角色名称框中,键入 EnablesEC2ToAccessSystemsManagerRole。在角色描述框中,键入 Enables an EC2 instance to access Systems Manager(启用 EC2 实例以访问 Systems Manager)。选择创建角色。
-
第二步 - 创建 Amazon EC2实例
在这个步骤中,您会将步骤1中创建的EnablesEC2ToAccessSystemsManagerRole 角色附加至一个 Amazon EC2 实例。这样便可以使用 Systems Manager 来管理 Amazon EC2 实例。
a. 打开 Amazon EC2 控制台。从 Amazon EC2 控制台的右上角中选择宁夏区域。现在选择启动实例。
b. 在步骤1:选择一个Amazon系统映像(AMI)页面,选择 Amazon Linux 2 AMI,该AMI已默认安装有 Systems Manager 代理。您也可以在自己的 Windows 或 Linux 系统中安装 Systems Manger 代理。
c. 在步骤 2:选择一个实例类型页面,选择 t2.micro 实例类型,它将符合亚马逊云科技宁夏区域的免费套餐,然后单击下一步:配置实例详细信息。
d. 在步骤 3:配置实例详细信息页面中,在IAM 角色下拉列表中选择您之前创建的 EnablesEC2ToAccessSystemsManagerRole 角色。让所有其他设置保留默认值。选择审核并启动。
e. 在步骤 7:核查实例启动页面上,选择右下角的启动以启动您的实例。
f. 接下来系统会显示选择现有密钥对或创建新密钥对对话框。由于使用 Systems Manager 远程运行命令不需要密钥对,故从下拉列表中选择在没有密钥对的情况下继续,然后选中我确认...复选框。
接下来选择启动新实例。
-
第三步 - 更新 Systems Manager 代理
您已启动一个运行着Systems Manager 代理的 Amazon EC2 实例,现在您可以在SystemsManager中自动执行管理任务和管理实例。在这个步骤中,您运行被称为“文档”的预先打包命令,它将升级代理。建议您在创建新实例后及时更新 System Manager 代理。
a. 单击顶部菜单中的服务, 然后在管理工具下面,选择 Systems Manager 以打开 Systems Manager 控制台。
b. 在左侧导航栏的节点管理部分,选择运行命令。
c. 在运行命令页面,单击橙色的运行命令按钮。
AWS-UpdateSSMAgent
d. 进入运行命令页面,在命令文档搜索栏中键入以上字符,并选中该文档。
向下滚动到目标面板,单击您的托管 Amazon EC2 实例旁边的复选框。
其他选项保持默认,最后,向下滚动至页面底部并选择运行。
e. 接下来您将看到记录了您的运行命令的页面,总体成功以绿色显示。恭喜,您刚刚使用 Systems Manager 运行了第一个远程命令。
-
第四步 - 运行远程外壳脚本
通过步骤3,目前您的 Amazon EC2 实例已经有最新的 Systems Manager 代理,现在您可以升级 Amazon EC2 实例上的软件包。在这个步骤中,您将通过运行命令来运行外壳脚本。
a. 再次选择左侧导航栏的节点管理部分,选择运行命令,并点击橙色的运行命令按钮。
b. 进入运行命令页面,在命令文档搜索栏中键入以下字符,并选中该文档
AWS-RunShellScript
c. 向下滚动到命令参数面板,在 Commands(命令)文本框中插入以下命令:
sudo yum update -y
d.向下滚动到目标面板,单击您的托管 Amazon EC2 实例旁边的复选框。
其他选项保持默认,最后,向下滚动至页面底部并选择运行。
e. 当您的脚本在托管 Amazon EC2 实例上远程运行时,总体状态将为进行中。总体状态很快将变为成功。状态变化之后,查看目标和输出面板并单击您实例 ID。
f. 在输出i-xxxxx页面上,单击 步骤 1——输出面板的标题以查看实例更新命令的输出。
-
第五步 - 终止资源
在这个步骤中,您将终止 Systems Manager 和 Amazon EC2 相关资源。
a.打开 Amazon EC2 控制台,从左侧导航栏的实例标题下面,选择实例。
b. 选中您的实例的复选框,单击实例状态,在下拉列表中单击终止实例。这将完全终止您的实例。
-
小结
通过本教程,您已成功创建一个托管实例并使用 Amazon Systems Manager 远程运行命令。您首先通过 IAM 设置正确的权限。接下来您启动了已预装 Systems Manager的Amazon Linux 2AMI实例。最后,您使用运行命令来更新代理并远程执行 yum 更新。
当您需要查看资源组的运行数据、自动执行运营动作、了解和控制资源的当前状态、管理混合环境以及维护安全和合规时,Systems Manager 是一个不错的选择。
-
参考文档
现在就开始在亚马逊云上构建
无论您是在寻找计算能力、数据库、存储、内容分发、人工智能与机器学习,大数据分析还是其他功能,亚马逊云科技都有相应的服务来帮助您建立具有更高灵活性、可扩展性和可靠性的复杂应用。