

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `AWSSupport-TroubleshootCodeDeploy`
<a name="automation-awssupport-troubleshootcodedeploy"></a>

 **描述** 

 该`AWSSupport-TroubleshootCodeDeploy`运行手册有助于诊断亚马逊弹性计算云 (Amazon EC2) 实例的 AWS CodeDeploy 部署失败的原因。运行手册将输出相关步骤，以帮助解决问题或进一步排查问题。还提供了的最佳 CodeDeploy 实践，以帮助您避免将来出现类似的问题。

此运行手册可帮助您解决以下问题：
+  CodeDeploy 代理未安装或未在 Amazon EC2 实例上运行
+ Amazon EC2 实例没有附加 AWS Identity and Access Management (IAM) 实例配置文件
+ 附加到亚马逊实例的 IAM EC2 实例配置文件不具备所需的亚马逊简单存储服务 (Amazon S3) Service 权限
+ 缺少存储在 Amazon S3 中的修订版本，或者使用的 Amazon S3 存储桶与亚马逊 EC2 实例不同的存储桶中 AWS 区域 
+ 应用程序规范 (AppSpec) 文件问题
+ “文件已存在于某个位置”错误
+  CodeDeploy 托管生命周期事件挂钩失败
+ 客户托管生命周期事件钩子失败
+ 部署期间的横向缩减事件

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCodeDeploy) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux，macOS, Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ DeploymentId

  类型：字符串

  描述：（必需）失败的部署的 ID。
+ InstanceId

  类型：字符串

  描述：（必填）部署失败的 Amazon EC2 实例的 ID。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `codedeploy:GetDeployment` 
+  `codedeploy:GetDeploymentTarget` 
+  `ec2:DescribeInstances` 

 **文档步骤** 
+  `aws:executeAwsApi` - 验证为 `DeploymentId` 和 `InstanceId` 参数提供的值。
+  `aws:executeScript`-从 Amazon EC2 实例收集信息，例如实例状态和 IAM 实例配置文件详情。
+  `aws:executeScript` - 查看指定的部署，并返回有关部署失败原因的分析。