

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 與其他 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 Logs 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)   <br />+  **Amazon CloudWatch Events**，用於偵測執行個體狀態或 CodeDeploy 操作中部署的變更並對其做出反應。然後，當部署或執行個體進入您在規則中指定的狀態時，CloudWatch Events 會根據您建立的規則叫用一或多個目標動作。 <br />進一步了解：   [使用 Amazon CloudWatch Events 監控部署](monitoring-cloudwatch-events.md)   <br />+  **Amazon CloudWatch Logs** 用於監控 CodeDeploy 代理程式建立的三種類型的日誌，而不必一次登入一個執行個體。 <br />進一步了解：   [在 CloudWatch Logs 主控台中檢視 CodeDeploy 日誌](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 Auto Scaling 會在不再需要這些Amazon EC2執行個體時將其終止。<br />進一步了解：+  [將 CodeDeploy 與 Amazon 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 透過安裝更新版本的應用程式作為新的替換任務集來執行藍/綠部署。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 帳戶中 CodeDeploy 或代表 CodeDeploy 發出的 API 呼叫，並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。CloudTrail 會從 CodeDeploy 主控台、透過 CodeDeploy 命令 AWS CLI，或直接從 CodeDeploy APIs 擷取 API 呼叫。使用 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 **Environment (環境)** 視窗及編輯器標籤。當您準備好時，您可以在 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 />+  無伺服器 AWS Lambda 函數版本。 <br /><br />您可以在建立管道之前或在**建立管道**精靈中，建立要用於階段中部署動作的 CodeDeploy 應用程式、部署和部署群組。<br />進一步了解：+  [AWS for DevOps 入門指南](https://docs.aws.amazon.com/devops/latest/gsg/welcome.html) — 了解如何搭配 CodeDeploy 使用 CodePipeline，在 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 />+  [四階段管道教學課程](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-4.html)  | 
| AWS 無伺服器應用程式模型 | AWS 無伺服器應用程式模型 (AWS SAM) 是一種定義無伺服器應用程式的模型。它擴展 CloudFormation 為提供定義 AWS Lambda 無伺服器應用程式所需的函數、Amazon API Gateway APIs 和 Amazon DynamoDB 資料表的簡化方式。如果您已使用 AWS SAM，您可以新增部署偏好設定，以開始使用 CodeDeploy 來管理流量在 AWS Lambda 應用程式部署期間轉移的方式。<br />如需詳細資訊，請參閱[AWS 無伺服器應用程式模型](https://github.com/awslabs/serverless-application-model)。 | 
| Elastic Load Balancing | CodeDeploy 支援 [Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html)，這是一種將傳入應用程式流量分散到多個 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)