

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

# CloudFormation 模板供 CodeDeploy 参考
<a name="reference-cloudformation-templates"></a>

本节介绍专为处理 CodeDeploy 部署而设计的 CloudFormation 资源、转换和挂钩。有关创建由 CloudFormation 挂钩管理的堆栈更新的演练 CodeDeploy，请参阅 [通过创建 Amazon ECS blue/green 部署 CloudFormation](deployments-create-ecs-cfn.md)

**注意**  
CloudFormation 钩子是生命周期事件挂钩 CloudFormation 组件的一部分 AWS ，不同于 CodeDeploy生命周期事件挂钩。

除了中提供的其他方法外 CodeDeploy，您还可以使用 CloudFormation 模板来执行以下任务：
+ 创建应用程序。
+ 创建部署组并指定目标修订。
+ 创建部署配置。
+ 创建 Amazon EC2 实例。

CloudFormation 是一项服务，可帮助您使用模板对 AWS 资源进行建模和设置。 CloudFormation 模板是格式符合 JSON 标准的文本文件。您可以创建一个描述所需所有 AWS 资源的模板，并 CloudFormation 负责为您配置和配置这些资源。

有关更多信息，请参阅《AWS CloudFormation 用户指南》**中的[什么是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)以及[使用 AWS CloudFormation 模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)。

如果您计划在组织 CodeDeploy 中使用与兼容的 CloudFormation 模板，则作为管理员，您必须授予对 CloudFormation 所 CloudFormation 依赖的 AWS 服务和操作的访问权限。要授予创建应用程序、部署组和部署配置的权限，请将以下策略添加到要使用的用户的权限集中 CloudFormation：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [                
        "cloudformation:*"        
      ],
      "Resource": "*"
    }
  ]
}
```

------

有关策略的更多信息，请参阅以下主题：
+ 要查看必须添加到将创建 Amazon EC2 实例的用户权限集中的策略，请参阅[为 CodeDeploy (创建一个 Amazon EC2 实例CloudFormation 模板）](instances-ec2-create-cloudformation-template.md)。
+ 有关向权限集添加策略的信息，请参阅《IAM 用户指南》**中的[创建权限集](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html)。
+ 要了解如何限制用户只能使用有限的 CodeDeploy 操作和资源，请参阅[AWS 的托管（预定义）策略 CodeDeploy](managed-policies.md)。

下表显示了 CloudFormation 模板可以代表您执行的操作，并包含指向您可以添加到 CloudFormation 模板中的 AWS 资源类型及其属性类型的更多信息的链接。


<table>
<thead>
  <tr><th>处理建议</th><th> CloudFormation 参考 </th><th>参考类型</th></tr>
</thead>
<tbody>
  <tr><td>创建 CodeDeploy 应用程序。</td><td>[AWS::CodeDeploy:: 应用程序](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)</td><td>CloudFormation 资源</td></tr>
  <tr><td>创建并指定要用于部署应用程序修订的部署组的详细信息。¹</td><td>[AWS::CodeDeploy::DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)</td><td>CloudFormation 资源</td></tr>
  <tr><td>创建一组 CodeDeploy 将在部署期间使用的部署规则、部署成功条件和部署失败条件。</td><td>[AWS::CodeDeploy::DeploymentConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)</td><td>CloudFormation 资源</td></tr>
  <tr><td>创建 Amazon EC2 实例。²</td><td>[AWS::EC2::instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html)</td><td>CloudFormation 资源</td></tr>
  <tr><td rowspan="2">使用 CloudFormation AWS::CodeDeployBlueGreen转换和AWS::CodeDeploy::BlueGreen挂钩来管理堆栈更新、创建资源和转移 CodeDeploy blue/green部署流量。 3</td><td>[AWS::CodeDeployBlueGreen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)</td><td>AWS::CodeDeployBlueGreen 转换是一个由 CloudFormation 托管的宏</td></tr>
  <tr><td>[AWS::CodeDeploy::BlueGreen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)</td><td>AWS::CodeDeploy::BlueGreen钩子结构为中的Hook资源 CloudFormation。该挂钩包含通过指向指定的 CodeDeploy生命周期事件挂钩来取代 CodeDeploy AppSpec 文件的参数。</td></tr>
  <tr><td colspan="2">¹ 如果您指定要作为部署组一部分部署的应用程序修订的版本，则在预配过程完成后将立即部署目标修订。有关模板配置的更多信息，请参阅《*AWS CloudFormation 用户*指南》 GitHubLocation中的[CodeDeploy DeploymentGroup 部署修订版 S3Loc](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html) ation 和[CodeDeploy DeploymentGroup 部署修订版](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html)。<br />² 我们提供的模板可用于在支持的地区创建 Amazon EC2 实例。 CodeDeploy 有关使用这些模板的更多信息，请参阅[为 CodeDeploy (创建一个 Amazon EC2 实例CloudFormation 模板）](instances-ec2-create-cloudformation-template.md)。<br />3 此 blue/green 部署配置仅支持 Amazon ECS 部署。有关通过 Amazon ECS 部署的 blue/green 部署配置的更多信息 CloudFormation，请参阅[的部署配置 CloudFormation blue/green 部署（亚马逊 ECS）](deployment-configurations.md#deployment-configuration-cfn-bg)。有关通过 Amazon ECS blue/green 部署 CloudFormation 以及如何在中查看部署的更多信息 CodeDeploy，请参阅[通过创建 Amazon ECS blue/green 部署 CloudFormation](deployments-create-ecs-cfn.md)。</td><td></td></tr>
</tbody>
</table>
