AWS CodeDeploy
ユーザーガイド (API バージョン 2014-10-06)

CodeDeploy でアプリケーションを作成

アプリケーションとは、デプロイ時に正しいリビジョン、デプロイ設定、およびデプロイグループが参照されるようにするために、CodeDeploy で使用される単なる名前またはコンテナです。CodeDeploy コンソール、AWS CLI、CodeDeploy API、または AWS CloudFormation テンプレートを使用してアプリケーションを作成できます。

コードまたはアプリケーションリビジョンは、デプロイと呼ばれるプロセスを通してインスタンスにインストールされます。CodeDeploy では次の 2 種類のデプロイがサポートされています。

  • インプレイスデプロイ: デプロイグループの各インスタンス上のアプリケーションが停止され、最新のアプリケーションリビジョンがインストールされて、新バージョンのアプリケーションが開始され検証されます。ロードバランサーを使用すれば、各インスタンスがデプロイ中に登録解除され、デプロイ完了後にサービスに復元されるようにすることができます。インプレイスデプロイは、EC2/オンプレミス compute platform を使用するデプロイでのみ使用できます。インプレイスデプロイの詳細については、「インプレースデプロイの概要」を参照してください。

  • Blue/Green デプロイ: デプロイの動作は、使用する compute platform によって異なります。

    • EC2/オンプレミス compute platform の Blue/Green: 以下のステップを使用して、デプロイグループのインスタンス (元の環境) がインスタンスの別のセット (置き換え先環境) に置き換えられます。

      • インスタンスは、置き換え先環境に対してプロビジョニングされます。

      • 最新のアプリケーションリビジョンが置き換え先インスタンスにインストールされます。

      • アプリケーションのテストやシステムの検証などのアクティビティでは、オプションの待機時間が発生します。

      • 置き換え先環境のインスタンスは、Elastic Load Balancing ロードバランサーに登録され、トラフィックは、それらに再ルーティングされます。元の環境のインスタンスは登録解除されます。これらのインスタンスは削除するか、その他の用途のために引き続き実行できます。

      注記

      EC2/オンプレミス compute platform を使用する場合、Blue/Green デプロイは Amazon EC2 インスタンスでのみ動作する点に注意してください。

    • AWS Lambda compute platform の Blue/Green: トラフィックは、現在のサーバーレス環境から、更新された Lambda 関数のバージョンの環境に移行されます。検証テストを実行する Lambda 関数を指定し、トラフィックの移行が発生する方法を選択できます。AWS Lambda compute platform のデプロイはすべて、Blue/Green デプロイです。そのため、デプロイタイプを指定する必要はありません。

    • Amazon ECS compute platform の Blue/Green: トラフィックは、Amazon ECS サービス内のコンテナ化されたアプリケーション元のバージョンのタスクセットから、同じサービスの置き換えタスクセットに移行されます。指定されたロードバランサーリスナーのプロトコルとポートは、本稼働トラフィックを再ルーティングするために使用されます。デプロイ中、テストリスナーは、検証テストの実行中に設定された置換タスクセットにトラフィックを配信するために使用することができます。

    Blue/Green デプロイの詳細については、「Blue/Green デプロイの概要」を参照してください。

CodeDeploy コンソールを使用してアプリケーションを作成する場合は、最初のデプロイグループを同時に設定します。AWS CLI を使用してアプリケーションを作成する場合は、最初のデプロイグループを別のステップで作成します。

AWS アカウントに登録済みのアプリケーションの一覧を表示するには、「CodeDeploy を使用してアプリケーションの詳細を表示する」を参照してください。AWS CloudFormation テンプレートを使用してアプリケーションを作成する方法については、「CodeDeploy リファレンス用の AWS CloudFormation テンプレート」を参照してください。

デプロイタイプはいずれも、どの送信先にも適用されません。以下の表に、3 種類のデプロイ送信先のデプロイを指定するデプロイタイプを示します。

デプロイ送信先 インプレース Blue/Green
Amazon EC2 あり あり
オンプレミス あり いいえ
サーバーレス AWS Lambda 関数 いいえ あり
Amazon ECS アプリケーション いいえ あり