Por que minha pilha do AWS CloudFormation está presa no estado REVIEW_IN_PROGRESS?
Minha pilha do AWS CloudFormation está presa no estado REVIEW_IN_PROGRESS.
Breve descrição
Uma pilha presa no estado REVIEW_IN_PROGRESS significa que você tentou criá-la usando um conjunto de alterações que não foi executado. Quando você cria um conjunto de alterações para uma nova pilha, o CloudFormation cria um ID de pilha exclusivo, mas sem recursos. Se você não executar o conjunto de alterações, a pilha permanecerá no estado REVIEW_IN_PROGRESS.
Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar usando a versão mais recente da AWS CLI.
Resolução
Conclua as etapas a seguir para executar um conjunto de alterações usando seu método preferido.
Usar o console do AWS CloudFormation
- Abra o console do AWS CloudFormation.
- No painel de navegação, escolha Stacks (Pilhas) e encontre a pilha que está presa.
- Escolha a guia Change Sets (Conjuntos de alterações).
- Selecione o último conjunto de alterações e revise as alterações.
- Escolha Run (Executar) para criar a pilha.
Usar a AWS Command Line Interface (AWS CLI)
1. Execute o seguinte comando list-change-sets para listar todos os conjuntos de alterações:
aws cloudformation list-change-sets --stack-name StackName
2. Identifique o conjunto de alterações e execute o seguinte comando execute-change-set:
aws cloudformation execute-change-set –change-set-name ChangeSetName
Usar o console do AWS CodePipeline
O uso do AWS CodePipeline para implantar no CloudFormation com o modo de ação Create or replace a change set (Criar ou substituir um conjunto de alterações) apenas cria ou substitui o conjunto de alterações. Ele não o executa automaticamente. Para executar o conjunto de alterações, você deve adicionar o modo de ação Execute a change set (Executar um conjunto de alterações).
- Abra o console do AWS CodePipeline.
- Identifique o pipeline que está sendo implantado no CloudFormation.
- Escolha Edit (Editar) e, em seguida, escolha Edit Deploy stage (Editar estágio de implantação).
- Escolha Add Action group (Adicionar grupo de ações).
- Em Action name (Nome da ação), insira o nome da ação.
- Para Action provider (Provedor de ação), selecione AWS CloudFormation.
- Para Action mode (Modo de ação), selecione Execute a change set (Executar um conjunto de alterações).
- Escolha Save (Salvar).
Usar a AWS CLI
1. Execute o seguinte comando get-pipeline para copiar a estrutura do pipeline em um arquivo JSON:
aws codepipeline get-pipeline --name MyPipeline >pipeline.json
2. Adicione CHANGE_SET_EXECUTE como ActionMode no estágio Deploy (Implantar):
{ "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. Execute o seguinte comando update-pipeline para copiar o pipeline em um arquivo JSON:
aws codepipeline update-pipeline --cli-input-json file://pipeline.json
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos