ロールバックの設定 - Amazon CodeCatalyst

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「CodeCatalyst から移行する方法」を参照してください。

ロールバックの設定

デフォルトでは、[CloudFormation スタックをデプロイ] アクションが失敗すると、CloudFormation がスタックを既知の最後の安定状態にロールバックします。アクションが失敗したときだけでなく、指定された Amazon CloudWatch アラームが発生したときにもロールバックが発生するように動作を変更できます。CloudWatch アラームの使用の詳細については、Amazon CloudWatch ユーザーガイドの「Amazon CloudWatch アラームの使用」を参照してください。

デフォルトの動作を変更して、アクションが失敗しても CloudFormation がスタックをロールバックしないようにすることもできます。

ロールバックを設定するには、以下の手順に従います。

注記

ロールバックを手動で開始することはできません。

Visual
開始する前に
  1. 機能している [CloudFormation スタックをデプロイ] アクションを含む [ワークフロー] があることを確認してください。詳細については、「CloudFormation スタックのデプロイ」を参照してください。

  2. [CloudFormation スタックをデプロイ] アクションの[スタックロール - オプション] フィールドで指定されたロールには、[CloudWatchFullAccess] アクセス許可を必ず含めてください。必要なアクセス許可を持つロールの作成の詳細については、「ステップ 2: AWS ロールを作成する」を参照してください。

「CloudFormation スタックをデプロイ」アクションのロールバックアラームを設定するには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで [CI/CD][ワークフロー] の順に選択します。

  4. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  5. [編集] を選択します。

  6. [ビジュアル] を選択します。

  7. [CloudFormation スタックのデプロイ] アクションを選択します。

  8. 詳細ペインで、[設定] を選択します。

  9. 下部で、[アドバンスト] を展開します。

  10. [モニターアラーム ARN] で、[アラームを追加] を選択します。

  11. 次のフィールドに情報を入力します。

    • アラーム ARN

      ロールバックトリガーを追加するには、Amazon CloudWatch アラームの Amazon リソースネーム (ARN) を指定します。例えば、arn:aws:cloudwatch::123456789012:alarm/MyAlarm。最大 5 個のロールバックトリガーを持つことができます。

      注記

      CloudWatch アラーム ARN を指定する場合は、アクションが CloudWatch にアクセスできるようにする追加のアクセス許可も設定する必要があります。詳細については、「ロールバックの設定」を参照してください。

    • モニタリングタイム

      CloudFormation が指定されたアラームをモニタリングする 0 ~ 180 分の時間を指定します。モニタリングは、すべてのスタックリソースがデプロイされた後に開始します。アラームが指定されたモニタリング時間内に発生した場合、デプロイは失敗し、CloudFormation はスタックオペレーション全体をロールバックします。

      デフォルト: 0。CloudFormation は、スタックリソースがデプロイされている間だけアラームをモニタリングします。その後はモニタリングしません。

YAML
「CloudFormation スタックをデプロイ」アクションのロールバックアラームを設定するには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで [CI/CD][ワークフロー] の順に選択します。

  4. [CloudFormation スタックをデプロイ] アクションを含むワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  5. [編集] を選択します。

  6. [YAML] を選択します。

  7. ロールバックトリガーを追加するには、YAML コードに monitor-alarm-arns および monitor-timeout-in-minutes プロパティを追加します。各プロパティの説明については、「「CloudFormation スタックをデプロイ」アクション YAML」を参照してください。

  8. [CloudFormation スタックをデプロイ] アクションの role-arn プロパティで指定されたロールには、必ず [CloudWatchFullAccess] アクセス許可を含めてください。必要なアクセス許可を持つロールの作成の詳細については、「ステップ 2: AWS ロールを作成する」を参照してください。

Visual
「CloudFormation スタックをデプロイ」アクションのロールバックを無効にするには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで [CI/CD][ワークフロー] の順に選択します。

  4. [CloudFormation スタックをデプロイ] アクションを含むワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  5. [編集] を選択します。

  6. [ビジュアル] を選択します。

  7. [CloudFormation スタックのデプロイ] アクションを選択します。

  8. 詳細ペインで、[設定] を選択します。

  9. 下部で、[アドバンスト] を展開します。

  10. [ロールバックを無効化] をオンにします。

YAML
「CloudFormation スタックをデプロイ」アクションのロールバックを無効にするには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. プロジェクトを選択します。

  3. ナビゲーションペインで [CI/CD][ワークフロー] の順に選択します。

  4. [CloudFormation スタックをデプロイ] アクションを含むワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  5. [編集] を選択します。

  6. [YAML] を選択します。

  7. ロールバックを停止するには、YAML コードに disable-rollback: 1 プロパティを追加します。この動作の説明については、「「CloudFormation スタックをデプロイ」アクション YAML」を参照してください。