翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeDeploy
AWS CodeDeploy
CodeDeploy は、アプリケーション開発者が既存のインフラストラクチャで実行されているソフトウェアをデプロイおよび更新するのを支援することに焦点を当てた構成要素サービスとして使用することを目的としています。これはend-to-endのアプリケーション管理ソリューションではなく、完全な CI/CD パイプラインの一部として、AWS CodeStar
表 3: AWS CodeDeploy デプロイ機能
| 機能 | 説明 |
|---|---|
| プロビジョニング |
CodeDeploy は既存のコンピューティングリソースでの使用を目的としており、ユーザーに代わってリソースを作成することはありません。CodeDeploy では、アプリケーションコンテンツをデプロイするために、コンピューティングリソースをデプロイグループと呼ばれるコンストラクトに整理する必要があります。 CodeDeploy をコンピューティングリソースにリンクする方法の詳細については、「CodeDeploy でのデプロイグループの操作」を参照してください。 CodeDeploy |
| 構成する |
CodeDeploy は、アプリケーション仕様ファイルを使用してコンピューティングリソースのカスタマイズを定義します。 CodeDeploy でのリソースのカスタマイズの詳細については、「CodeDeploy AppSpec ファイルリファレンス」を参照してください。 CodeDeploy |
| デプロイ |
CodeDeploy が使用されるコンピューティングリソースのタイプに応じて、CodeDeploy はアプリケーションをデプロイするためのさまざまな戦略を提供します。 サポートされるデプロイプロセスのタイプの詳細については、CodeDeploy でのデプロイの使用」を参照してください。 |
| スケール | CodeDeploy は基盤となるアプリケーションインフラストラクチャのスケーリングをサポートしていませんが、デプロイ設定によっては、ブルー/グリーンデプロイをサポートする追加のリソースを作成する場合があります。 |
| モニタリング |
CodeDeploy はデプロイの成功または失敗をモニタリングでき、すべてのデプロイの履歴を提供しますが、パフォーマンスやアプリケーションレベルのメトリクスは提供しません。 CodeDeploy が提供するモニタリング機能のタイプの詳細については、「CodeDeploy でのデプロイのモニタリング」を参照してください。 CodeDeploy |
次の図は、完全な CI/CD ソリューションの一部として CodeDeploy の一般的なユースケースを示しています。この例では、CodeDeploy は追加の AWS 開発者ツール、つまり AWS CodePipeline (CI/CD パイプラインを自動化)、 AWS CodeBuild
AWS CodeDeploy ユースケース
AWS CodeDeploy の AWS Lambda
AWS CodeDeploy for AWS Lambda を使用すると、サーバーレスデプロイを自動化し、アプリケーションリリースをより詳細に制御および可視化できます。CodeDeploy を使用して、サーバーレス関数の新しいバージョンを少数のユーザーまたはトラフィックにデプロイし、新しいバージョンに自信が持てるにつれてトラフィックを徐々に増やすことができます。CodeDeploy を使用すると、同じイベントソースからトラフィックを受信する一連の Lambda 関数を表すデプロイグループを定義できます。たとえば、API Gateway または Amazon EventBridge ルールによって開始される一連の Lambda 関数のデプロイグループを作成できます。その後、CodeDeploy を使用してデプロイを作成できます。CodeDeploy は、Everless 関数の新しいバージョンを指定されたデプロイグループにデプロイします。
CodeDeploy では、デプロイタイプ、デプロイ戦略、トラフィックシフトルールなど、デプロイの設定を指定するデプロイ設定を定義することもできます。Canary デプロイ戦略を使用して、サーバーレス関数の新しいバージョンを少数のトラフィックにデプロイし、新しいバージョンのヘルスとパフォーマンスをモニタリングしてから、そのバージョンへのトラフィックを増やすことができます。
サーバーレスに CodeDeploy を使用することで、デプロイプロセスを自動化し、アプリケーションの新しいバージョンのリリースに必要な時間と労力を削減し、サーバーレス関数の安定性と信頼性を向上させることができます。