AWS CloudFormation スタックが REVIEW_IN_PROGRESS 状態で停止するのはなぜですか?

所要時間2分
0

AWS CloudFormation スタックが REVIEW_IN_PROGRESS 状態で停止しています。

簡単な説明

REVIEW_IN_PROGRESS で停止しているスタックは、実行されなかった変更セットを使用してスタックを作成しようとしたことを意味します。新しいスタックの変更セットを作成すると、CloudFormation は一意のスタック ID を作成しますが、リソースは作成しません。変更セットを実行しない場合、スタックは REVIEW_IN_PROGRESS 状態のままとなります。

**注:**AWS CLI コマンドの実行中にエラーが発生した場合は、最新バージョンの AWS を使用しているかを確認してください

解決策

希望する方法で変更セットを実行するには、次の手順を実行します。

AWS CloudFormation コンソールの使用

  1. AWS CloudFormation コンソールを開きます。
  2. ナビゲーションペインで [Stacks] を選択し、停止しているスタックを見つけます。
  3. [変更セット] タブを選択します。
  4. 最新の変更セットを選択し、変更を確認します。
  5. [Execute] を選択してスタックを作成します。

AWS コマンドラインインターフェイス (AWS CLI) の使用

  1. 次の list-change-sets コマンドを実行して、すべての変更セットを一覧表示します。

    aws cloudformation list-change-sets --stack-name StackName
  2. 変更セットを特定し、次の execute-change-set コマンドを実行します。

    aws cloudformation execute-change-set --change-set-name ChangeSetName

AWS CodePipeline コンソールの使用

AWS CodePipeline から「変更セットの作成または置換アクションモードでCloudFormation にデプロイした場合、変更セットの作成または置換のみが行われます。これは自動では実行されません。変更セットの実行には、「変更セットを実行」 アクションモードを追加する必要があります。

  1. AWS CodePipeline コンソールを開きます。
  2. CloudFormation にデプロイするパイプラインを特定してください。
  3. [編集] を選択し、[デプロイステージの編集] を選択します。
  4. [アクショングループを追加] を選択します。
  5. [アクション名] に、アクションの名前を入力します。
  6. [アクションプロバイダー] には [AWS CloudFormation] を選択します。
  7. アクションモードに、[変更セットを実行] を選択します。
  8. [保存] を選択します。

AWS CLI を使用する

  1. 次の get-pipeline コマンドを実行して、パイプライン構造を JSON ファイルにコピーします。

    aws codepipeline get-pipeline --name MyPipeline >pipeline.json
  2. デプロイステージのアクションモードとして CHANGE_SET_EXECUTE を追加します。

    {
      "name": "Deploy",
      "blockers": null,
      "actions": [
        {
          "name": "Deploy",
          "actionTypeId": {
            "category": "Deploy",
            "owner": "AWS",
            "provider": "CloudFormation",
            "version": "1"
          },
          "runOrder": 1,
          "configuration": {
            "TemplatePath": "SourceArtifact::ssm.yml",
            "ActionMode": "CHANGE_SET_REPLACE",
            "Capabilities": "CAPABILITY_IAM,CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND",
            "ChangeSetName": "CFNTest-CS",
            "RoleArn": "arn:aws:iam::xxxxx:role/xxx",
            "StackName": "CFNTest"
          },
          "outputArtifacts": [],
          "inputArtifacts": [
            {
              "name": "SourceArtifact"
            }
          ],
          "roleArn": null,
          "region": "us-east-1",
          "namespace": "DeployVariables"
        },
        {
          "name": "ExecuteChangeSet",
          "actionTypeId": {
            "category": "Deploy",
            "owner": "AWS",
            "provider": "CloudFormation",
            "version": "1"
          },
          "runOrder": 2,
          "configuration": {
            "ActionMode": "CHANGE_SET_EXECUTE",
            "ChangeSetName": "CFNTest-CS",
            "StackName": "CFNTest"
          },
          "outputArtifacts": [],
          "inputArtifacts": [
            {
              "name": "SourceArtifact"
            }
          ],
          "roleArn": null,
          "region": "us-east-1",
          "namespace": null
        }
      ]
    }
  3. 次の update-pipeline コマンドを実行して、パイプラインを JSON ファイルにコピーします。

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json
AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ