View a markdown version of this page

cdk orphan - AWS Kit de desenvolvimento em nuvem (AWS CDK) v2

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

cdk orphan

Importante

O comando cdk orphan é uma versão de teste e está sujeita a alterações.

É necessário fornecer a opção --unstable=orphan ao usar esse comando.

Separe com segurança um ou mais recursos de uma AWS CloudFormation pilha sem excluí-los. Isso é útil quando você precisa migrar um recurso de um tipo de construção para outro (por exemplo, migrar um DynamoDB paraTableV2) sem tempo de inatividade ou perda de Table dados.

Quando você altera um tipo de construção em seu código CDK, CloudFormation interpreta isso como uma substituição de recurso, que exclui o recurso existente e cria um novo. Para recursos com estado, como bancos de dados e armazenamento, isso causa perda de dados. O cdk orphan comando resolve isso separando primeiro o recurso da pilha, para que você possa reimportá-lo sob o novo tipo de construção usando. cdk import

Com o cdk orphan, você pode:

  • Separe recursos com estado de uma pilha antes de alterar o tipo de construção.

  • Migre entre versões de construção (por exemplo, do Table DynamoDB TableV2 para) sem perda de dados.

  • Altere o tipo de CloudFormation recurso que apóia uma construção sem substituir o recurso físico.

O comando orphan executa três implantações: CloudFormation

  1. Resolver referências: resolve referências entre recursos (Ref,Fn::GetAtt,Fn::Sub) aos recursos órfãos, para que outros recursos na pilha que dependem deles continuem funcionando após a remoção dos recursos órfãos.

  2. Desacoplar: substitui todas as referências de recursos cruzados por seus valores literais resolvidos, define DeletionPolicy e remove DependsOn entradas para isolar os recursos do resto da pilha. Retain

  3. Remover: remove os recursos do CloudFormation modelo. Os recursos físicos continuam existindo em sua AWS conta.

Depois de ficar órfão, atualize seu código CDK para usar o novo tipo de construção e use cdk import para trazer o recurso de volta ao gerenciamento.

Para tornar um recurso órfão e reimportá-lo sob um novo tipo de construção
  1. Implante sua pilha e verifique se o recurso existe.

  2. Execute cdk orphan com o caminho de construção do recurso:

    $ cdk orphan MyStack/MyTable --unstable=orphan
  3. O comando gera um mapeamento de recursos. Salve isso para a etapa de importação.

  4. Atualize seu código CDK para usar o novo tipo de construção (por exemplo, alterar Table paraTableV2).

  5. Execute cdk import com o mapeamento de recursos da saída órfã:

    $ cdk import MyStack --resource-mapping-inline '{"MyTable":{"TableName":"my-table"}}'
  6. Após a conclusão da importação, cdk import detecta o desvio e solicita que você implante. Aceite a solicitação para reconciliar a pilha.

No momento, esse recurso tem as seguintes limitações:

  • Todos os caminhos de construção devem fazer referência à mesma pilha. Não há suporte para orfanar recursos em várias pilhas em um único comando.

  • Não há suporte para padrões curinga. Os caminhos são combinados como prefixos exatos.

  • Esse comando requer a versão 32 do modelo de bootstrap, que inclui as permissões necessárias do IAM para a função de implantação.

Usage

$ cdk orphan <PATHS> <options>

Argumentos

CAMINHOS

Um ou mais caminhos de construção para órfão, no formato. StackName/ConstructPath Por exemplo, .MyStack/MyTable Vários caminhos podem ser fornecidos para tornar órfãos vários recursos em um único comando.

Todos os caminhos devem fazer referência à mesma pilha.

Tipo: string

Obrigatório: Sim

Opções

Para obter uma lista das opções globais que funcionam com todos os comandos da CLI do CDK, consulte Opções globais.

--help, -h <BOOLEAN>

Mostrar as informações de referência do comando cdk orphan.

Exemplos

Órfão: um único recurso

$ cdk orphan MyStack/MyTable --unstable=orphan

Vários recursos órfãos

$ cdk orphan MyStack/MyTable MyStack/MyBucket --unstable=orphan

Ignorar solicitação de confirmação

$ cdk orphan MyStack/MyTable --unstable=orphan --yes