如何對 Amazon EC2 執行個體上失敗的 CodeDeploy 部署進行疑難排解?

1 分的閱讀內容
0

我在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的 AWS CodeDeploy 部署失敗。

簡短描述

您可以使用 AWS Systems Manager 的 AWSSupport-TroubleshootCodeDeploy 自動化執行手冊來對失敗的部署進行疑難排解。執行手冊可協助您識別何時會因下列原因而失敗的部署:

  • 未在該執行個體上安裝或執行 CodeDeploy 代理程式。
  • 遺漏必要的執行個體設定檔。
  • 執行個體設定檔沒有正確的 Amazon Simple Storage Service (Amazon S3) 權限。
  • CodeDeploy 管理的其中一個 lifecycle hook (例如 AllowTrafficBlockTraffic) 發生問題。
  • 客戶管理的其中一個 lifecycle hook 發生問題。
  • 在部署期間,Auto Scaling 群組縮減規模事件發生問題。
  • AppSpec 檔案遺失或格式不正確。

解決方案

**重要事項:**在 CodeDeploy 應用程式所在的相同 AWS 區域中使用 AWSSupport-TroubleshootCodeDeploy 執行手冊。

1.    開啟 AWS Systems Manager 主控台

2.    在導覽窗格的變更管理區段中,選擇自動化

3.    選擇執行自動化

4.    在 Amazon 擁有者標籤的自動化文件搜尋欄位中,輸入 AWSSupport-TroubleshootCodeDeploy。然後,選取搜尋圖示,或按鍵盤上的 Enter 鍵。

5.    選取 AWSSupport-TroubleshootCodeDeploy 卡上的選項按鈕。

**注意事項:**請確定您選取的是選項按鈕,而不是超連結的自動化名稱。

6.    在文件詳細資訊區段中,選擇下一步

7.    在 輸入參數區段的 DeploymentId 中,輸入失敗的部署 ID。

8.    在 InstanceID 中,輸入部署失敗的執行個體 ID。

9.    對於 AutomationAssumeRole,輸入允許 Systems Manager Automation 執行動作之角色的 Amazon Resource Name (ARN)

**注意事項:**如果未指定 AWS Identity and Access Management (IAM) 角色,Systems Manager Automation 會使用可對執行手冊進行執行的 IAM 使用者角色權限。如需建立 Systems Manager Automation 擔任角色的相關資訊,請參閱任務 1: 建立服務角色以進行自動化

**重要事項:**AutomationAssumeRole 或使用者角色必須具備下列動作的權限:codedeploy:GetDeploymentcodedeploy:GetDeploymentTargetec2:DescribeInstances

10.    選擇執行

執行手冊的輸出提供疑難排解步驟和建議,說明如何解決造成部署失敗的問題。

相關資訊

對 CodeDeploy 進行疑難排解

對 EC2/內部部署的部署問題進行疑難排解

AWS 官方
AWS 官方已更新 2 年前