

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 使用 Automation 和 Jenkins 更新 AMIs
<a name="automation-tutorial-update-patch-ami-jenkins-integration"></a>

如果组织在 CI/CD 管道中使用 Jenkins 软件，则可以添加 Automation 作为构建后步骤，用于将应用程序发行版预安装到 Amazon Machine Images（AMIs）中。Automation 是 AWS Systems Manager 中的一项工具。您还可以使用 Jenkins 计划功能来调用 Automation 并创建自己的操作系统（OS）修补计划。

以下示例显示如何从运行在本地或 Amazon Elastic Compute Cloud（Amazon EC2）上的 Jenkins 服务器调用 Automation。对于身份验证，Jenkins 服务器使用 AWS 凭证，该凭证基于您在示例中创建并附加到实例配置文件的 IAM 策略。

**注意**  
配置实例时，请务必遵循 Jenkins 安全最佳实践。

**开始前的准备工作**  
在配置 Automation 用于 Jenkins 之前，请完成以下任务：
+ 完成 [使用 Automation、AWS Lambda 和 Parameter Store 来更新黄金 AMI](automation-tutorial-update-patch-golden-ami.md) 示例。以下示例使用在该示例中创建的 **UpdateMyLatestWindowsAmi** 运行手册。
+ 为自动化配置 IAM 角色。Systems Manager 需要实例配置文件角色和服务角色 ARN 来处理自动化。有关更多信息，请参阅 [设置自动化](automation-setup.md)。

**为 Jenkins 服务器创建 IAM 策略**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中选择**策略**，然后选择**创建策略**。

1. 选择 **JSON** 选项卡。

1. 将每个*示例资源占位符*替换为您自己的信息。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "ssm:StartAutomationExecution",
               "Resource": [
                   "arn:aws:ssm:us-east-1:111122223333:document/UpdateMyLatestWindowsAmi",
                   "arn:aws:ssm:us-east-1:111122223333:automation-execution/*"
               ]
           }
       ]
   }
   ```

------

1. 选择**查看策略**。

1. 在**查看策略**页面上，对于**名称**，输入内联策略的名称，例如 **JenkinsPolicy**。

1. 选择**创建策略**。

1. 在导航窗格中，选择**角色**。

1. 选择附加到 Jenkins 服务器的实例配置文件。

1. 在**权限**选项卡中，选择**添加权限**，然后选择**附加策略**。

1. 在**其他权限策略**部分中，输入您在之前步骤中创建的策略名称。例如，**JenkinsPolicy**。

1. 选中您的策略旁边的复选框，然后选择**附加策略**。

按照以下过程在 Jenkins 服务器上配置 AWS CLI。

**为 Automation 配置 Jenkins 服务器**

1. 使用首选浏览器连接到 8080 端口上的 Jenkins 服务器，以便访问管理界面。

1. 输入 `/var/lib/jenkins/secrets/initialAdminPassword` 在中找到的密码。要显示您的密码，请运行以下命令。

   ```
   sudo cat /var/lib/jenkins/secrets/initialAdminPassword
   ```

1. Jenkins 安装脚本会将您引导到**自定义 Jenkins** 页面。选择**安装建议的插件**。

1. 安装完成后，依次选择**管理员凭证**、**保存凭证**、**开始使用 Jenkins**。

1. 在左侧导航窗格中，选择**管理 Jenkins**，然后选择**管理插件**。

1. 选**可用**选项卡，然后输入 **Amazon EC2 plugin**。

1. 选中 **Amazon EC2 plugin** 的复选框，然后选择**安装但不重新启动**。

1. 安装完成后，选择**返回首页**。

1. 选择**管理 Jenkins**，然后选择**管理节点和云**。

1. 在**配置云**部分中，选择**添加新云**，然后选择 **Amazon EC2**。

1. 在其余字段中输入您的信息。确保选择**使用 EC2 实例配置文件获取凭证**选项。

按照以下过程配置 Jenkins 项目来调用 Automation。

**配置 Jenkins 服务器来调用 Automation**

1. 在 Web 浏览器中打开 Jenkins 控制台。

1. 选择要配置用于自动化的项目，然后选择**配置**。

1. 在**构建**选项卡上，选择**添加构建步骤**。

1. 选择**执行 shell** 或**执行 Windows 批命令**（具体取决于您的操作系统)。

1. 在 **Command**（命令）字段中，运行 AWS CLI 命令，如下所示。将每个*示例资源占位符*替换为您自己的信息。

   ```
   aws ssm start-automation-execution \
           --document-name runbook name \
           --region AWS 区域 of your source AMI \
           --parameters runbook parameters
   ```

   以下示例命令使用 **UpdateMyLatestWindowsAmi** 运行手册以及在 [使用 Automation、AWS Lambda 和 Parameter Store 来更新黄金 AMI](automation-tutorial-update-patch-golden-ami.md) 中创建的 Systems Manager 参数 `latestAmi`：

   ```
   aws ssm start-automation-execution \
           --document-name UpdateMyLatestWindowsAmi \
           --parameters \
               "sourceAMIid='{{ssm:latestAmi}}'"
           --region region
   ```

   在 Jenkins 中，命令类似于以下屏幕截图中的示例。  
![\[Jenkins 软件中的示例命令。\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/sysman-ami-jenkins2.png)

1. 在 Jenkins 项目中，选择**立即构建**。Jenkins 会返回类似于以下示例的输出。  
![\[Jenkins 软件中的示例命令输出。\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/sysman-ami-jenkins.png)