

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

# 与其他人集成 AWS 务
<a name="integrations-aws"></a>

CodeDeploy 已与以下 AWS 服务集成：


|  |  | 
| --- |--- |
| Amazon CloudWatch | [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/) 是一项监控 AWS 云资源和您运行的应用程序的服务 AWS。您可以使用 Amazon CloudWatch 收集和跟踪指标、收集和监控日志文件以及设置警报。 CodeDeploy 支持以下 CloudWatch 工具：+  **CloudWatch 警报**，用于监控您的部署，并在您指定的监控指标超过或低于 CloudWatch 警报规则中指定的阈值时将其停止。要使用警报监控，请先在中设置警报 CloudWatch，然后将其添加到应用程序或部署组中，当警报激活时，部署应停止 CodeDeploy 到该组中。 <br />了解更多：   [创建 CloudWatch 日志警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)   <br />+  **Amazon Ev CloudWatch en** ts 用于检测实例或部署状态的变化并做出反应。 CodeDeploy 然后，根据您创建的规则，当部署或实例进入您在规则中指定的状态时， CloudWatch 事件会调用一个或多个目标操作。 <br />了解更多：   [使用 Amazon CloudWatch 事件监控部署](monitoring-cloudwatch-events.md)   <br />+  **Amazon CloudWatch L** ogs 用于监控 CodeDeploy 代理创建的三种类型的日志，而无需一次登录一个实例。 <br />了解更多：   [在 CodeDeploy 日志控制台中查看 CloudWatch 日志](https://aws.amazon.com/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/)    | 
| Amazon EC2 Auto Scaling | CodeDeploy 支持 [Amazon EC2 Auto Scaling](https://aws.amazon.com/autoscaling)。该 AWS 服务可以根据您指定的标准自动启动 Amazon EC2 实例，例如：+  超出指定的 CPU 利用率的限制。 <br />+  磁盘读取或写入数。 <br />+  在指定时间间隔内的入站或出站网络流量。 <br />您可以在需要时扩展一组 Amazon EC2 实例，然后使用自动 CodeDeploy 为它们部署应用程序修订。当不再需要这些 Amazon EC2 实例时，Amazon EC2 Auto Scaling 将终止它们。<br />了解更多：+  [CodeDeploy 与亚马逊 EC2 Auto Scaling 集成](integrations-aws-auto-scaling.md) <br />+  [教程：用于 CodeDeploy 将应用程序部署到 Auto Scaling 组](tutorials-auto-scaling-group.md) <br />+  [幕后花絮： CodeDeploy 以及 Auto Scaling 集成](https://aws.amazon.com/blogs/devops/under-the-hood-aws-codedeploy-and-auto-scaling-integration/)  | 
| Amazon Elastic Container Service |  您可以使用 CodeDeploy 将 Amazon ECS 容器化应用程序部署为任务集。 CodeDeploy 通过将应用程序的更新版本安装为新的替换任务集来执行 blue/green 部署。 CodeDeploy 将生产流量从原始应用程序任务集重新路由到替换任务集。成功部署后，将会终止原始任务集。有关 Amazon ECS 的更多信息，请参阅 [Amazon Elastic Container Service](https://aws.amazon.com/ecs/)。<br /> 您可以通过选择 Canary、线性或一次性部署配置，管理部署过程中流量转移到更新后的任务集的方式。有关 Amazon ECS 部署的更多信息，请参阅 [Amazon ECS 计算平台上的部署](https://docs.aws.amazon.com/en_us/codedeploy/latest/userguide/deployment-steps-ecs.html)。 | 
| AWS CloudTrail | CodeDeploy 已与集成[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。该服务捕获由您的账户或代表您的 AWS 账户发出的 API 调用，并将日志文件传输到您指定的 Amazon S3 存储桶。 CodeDeploy CloudTrail捕获来自 CodeDeploy 控制台、通过 CodeDeploy 命令或直接来自 CodeDeploy API 的 API 调用。 AWS CLI通过使用 CloudTrail 收集的信息，您可以确定：+  是向哪个请求提出的 CodeDeploy。 <br />+  已从中发出请求的源 IP 地址。 <br />+  谁发出了请求。 <br />+  发出请求的时间。 <br />了解更多：+   [使用监控部署 AWS CloudTrail](monitoring-cloudtrail.md)  | 
| AWS Cloud9 | [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/)是一个基于云的在线集成开发环境 (IDE)，您只需使用联网计算机上的浏览器即可编写、运行、调试和部署代码。 AWS Cloud9 包括代码编辑器、调试器、终端和基本工具，例如 AWS CLI 和 Git。+  您可以使用 AWS Cloud9 IDE 运行、调试和生成 GitHub 存储库中的代码。可以使用 IDE **环境**窗口和编辑器选项卡查看、更改和保存代码。准备就绪后，可以在 AWS Cloud9 终端会话中使用 Git 将代码更改推送到 GitHub 仓库，然后使用 AWS CodeDeploy 来部署更新。有关 AWS Cloud9 与一起使用的更多信息 GitHub，[请参阅GitHub 示例 AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/sample-github.html)。 <br />+  您可以使用 AWS Cloud9 IDE 来更新 AWS Lambda 函数。然后，您可以使用 AWS CodeDeploy 创建部署，将流量转移到新版本的 AWS Lambda 函数。有关更多信息，请参阅[在 AWS Cloud9 集成开发环境 (IDE) 中使用 AWS Lambda 函数](https://docs.aws.amazon.com/cloud9/latest/user-guide/lambda-functions.html)。 <br />有关的更多信息 AWS Cloud9，请参阅[什么是 AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcom.html)和[入门 AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/get-started.html)。 | 
| AWS CodePipeline | [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) 是一种持续交付服务，可用于建模、可视化和自动执行在持续交付过程中发布软件所需的步骤。可以使用 AWS CodePipeline 定义您自己的发布过程，以便服务在每次发生代码更改时构建、测试和部署代码。例如，一个应用程序可以有三个部署组：Beta、Gamma 和 Prod。您可以设置管道，以便每次源代码发生更改时，将更新逐一部署到每个部署组。<br />您可以配置为使用 AWS CodePipeline CodeDeploy 来部署：+  将代码部署到 Amazon EC2 实例和/或本地实例。 <br />+  无服务器 Lamb AWS da 函数版本。 <br /><br />**您可以在创建管道之前的某个阶段或在 “创建管道” 向导中创建要在部署操作中使用的 CodeDeploy 应用程序、部署和部署组。**<br />了解更多：+  [AWS DevOps 入门指南](https://docs.aws.amazon.com/devops/latest/gsg/welcome.html) — 了解如何 CodePipeline 与一起 CodeDeploy 使用，将 CodeCommit 存储库中的源代码持续交付和部署到 Amazon EC2 实例。 <br />+  [简单管道演练（Amazon S3 存储桶）](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-w.html) <br />+  [简单的管道演练（CodeCommit 存储库）](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-cc.html) <br />+  [Four-stage管道教程](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-4.html)  | 
| AWS 无服务器应用程序模型 | AWS 无服务器应用程序模型 (AWS SAM) 是定义无服务器应用程序的模型。它扩展 CloudFormation 为定义无服务器应用程序所需的 AWS Lambda 函数、Amazon API Gateway API 和亚马逊 DynamoDB 表提供了一种简化的方法。如果您已经在使用 AWS SAM，则可以添加部署首选项，开始使用它 CodeDeploy 来管理 AWS Lambda 应用程序部署期间的流量转移方式。<br />有关更多信息，请参阅 [AWS 无服务器应用程序模型](https://github.com/awslabs/serverless-application-model)。 | 
| Elastic Load Balancing | CodeDeploy 支持 [Elastic Load](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html) Balancing，这是一项在多个 Amazon EC2 实例之间分配传入应用程序流量的服务。<br />对于 CodeDeploy 部署，当实例尚未准备就绪、当前正在部署或不再需要作为环境的一部分时，负载均衡器还会阻止流量路由到实例。<br />了解更多：+  [CodeDeploy 与 Elastic Load Balancing](integrations-aws-elastic-load-balancing.md)  | 

**Topics**
+ [Amazon EC2 Auto Scaling](integrations-aws-auto-scaling.md)
+ [Integrating CodeDeploy with Elastic Load Balancing](integrations-aws-elastic-load-balancing.md)