デプロイグループの詳細オプションの設定 - AWS CodeDeploy

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

デプロイグループの詳細オプションの設定

デプロイグループを作成または更新する場合は、そのデプロイグループのデプロイをより詳細に制御および監視できるように、数多くのオプションを設定できます。

このページの情報を使用して、次のトピックで、デプロイグループを使用するときに詳細オプションを設定できます。

Amazon SNS 通知トリガー: CodeDeploy デプロイグループにトリガーを追加すると、そのデプロイグループでのデプロイに関連するイベントに関する通知を受信できます。これらの通知は、トリガーのアクションの一部にした Amazon SNS トピックをサブスクライブする受信者に送信されます。

このトリガーが指す Amazon SNS トピックを既に設定している必要があり、CodeDeploy には、このデプロイグループからトピックに発行するためのアクセス許可が必要です。これらのセットアップ手順をまだ完了していない場合は、後でデプロイグループにトリガーを追加できます。

このアプリケーションのデプロイグループのデプロイイベントに関する通知を受信するトリガーを今すぐ作成する場合は、[Create trigger] を選択します。

Amazon EC2 インスタンスにデプロイする場合、インスタンスの通知を作成して、関連する通知を受け取ることができます。

詳細については、「Monitoring Deployments with Amazon SNS Event Notifications」を参照してください。

Amazon CloudWatch アラーム: 指定した期間にわたって単一のメトリクスを監視し、複数の期間にわたり所定の閾値に対するメトリクスの相対値に基づいて 1 つまたは複数のアクションを実行する CloudWatch アラームを作成できます。Amazon EC2 デプロイの場合は、CodeDeploy オペレーションで使用しているインスタンスまたは Amazon EC2 Auto Scaling グループに対してアラームを作成できます。AWS Lambda デプロイおよび Amazon ECS デプロイの場合は、Lambda 関数でのエラーに対してアラームを作成できます。

Amazon CloudWatch アラームが、メトリクスが定義された閾値を下回ったり上回ったりすることを検出すると、デプロイが停止するように設定することができます。

デプロイグループに追加する前に、CloudWatch でアラームを作成しておく必要があります。

  1. デプロイグループにアラームモニタリングを追加するには、[アラーム]、[アラームの追加] の順に選択します。

  2. このデプロイをモニタリングするためにセットアップ済みの CloudWatch アラームの名前を入力します。

    CloudWatch で作成されたのとまったく同じ CloudWatch アラームを入力する必要があります。アラームのリストを表示するには、https://console.aws.amazon.com/cloudwatch/ で CloudWatch コンソールを開いて、[ALARM] を選択します。

追加のオプション:

  • 追加したアラームを想定せずにデプロイを続行する場合は、[Ignore alarm configuration] を選択します。

    この選択は、後で同じアラームを再び追加しなくても、デプロイグループのアラームの監視を一時的に非アクティブ化する場合に便利です。

  • (オプション) CodeDeploy が Amazon CloudWatch からアラームステータスを取得できないときでもデプロイを続行する場合は、[アラームの状態が利用できない場合でも、デプロイを続行する] を選択してください。

    注記

    このオプションは、CodeDeploy API での AlarmConfiguration オブジェクトの ignorePollAlarmFailure に相当します。

詳細については、「CodeDeploy での CloudWatch アラームを使用したデプロイのモニタリング」を参照してください。

自動ロールバック: デプロイが失敗した場合、または監視しきい値が満たされた場合に、自動的にロールバックするようにデプロイグループまたはデプロイを設定できます。この場合、アプリケーションリビジョンの最後の既知の正常なバージョンがデプロイされます。コンソールを使用してアプリケーションを作成する場合、デプロイグループを作成する場合、またはデプロイグループを更新する場合、デプロイグループのオプション設定を設定できます。新しいデプロイを作成するとき、デプロイグループに指定された自動ロールバック設定をオーバーライドすることもできます。

  • 次のいずれかまたは両方を選択して何か問題が発生した場合、デプロイを有効化して最新の既知の正常なリビジョンにロールバックすることができます。

    • デプロイが失敗したときにロールバックする。CodeDeploy は、新しいデプロイとして、最後の既知の正常なリビジョンを再デプロイします。

    • アラームのしきい値が一致したときにロールバックする。前のステップでこのアプリケーションにアラームを追加した場合、CodeDeploy は、指定された 1 つ以上のアラームがアクティブ化されたときに、最後の既知の正常なリビジョンを再デプロイします。

    注記

    ロールバック設定を一時的に無視するには、[Disable rollbacks] を選択します。この選択は、後で再び同じ設定をセットアップせずに自動ロールバックを一時的に無効にする場合に便利です。

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

古いインスタンスの自動更新: 特定の状況下では、CodeDeploy がアプリケーションの古いリビジョンを Amazon EC2 インスタンスにデプロイすることがあります。たとえば、CodeDeploy デプロイの進行中に EC2 インスタンスが Auto Scaling グループ (ASG) で起動された場合、それらのインスタンスには、最新ではなく古いリビジョンのアプリケーションが表示されます。これらのインスタンスを最新の状態にするために、CodeDeploy は自動的に最初のインスタンスの直後にフォローオンのデプロイを開始し、古いインスタンスを更新します。このデフォルトの動作を変更して、古くなった EC2 インスタンスを古いリビジョンのままにしておきたい場合は、CodeDeploy API または AWS Command Line Interface を使って変更することができます (CLI)。

API を使用して古くなったインスタンスの自動更新を設定するには、outdatedInstancesStrategy または UpdateDeploymentGroup のアクションに CreateDeploymentGroup リクエストパラメータを含めます。詳細については、「AWS CodeDeploy API リファレンス」を参照してください。

AWS CLI による自動更新を設定するには、以下のいずれかのコマンドを使用します。

aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

または…

aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

... ここで、引数 は、デプロイに必要な引数に置き換えられ、UPDATE|IGNORE は自動更新を有効にする場合は UPDATE、無効にする場合は IGNORE に置き換わります。

例:

aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE

これらの AWS CLI コマンドの詳細については、「AWS CLI コマンドリファレンス」を参照してください。