

• 2026 年 4 月 30 日之後， AWS Systems Manager CloudWatch Dashboard 將不再可用。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](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伺服器會根據您在範例中建立並連接至執行個體描述檔的 IAM 政策使用 AWS 登入資料。

**注意**  
設定執行個體時，請務必遵照 Jenkins 安全最佳實務。

**開始之前**  
在透過 Jenkins 設定 Automation 之前，請完成以下任務：
+ 完成 [AMI 使用自動化更新黃金 AWS Lambda，以及 Parameter Store](automation-tutorial-update-patch-golden-ami.md) 範例。以下範例使用在該範例中建立的 **UpdateMyLatestWindowsAmi** Runbook。
+ 為 Automation 設定 IAM 角色。Systems Manager 需要執行個體設定檔角色和服務角色 ARN 以處理自動化。如需詳細資訊，請參閱[設定自動化](automation-setup.md)。

**為 Jenkins 伺服器建立 IAM 政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 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. 勾選政策旁邊的方塊，然後選擇**連接政策**。

使用下列程序在您的 AWS CLI 伺服器上設定 Jenkins。

**為 Automation 設定 Jenkins 伺服器**

1. 使用您偏好的瀏覽器存取管理介面，連線至連接埠 8080 的 Jenkins 伺服器。

1. 輸入在 `/var/lib/jenkins/secrets/initialAdminPassword` 中找到的密碼。若要顯示您的密碼，請執行下列命令。

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

1. Jenkins 安裝指令碼會將您引導至**自訂 Jenkins** 頁面。選取 **Install suggested plugins** (安裝建議的外掛程式)。

1. 完成安裝之後，請選擇**管理員憑證**，選取**儲存憑證**，然後選取**開始使用 Jenkins**。

1. 在左側導覽窗格中，選擇**管理 Jenkins**，然後選擇**管理外掛程式**。

1. 選擇 **Available** (可用) 索引標籤，然後輸入 **Amazon EC2 plugin**。

1. 選取 **Amazon EC2 plugin** 的核取方塊，然後選取 **Install without restart** (安裝無需重新啟動)。

1. 當完成安裝時，請選取 **Go back to the top page** (回到首頁)。

1. 選擇 **管理 Jenkins**，然後選擇**管理節點和雲端**。

1. 在**設定雲端**區段中，選取**新增雲端**，然後選擇 **Amazon EC2**。

1. 在剩餘欄位中輸入您的資訊。請務必選取**使用 EC2 執行個體設定檔取得憑證**選項。

按照下列程序設定 Jenkins 專案以調用 Automation。

**設定 Jenkins 伺服器以調用 Automation**

1. 在 Web 瀏覽器中開啟 Jenkins 主控台。

1. 選擇您想要以自動化設定的專案，接著選擇 **Configure (設定)**。

1. 在 **Build (建置)** 索引標籤，選擇 **Add Build Step (新增建置步驟)**。

1. 選擇 **Execute shell (執行 shell)** 或 **Execute Windows batch command (執行 Windows 批次命令)** (取決於您的作業系統)。

1. 在**命令**欄位中，執行如下所示的 AWS CLI 命令。將每個*範例資源預留位置*取代為您自己的資訊。

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

   下列範例命令使用 **UpdateMyLatestWindowsAmi** Runbook 和 [AMI 使用自動化更新黃金 AWS Lambda，以及 Parameter Store](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_tw/systems-manager/latest/userguide/images/sysman-ami-jenkins2.png)

1. 在 Jenkins 專案中，選擇**立即建置**。Jenkins 會傳回類似於下列範例的輸出。  
![\[Jenkins 軟體中的範例命令輸出。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/sysman-ami-jenkins.png)