AWS Lambda コンピューティングプラットフォームのデプロイ - AWS CodeDeploy

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

AWS Lambda コンピューティングプラットフォームのデプロイ

このトピックでは、AWS LambdaCodeDeploy コンピューティングプラットフォームを使用するデプロイのコンポーネントおよびワークフローについて説明します。

AWS Lambda コンピューティングプラットフォームのデプロイワークフロー

次の図は、新規および更新された AWS Lambda 関数のデプロイの主要なステップを示しています。

ステップには以下が含まれます。

  1. アプリケーションを作成し、デプロイするアプリケーションリビジョンを一意に識別する名前を付けます。Lambda 関数をデプロイするには、AWS Lambda コンピューティングプラットフォームは、アプリケーションを作成するときに使用します。CodeDeployこの名前を使用して、デプロイグループ、デプロイ設定、アプリケーションリビジョンなど、正しいデプロイコンポーネントを参照していることを確認します。詳細については、「でアプリケーションを作成する CodeDeploy」を参照してください。

  2. デプロイグループを設定するには、デプロイグループの名前を指定します。

  3. 元の AWS Lambda 関数バージョンから新規の Lambda 関数バージョンにトラフィックを移行する方法を指定するには、デプロイ設定を選択します。詳細については、「View Deployment Configuration Details」を参照してください。

  4. アプリケーション仕様ファイル (AppSpecファイル) を Amazon S3 にアップロードします。AppSpecファイルは、デプロイを検証するために使用される Lambda 関数のバージョンと Lambda 関数を指定します。AppSpecファイルを作成しない場合は、YAML または JSON を使用して、コンソールで直接 Lambda 関数バージョンと Lambda デプロイ検証関数を指定できます。詳細については、「CodeDeploy のアプリケーションリビジョンの操作」を参照してください。

  5. デプロイグループにアプリケーションリビジョンをデプロイします。AWS CodeDeploy は、指定した Lambda 関数リビジョンをデプロイします。トラフィックを Lambda 関数リビジョンに移行するには、AppSpecアプリケーション作成時に選択したデプロイファイルを使用します。詳細については、「でデプロイを作成 CodeDeploy」を参照してください。

  6. デプロイの結果を確認します。詳細については、「CodeDeploy でのデプロイの」を参照してください。

アプリケーションリビジョンのアップロード

Amazon S3AppSpec にファイルを配置するか、コンソールまたはに直接入力しますAWS CLI。詳細については、「Application Specification Files」を参照してください。

アプリケーションとデプロイグループの作成

AWSLambdaCodeDeploy コンピューティングプラットフォーム上のデプロイグループは 1AppSpec つ以上のファイルのコレクションを識別します。AppSpecファイルごとに 1 つの Lambda 関数バージョンをデプロイできます。デプロイグループは、今後のデプロイのために、アラームおよびロールバックの設定などの設定オプションのセットを定義します。

アプリケーションリビジョンのデプロイ

これで、AppSpecファイルで指定した関数リビジョンをデプロイグループにデプロイする準備ができました。CodeDeployコンソールまたは create-deployment コマンドを使用できます。デプロイを制御するために指定できるパラメータ (リビジョン、デプロイグループ、デプロイ設定など) があります。

アプリケーションの更新

アプリケーションを更新し、CodeDeployコンソールを使用するか、create-deployment コマンドを呼び出してリビジョンをプッシュできます。

停止、失敗したデプロイ

デプロイを停止するには、CodeDeployコンソールまたは stop-deployment コマンドを使用できます。デプロイを停止しようとする場合、次の 3 つのうち 1 つのことが発生します。

  • デプロイは停止し、オペレーションは成功というステータスを返す。この場合、停止したデプロイに対してそれ以上デプロイライフサイクルイベントは実行されません。

  • デプロイは即時に停止せず、オペレーションは保留中というステータスを返す。この場合、一部のデプロイライフサイクルイベントは、デプロイグループでまだ実行中である可能性があります。保留中のオペレーションが完了すると、デプロイを停止するためのそれ以降の呼び出しは、成功というステータスを返します。

  • デプロイは停止できず、オペレーションはエラーを返す。詳細については、AWS CodeDeploy API リファレンスの「よくあるエラー」を参照してくださいErrorInformation

失敗したデプロイでは、停止されたデプロイのように、一部のデプロイライフサイクルイベントが実行済みになる場合があります。デプロイが失敗した理由を調べるには、CodeDeploy コンソールを使用するか、失敗したデプロイのログファイルデータを分析することができます。詳細については、アプリケーションリビジョンとログファイルのクリーンアップおよびCodeDeployEC2/オンプレミスデプロイのログデータの表示を参照してください。

デプロイと再デプロイのロールバック

CodeDeploy は新しいデプロイとして、以前にデプロイされたリビジョンを再デプロイすることによって、ロールバックを実装します。

デプロイが失敗した、アラームのモニタリングしきい値に一致したなど、特定の条件が満たされた場合に、自動的にデプロイをロールバックするようグループデプロイを設定できます。個別のデプロイで、デプロイグループに指定されたロールバック設定をオーバーライドすることもできます。

以前のデプロイされたバージョンを手動で再デプロイして、失敗したデプロイをロールバックすることもできます。

いずれの場合でも、新しいデプロイまたはロールバックされたデプロイには独自のデプロイ ID が割り当てられます。CodeDeploy で表示できるデプロイの一覧には、どれが自動デプロイの結果であるかが示されます。

詳細については、「CodeDeploy を使用してデプロイを再デプロイしてロールバックする」を参照してください。