

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CodeDeploy
<a name="aws-codedeploy"></a>

 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/) は、Amazon EC2、Amazon [Elastic Container Service (Amazon](https://aws.amazon.com/ecs/) ECS)、[AWS Lambda](https://aws.amazon.com/lambda/)、オンプレミスサーバーなどのコンピューティングサービスへのアプリケーションデプロイを自動化するフルマネージドデプロイサービスです。組織は CodeDeploy を使用してアプリケーションのデプロイを自動化し、デプロイプロセスからエラーが発生しやすい手動操作を削除できます。CodeDeploy は、コード、サーバーレス関数、設定ファイルなど、さまざまなアプリケーションコンテンツで使用できます。

 CodeDeploy は、アプリケーション開発者が既存のインフラストラクチャで実行されているソフトウェアをデプロイおよび更新するのを支援することに焦点を当てた*構成要素*サービスとして使用することを目的としています。これはend-to-endのアプリケーション管理ソリューションではなく、完全な CI/CD パイプラインの一部として、[AWS CodeStar](https://aws.amazon.com/codestar/)、、その他の AWS 開発者ツール[AWS CodePipeline](https://aws.amazon.com/codepipeline/)、サードパーティーサービス ([AWS CodeDeploy 製品統合の完全なリストについては](https://aws.amazon.com/codedeploy/product-integrations/)「製品統合」を参照) などの他の AWS デプロイサービスと組み合わせて使用することを目的としています。 [https://aws.amazon.com/products/developer-tools/](https://aws.amazon.com/products/developer-tools/)さらに、CodeDeploy はユーザーに代わってリソースの作成を管理しません。

* 表 3: AWS CodeDeploy デプロイ機能 *


|  機能  |  説明  | 
| --- | --- | 
|  プロビジョニング  |   CodeDeploy は既存のコンピューティングリソースでの使用を目的としており、ユーザーに代わってリソースを作成することはありません。CodeDeploy では、アプリケーションコンテンツをデプロイするために、コンピューティングリソースを*デプロイグループ*と呼ばれるコンストラクトに整理する必要があります。  [CodeDeploy をコンピューティングリソースにリンクする方法の詳細については、「CodeDeploy でのデプロイグループの](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-groups.html)操作」を参照してください。 CodeDeploy   | 
|  構成する  |   CodeDeploy は、アプリケーション仕様ファイルを使用してコンピューティングリソースのカスタマイズを定義します。  [CodeDeploy でのリソースのカスタマイズの詳細については、「CodeDeploy AppSpec ファイルリファレンス](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)」を参照してください。 CodeDeploy   | 
|  デプロイ  |   CodeDeploy が使用されるコンピューティングリソースのタイプに応じて、CodeDeploy はアプリケーションをデプロイするためのさまざまな戦略を提供します。  サポートされる[デプロイプロセスのタイプの詳細については、CodeDeploy でのデプロイの使用](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments.html)」を参照してください。  | 
|  スケール  |  CodeDeploy は基盤となるアプリケーションインフラストラクチャのスケーリングをサポートしていませんが、[デプロイ設定](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)によっては、ブルー/グリーンデプロイをサポートする追加のリソースを作成する場合があります。 | 
|  モニタリング  |   CodeDeploy はデプロイの成功または失敗をモニタリングでき、すべてのデプロイの履歴を提供しますが、パフォーマンスやアプリケーションレベルのメトリクスは提供しません。  [CodeDeploy が提供するモニタリング機能のタイプの詳細については、「CodeDeploy でのデプロイ](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html)のモニタリング」を参照してください。 CodeDeploy   | 

 次の図は、完全な CI/CD ソリューションの一部として CodeDeploy の一般的なユースケースを示しています。この例では、CodeDeploy は追加の AWS 開発者ツール、つまり AWS CodePipeline (CI/CD パイプラインを自動化）、 [AWS CodeBuild](https://aws.amazon.com/codebuild/) (アプリケーションコンポーネントの構築とテスト）、 [AWS CodeCommit](https://aws.amazon.com/codecommit/) (ソースコードリポジトリ) と組み合わせて使用され、アプリケーションを Amazon EC2 インスタンスのグループにデプロイします。CodeDeploy は、完全な CI/CD パイプラインの一部として他のツールとともに使用されます。CodeDeploy は、デプロイグループの一部であるコンピューティングリソースへのアプリケーションコンポーネントのデプロイを管理します。すべてのインフラストラクチャコンポーネントは CodeDeploy の外部で作成されます。

![\[AWS CodePipeline workflow showing CodeCommit, CodeBuild, CodeDeploy, and EC2 with Auto Scaling.\]](http://docs.aws.amazon.com/ja_jp/whitepapers/latest/overview-deployment-options/images/image4.png)


* AWS CodeDeploy ユースケース *

## AWS CodeDeploy の AWS Lambda
<a name="codedeploy-for-lambda"></a>

 AWS CodeDeploy for AWS Lambda を使用すると、サーバーレスデプロイを自動化し、アプリケーションリリースをより詳細に制御および可視化できます。CodeDeploy を使用して、サーバーレス関数の新しいバージョンを少数のユーザーまたはトラフィックにデプロイし、新しいバージョンに自信が持てるにつれてトラフィックを徐々に増やすことができます。CodeDeploy を使用すると、同じイベントソースからトラフィックを受信する一連の Lambda 関数を表すデプロイグループを定義できます。たとえば、API Gateway または Amazon EventBridge ルールによって開始される一連の Lambda 関数のデプロイグループを作成できます。その後、CodeDeploy を使用してデプロイを作成できます。CodeDeploy は、Everless 関数の新しいバージョンを指定されたデプロイグループにデプロイします。

 CodeDeploy では、デプロイタイプ、デプロイ戦略、トラフィックシフトルールなど、デプロイの設定を指定するデプロイ設定を定義することもできます。Canary デプロイ戦略を使用して、サーバーレス関数の新しいバージョンを少数のトラフィックにデプロイし、新しいバージョンのヘルスとパフォーマンスをモニタリングしてから、そのバージョンへのトラフィックを増やすことができます。

 サーバーレスに CodeDeploy を使用することで、デプロイプロセスを自動化し、アプリケーションの新しいバージョンのリリースに必要な時間と労力を削減し、サーバーレス関数の安定性と信頼性を向上させることができます。