AWS CloudFormationStackSets do - AWS CodePipeline

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á.

AWS CloudFormationStackSets do

CodePipeline oferece a capacidade de executarAWS CloudFormationOperações StackSets como parte de seu processo de CI/CD. Você usa um conjunto de pilha para criar pilhas noAWScontas emAWSRegiões usando um únicoAWS CloudFormationTemplate. Todos os recursos incluídos em cada pilha são definidos pelo conjunto de pilhasAWS CloudFormationTemplate. Ao criar o conjunto de pilhas, você especifica o modelo a ser usado, bem como os parâmetros e recursos exigidos pelo modelo.

Para obter mais informações sobre os conceitos para oAWS CloudFormationStackSets, consulteConceitos do StackSetsnoAWSGuia CloudFormation usuário do.

Você integra seu pipeline comAWS CloudFormationStackSets temagregue dois tipos de ação distintos que você usa juntos:

  • OCloudFormationStackSetcria ou atualiza um conjunto de pilhasInstâncias da pilha do modelo armazenado no local de origem do pipeline. Cada vez que um conjunto de pilha é criado ou atualizado, ele inicia uma implantação dessas alterações em instâncias especificadas. No console do, você pode selecionar aStack do CloudFormationquando você cria ou edita seu pipeline.

  • OCloudFormationStackInstancesimplanta alterações a partir doCloudFormationStackSetpara instâncias especificadas, cria novasPilhainstâncias e define substituições de parâmetros para instâncias especificadas. No console do, você pode selecionar aInstâncias do CloudFormationProvedor de ação quando você edita um pipeline existente.

nota

Esse recurso não está disponível na região Ásia-Pacífico (Hong Kong) ou Europa (Milão). Para usar outras ações disponíveis nessa Região, consulteIntegrações de produtos e serviços ao CodePipeline.

Você pode usar essas ações para implantar paraAWScontas ou destinoAWSIDs da unidade organizacional das Organizations

nota

Para implantar no destinoAWSContas de Organizations ou IDs de unidade organizacional e usar o modelo de permissões gerenciadas pelo serviço, você deve habilitar o acesso confiável entreAWSO CloudFormation StackSets eAWSOrganizations. Para obter mais informações, consultePermitir acesso confiável com oAWSStacksets do CloudFormation.

ComoAWS CloudFormationAs ações do StackSets do

ACloudFormationStackSetcria ou atualiza recursos dependendo se a ação está sendo executada pela primeira vez.

OCloudFormationStackSetAção docriaouAtualizações doo conjunto de pilha e implanta essas alterações em instâncias especificadas.

nota

Se você usar essa ação para fazer uma atualização que inclua a adição de instâncias de pilha, as novas instâncias serão implantadas primeiro e a atualização será concluída por último. As novas instâncias recebem primeiro a versão antiga e, em seguida, a atualização é aplicada a todas as instâncias.

  • Criar: Quando nenhuma instância é especificada e o conjunto de pilha não existe, oCloudFormationStackSetcria o conjunto de pilha sem criar instâncias.

  • Atualização: Quando oCloudFormationStackSetfor executada para um conjunto de pilha que já foi criado, a ação atualiza o conjunto de pilha. Se nenhuma instância for especificada e o conjunto de pilha já existir, todas as instâncias serão atualizadas. Se esta ação for usada para atualizarEspecificidades, todas as instâncias restantes são movidas para um status OUTDATAD.

    Você pode usar oCloudFormationStackSetAção para atualizar o conjunto de pilhas das seguintes maneiras.

    • Atualize o modelo em algumas ou todas as instâncias.

    • Atualize parâmetros em algumas ou todas as instâncias.

    • Atualizar a função de execução para oConjunto de pilhas(Isso deve corresponder aoexecuçãoré especificado na função Administrador).

    • Altere opermissãos Model (somente se nenhuma instância tiver sido criada).

    • Enable/DisableAutoDeploymentse a permissão de conjunto de pilhasMODELService Managed.

    • Atualizar a função Administrador.

    • Atualizar a descrição no conjunto de pilhas.

    • Adicione destinos de implantação à atualização do conjunto de pilha para criar novas instâncias de pilha.

OCloudFormationStackInstancescria novas instâncias de pilha ou atualiza instâncias de pilha desatualizadas. Uma instância fica desatualizada quando um conjunto de pilha é atualizado, mas nem todas as instâncias dentro dele são atualizadas.

  • Criar: Se a pilha já existir, oCloudFormationStackInstancessomente atualiza instâncias e não cria instâncias de pilha.

  • Atualização: Depois doCloudFormationStackSetfor executada, se o modelo ou os parâmetros tiverem sido atualizados em apenas algumas instâncias, o restante será marcadoOUTDATED. Em fases posteriores do pipeline,CloudFormationStackInstancesatualiza o resto das instâncias na pilha definida em ondas para que todas as instâncias sejam marcadasCURRENT. Essa ação também pode ser usada para adicionar instâncias adicionais ou substituir parâmetros em instâncias novas ou existentes.

Como parte de uma atualização, oCloudFormationStackSeteCloudFormationStackInstancespodem especificar novos destinos de implantação, o que cria novas instâncias de pilha.

Como parte de uma atualização, oCloudFormationStackSeteCloudFormationStackInstancesnão excluem conjuntos de pilha, instâncias ou recursos. Quando a ação atualiza uma pilha, mas não especifica todas as instâncias a serem atualizadas, as instâncias que não foram especificadas para atualização são removidas da atualização e definidas para um status deOUTDATED.

Durante uma implantação, as instâncias de pilha também podem mostrar um status deOUTDATEDse a implantação para instâncias falhou.

Como estruturar ações do StackSets em um pipeline

Como prática recomendada, você deve construir seu pipeline para que o conjunto de pilha seja criado e, inicialmente, seja implantado em um subconjunto ou em uma única instância. Depois de testar sua implantação e exibir o conjunto de pilha gerado, adicione oCloudFormationStackInstancespara que as instâncias restantes sejam criadas e atualizadas.

Use o console ou a CLI para criar a estrutura de pipeline recomendada da seguinte maneira:

  1. Criar um pipeline com uma ação de origem (obrigatória) e oCloudFormationStackSetcomo a ação de implantação. Execute seu pipeline.

  2. Quando o pipeline é executado pela primeira vez, oCloudFormationStackSetAção docriaO conjunto de pilhase pelo menos uma instância inicial. Verifique a criação do conjunto de pilhas e revise a implantação na instância inicial. Por exemplo, para a criação de conjunto de pilha inicial para conta A, em queus-east-1é a Região especificada, a instância de pilha é criada com o conjunto de pilha:

    Instância da pilha Região Status
    StackInstanceID-1 us-east-1 ATUAL
  3. Edite seu pipeline para adicionarCloudFormationStackInstancescomo a segunda ação de implantação para criar/atualizar instâncias de pilha para os destinos que você designar. Por exemplo, para criação de instância de pilha para contaAccount-Aonde ous-east-2eeu-central-1As regiões são especificadas, as instâncias de pilha restantes são criadas e a instância inicial permanece atualizada da seguinte forma:

    Instância da pilha Região Status
    StackInstanceID-1 us-east-1 CURRENT
    StackInstanceID-2 us-east-2 CURRENT
    StackInstanceID-3 eu-central-1 CURRENT
  4. Execute seu pipeline conforme necessário para atualizar seu conjunto de pilhas e atualizar ou criar instâncias de pilha.

Quando você inicia uma atualização de pilha em que você removeu destinos de implantação da configuração de ação, as instâncias de pilha que não foram designadas para atualização são removidas da implantação e passam para um status OUTDATED. Por exemplo, para atualização de instância de pilha para contaAccount-Aonde ous-east-2Região é removida da configuração de ação, as instâncias de pilha restantes são criadas e a instância removida é definida como OUTDATAD da seguinte forma:

Instância da pilha Região Status
StackInstanceID-1 us-east-1 CURRENT
StackInstanceID-2 us-east-2 DESATUALIZADO
StackInstanceID-3 eu-central-1 CURRENT

Para obter mais informações sobre as melhores práticas para implantação de conjuntos de pilhas,consultePráticas recomendadasPara StackSets doAWSGuia CloudFormation usuário do.

A ação CloudFormationStackSet

Essa ação cria ou atualiza um conjunto de pilhas a partir do modelo armazenado no local de origem do pipeline.

Depois de definir um conjunto de pilhas, você pode criar, atualizar ou excluir pilhas nas contas de destino eRegions especificados nos parâmetros de configuração. Ao criar, atualizar e excluir pilhas, você pode especificar outras preferências, como a ordem das regiões para execução das operações, a porcentagem de tolerância a falhas para interrupção das operações de pilhas e a quantidade de contas nas quais as operações são executadas em pilhas simultaneamente.

Um conjunto de pilhas é um recurso regional. Se você criar um conjunto de pilhas em umAWSRegião, não é possível acessá-la de outras regiões.

Quando essa ação é usada como uma ação de atualização para o conjunto de pilha, as atualizações para a pilha não são permitidas sem uma implantação para pelo menos umPilhainstância.

Tipo de ação

  • Categoria: Deploy

  • Proprietário: AWS

  • Fornecedor: CloudFormationStackSet

  • Versão: 1

Parâmetros de configuração

StackSetName

: obrigatório Sim

O nome a ser associado ao conjunto de pilhas. Esse nome deve ser exclusivo na região onde foi criado.

O nome só pode conter caracteres alfanuméricos e hífen. Ele deve começar com um caractere alfabético e ter 128 caracteres ou menos.

Descrição

: obrigatório Não

Uma descrição do conjunto de pilhas. Você pode usar isso para descrever a finalidade do conjunto de pilhas ou outras informações relevantes.

TemplatePath

: obrigatório Sim

A localização do modelo que define os recursos no conjunto de pilhas. Isso deve apontar para um modelo com um tamanho máximo de 460.800 bytes.

Digite o caminho para o nome do artefato de origem e o arquivo de modelo no formato"InputArtifactName::TemplateFileName", conforme mostrado no exemplo a seguir.

SourceArtifact::template.txt
Parâmetros

: obrigatório Não

Uma lista de parâmetros de modelo para o conjunto de pilhas que são atualizados durante uma implantação.

Você pode fornecer parâmetros como uma lista literal ou um caminho de arquivo:

  • Você pode inserir parâmetros no seguinte formato de sintaxe abreviado: ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string. Para obter mais informações sobre esses tipos de dados, consulteTipos de dados de parâmetro de modelo.

    O exemplo a seguir mostra um parâmetro chamadoBucketNamecom o valor meu-bucket.

    ParameterKey=BucketName,ParameterValue=my-bucket

    O exemplo a seguir mostra uma entrada com vários parâmetros:

    ParameterKey=BucketName,ParameterValue=my-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true",
  • Você pode inserir a localização do arquivo que contém uma lista de substituições de parâmetros de modelo inseridas no formato"InputArtifactName::ParametersFileName", conforme mostrado no exemplo a seguir.

    SourceArtifact::parameters.txt

    O exemplo a seguir mostra o conteúdo de arquivos para oparameters.txt.

    [ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
Capacidades

: obrigatório Não

Indica que o modelo pode criar e atualizar recursos, dependendo dos tipos de recursos no modelo.

Você deve usar essa propriedade se tiver recursos do IAM em seu modelo de pilha ou criar uma pilha diretamente de um modelo que contém macros. Para oAWS CloudFormationPara operar com êxito dessa maneira, você deve usar um dos seguintes recursos:

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

Você pode especificar mais de um recurso usando uma vírgula e sem espaços entre os recursos. O exemplo doExemploCloudFormationStackSetConfiguração da açãomostra uma entrada com vários recursos.

PermissionModel

: obrigatório Não

Determina como as funções do IAM são criadas e gerenciadas. Se o campo não for especificado, o padrão será usado. Para obter mais informações, consulte Modelos de permissões para operações de conjuntos de pilhas.

Os valores válidos são:

  • SELF_MANAGED (default): Você deve criar funções de administrador e de execução para implantação em contas de destino.

  • SERVICE_MANAGED:AWS CloudFormationO StackSets cria automaticamente as funções do IAM exigidas para implantação em contas gerenciadas peloAWSOrganizations. Isso requer que uma conta seja membro de uma organização.

nota

Esse parâmetro só pode ser alterado quando não houver instâncias de pilha no conjunto de pilha.

AdministrationRoleARN
nota

ComoAWS CloudFormationO StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilha.

: obrigatório Não

nota

Esse parâmetro é opcional para o modelo de permissões SELF_MANAGENED e não é usado para o modelo de permissões SERVICE_MANAGEN.

O ARN da função do IAM na conta de administrador usada para executar operações de conjunto de pilhas.

O nome pode conter caracteres alfanuméricos, qualquer um dos seguintes caracteres: _+=, .@- e sem espaços. O nome não diferencia maiúsculas de minúsculas Esse nome de função deve ter um tamanho mínimo de 20 caracteres e um comprimento máximo de 2048 caracteres. Os nomes de função devem ser exclusivos na conta. O nome da função especificado aqui deve ser um nome de função existente. Se você não especificar o nome da função, ele será definido como AWSCloudFormationStackSetAdministrationRole. Se você especificar ServiceManaged, não deverá definir um nome de função.

ExecutionRoleName
nota

ComoAWS CloudFormationO StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilha.

: obrigatório Não

nota

Esse parâmetro é opcional para o modelo de permissões SELF_MANAGENED e não é usado para o modelo de permissões SERVICE_MANAGEN.

O nome da função do IAM nas contas de destino usadas para executar operações de conjunto de pilhas. O nome pode conter caracteres alfanuméricos, qualquer um dos seguintes caracteres: _+=, .@- e sem espaços. O nome não diferencia maiúsculas de minúsculas Esse nome de função deve ter um tamanho mínimo de 1 caractere e máximo de 64 caracteres. Os nomes de função devem ser exclusivos na conta. O nome da função especificado aqui deve ser um nome de função existente. Não especifique essa função se você estiver usando funções de execução personalizadas. Se você não especificar o nome da função, ele será definido comoAWSCloudFormationStackSetExecutionRole. Se você definir Service_Managed como true, não deverá definir um nome de função.

OrganizationSautoDeployment

: obrigatório Não

nota

Esse parâmetro é opcional para o modelo de permissões SERVICE_MANAGENED e não é usado para o modelo de permissões SELF_MANAGEN.

Descreve seAWS CloudFormationO StackSets é implantado automaticamente noAWSContas de Organizations adicionadas a uma organização de destino ou unidade organizacional (OU). SeOrganizationsAutoDeploymentfor especificado, não especifiqueDeploymentTargetseRegions.

nota

Se nenhuma entrada for fornecida paraOrganizationsAutoDeployment, então o valor padrão éDisabled.

Os valores válidos são:

  • Enabled. : obrigatório Não.

    O StackSets implanta automaticamente instâncias de pilha adicionais noAWSContas de Organizations adicionadas a uma organização ou unidade organizacional (UO) de destino nas regiões especificadas. Se uma conta for removida de uma organização ou de uma UO de destino, oAWS CloudFormationO StackSets excluirá instâncias de pilha da conta nas regiões especificadas.

  • Disabled. : obrigatório Não.

    O StackSets não implanta automaticamenteinstâncias de pilha adicionais paraAWSContas de Organizations adicionadas a uma organização ou unidade organizacional (UO) de destino nas regiões especificadas.

  • EnabledWithStackRetention. : obrigatório Não.

    SOs recursos de aderência são retidos quando uma conta é removida de uma organização ou OU de destino.

DeploymentTargets

: obrigatório Não

nota

Para o modelo de permissões SERVICE_MANAGENED, você pode fornecer contas ou IDs de unidade organizacional para destinos de implantação. Para o modelo de permissões SELF_MANAGEN, você só pode fornecer contas.

nota

Quando esse parâmetro for selecionado, também deverá selecionarRegiões.

Lista deAWScontas ou IDs de unidade organizacional onde instâncias de conjunto de pilha devem ser criadas/atualizadas.

  • Contas:

    Você pode fornecer contas como uma lista literal ou um caminho de arquivo:

    • Literal: Insira parâmetros no formato de sintaxe abreviadaaccount_ID,account_ID, conforme mostrado no exemplo a seguir.

      111111222222,333333444444
    • Caminho do arquivo: A localização do arquivo que contém uma lista deAWScontas onde instâncias de conjunto de pilha devem ser criadas/atualizadas, inseridas no formatoInputArtifactName::AccountsFileName, conforme mostrado no exemplo a seguir.

      SourceArtifact::accounts.txt

      O exemplo a seguir mostra o conteúdo de arquivos para oaccounts.txt.

      [ "111111222222" ]
  • OrganizationalUnitIds:

    nota

    Esse parâmetro é opcional para o modelo de permissões SERVICE_MANAGENED e não é usado para o modelo de permissões SELF_MANAGEN. Não use esta opção se você selecionarOrganizationSautoDeployment.

    OAWSunidades organizacionais nas quais atualizar instâncias de pilha associadas.

    Você pode fornecer IDs de unidade organizacional como uma lista literal ou um caminho de arquivo:

    • Literal: Use o array de strings separadas por vírgulas, conforme mostrado no exemplo a seguir.

      ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    • Caminho do arquivo: O local do arquivo que contém uma lista de OrganizationalUnitIds no qual criar ou atualizar instâncias do conjunto de pilha.

      Digite um caminho para o arquivo no formatoInputArtifactName::OrganizationalUnitIdsFileName.

      SourceArtifact::OU-IDs.txt
Regiões

: obrigatório Não

nota

Quando esse parâmetro for selecionado, também deverá selecionarDeploymentTargets.

Lista deAWSRegiões onde instâncias de conjunto de pilha são criadas ou atualizadas. As regiões são atualizadas na ordem em que são inseridas.

Insira uma lista deAWSRegiões no formatoRegion1,Region2, conforme mostrado no exemplo a seguir.

us-west-2,us-east-1
FailureTolerancePercentage

: obrigatório Não

A porcentagem de contas por região para as quais essa operação de pilha pode falhar antes que oAWS CloudFormationinterrompe a operação nessa Região. Se a operação for interrompida em uma região, oAWS CloudFormationnão tenta a operação em Regiões subseqüentes. Ao calcular o número de contas com base na porcentagem especificada, oAWS CloudFormationrondaspara baixoPara o número inteiro seguinte.

MaxConcurrentPercentage

: obrigatório Não

A porcentagem máxima de contas em que essa operação pode ser executada ao mesmo tempo. Ao calcular o número de contas com base na porcentagem especificada, oAWS CloudFormationrondaspara baixoPara o número inteiro seguinte. Se o arredondamento para baixo resultaria em zero,AWS CloudFormationO define o número como um. Embora você use essa configuração para especificar a propriedademáximoPara grandes implementações, o número real de contas atuadas simultaneamente pode ser menor devido à limitação do serviço.

Input artifacts (Artefatos de entrada)

Você deve incluir pelo menos um artefato de entrada que contenha o modelo para o conjunto de pilha em umCloudFormationStackSetAção . Você pode incluir mais artefatos de entrada para listas de destinos de implantação, contas e parâmetros.

  • Número de artefatos: 1 to 3

  • Descrição: Você pode incluir artefatos para fornecer:

    • O arquivo de modelo de pilha. (Consulte o parâmetro TemplatePath.)

    • O arquivo de parâmetros. (Consulte o parâmetro Parameters.)

    • O arquivo de contas. (Consulte o parâmetro DeploymentTargets.)

Artefatos de saída

  • Número de artefatos: 0

  • Descrição: Os artefatos de saída não se aplicam a esse tipo de ação.

Variáveis de saída

Se você configurar essa ação, ela produzirá variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

  • StackSetId: O ID do conjunto de pilhas.

  • OperationID: O ID da operação do conjunto de pilhas.

Para obter mais informações, consulte Variables.

ExemploCloudFormationStackSetConfiguração da ação

Os exemplos a seguir mostram a configuração da ação para oCloudFormationStackSetAção .

Exemplo para o modelo de permissões autogerenciadas

O exemplo a seguir mostra umCloudFormationStackSetem que o destino de implantação inserido é umAWSID da conta da.

YAML
Name: CreateStackSet ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackSet Version: '1' RunOrder: 1 Configuration: DeploymentTargets: '111111222222' FailureTolerancePercentage: '20' MaxConcurrentPercentage: '25' PermissionModel: SELF_MANAGED Regions: us-east-1 StackSetName: my-stackset TemplatePath: 'SourceArtifact::template.json' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "CreateStackSet", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackSet", "Version": "1" }, "RunOrder": 1, "Configuration": { "DeploymentTargets": "111111222222", "FailureTolerancePercentage": "20", "MaxConcurrentPercentage": "25", "PermissionModel": "SELF_MANAGED", "Regions": "us-east-1", "StackSetName": "my-stackset", "TemplatePath": "SourceArtifact::template.json" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" }

Exemplo para o modelo de permissões gerenciadas pelo serviço

O exemplo a seguir mostra umCloudFormationStackSetpara o modelo de permissões gerenciadas pelo serviço em que a opção de implantação automática paraAWSAs Organizations estão habilitadas com retenção de pilha.

YAML
Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackSet Version: '1' RunOrder: 1 Configuration: Capabilities: 'CAPABILITY_IAM,CAPABILITY_NAMED_IAM' OrganizationsAutoDeployment: EnabledWithStackRetention PermissionModel: SERVICE_MANAGED StackSetName: stacks-orgs TemplatePath: 'SourceArtifact::template.json' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: eu-central-1 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackSet", "Version": "1" }, "RunOrder": 1, "Configuration": { "Capabilities": "CAPABILITY_IAM,CAPABILITY_NAMED_IAM", "OrganizationsAutoDeployment": "EnabledWithStackRetention", "PermissionModel": "SERVICE_MANAGED", "StackSetName": "stacks-orgs", "TemplatePath": "SourceArtifact::template.json" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "eu-central-1", "Namespace": "DeployVariables" }

A ação CloudFormation StackInstances

Esta ação criasnovas instâncias e implantarsconjuntos de pilha para instâncias especificadas. Uma instância de pilha é uma referência a uma pilha em uma conta de destino dentro de uma região. Uma instância de pilha pode existir sem uma pilha. Por exemplo, se a criação da pilha não for bem-sucedida, a instância de pilha mostrará o motivo da falha na criação da pilha. Uma instância de pilha está associada a apenas um conjunto de pilhas.

Após a criação inicial de um conjunto de pilhas, você podeadicionar novas instâncias de pilhausando CloudFormationStackInstances. Os valores de parâmetro do modelo podem ser substituídos no nível da instância da pilha durante as operações de criação ou atualização da instância do conjunto de pilha.

Cada conjunto de pilha tem um modelo e um conjunto de parâmetros de modelo. Quando você atualiza os parâmetros do modelo ou do modelo, atualize-os para todo o conjunto. Em seguida, todos os status de instância são definidos comoOUTDATEDaté que as alterações sejam implantadas nessa instância.

Para substituir valores de parâmetro em instâncias específicas, por exemplo, se o modelo contiver um parâmetro parastagecom um valor deprod, você pode substituir o valor desse parâmetro para serbetaougamma.

Tipo de ação

  • Categoria: Deploy

  • Proprietário: AWS

  • Fornecedor: CloudFormationStackInstances

  • Versão: 1

Parâmetros de configuração

StackSetName

: obrigatório Sim

O nome a ser associado ao conjunto de pilhas. Esse nome deve ser exclusivo na região onde foi criado.

O nome só pode conter caracteres alfanuméricos e hífen. Ele deve começar com um caractere alfabético e ter 128 caracteres ou menos.

DeploymentTargets

: obrigatório Não

nota

Para o modelo de permissões SERVICE_MANAGENED, você pode fornecer contas ou IDs de unidade organizacional para destinos de implantação. Para o modelo de permissões SELF_MANAGEN, você só pode fornecer contas.

nota

Quando esse parâmetro for selecionado, também deverá selecionarRegiões.

Lista deAWScontas ou IDs de unidade organizacional onde instâncias de conjunto de pilha devem ser criadas/atualizadas.

  • Contas:

    Você pode fornecer contas como uma lista literal ou um caminho de arquivo:

    • Literal: Insira parâmetros no formato de sintaxe abreviadaaccount_ID,account_ID, conforme mostrado no exemplo a seguir.

      111111222222,333333444444
    • Caminho do arquivo: A localização do arquivo que contém uma lista deAWScontas onde instâncias de conjunto de pilha devem ser criadas/atualizadas, inseridas no formatoInputArtifactName::AccountsFileName, conforme mostrado no exemplo a seguir.

      SourceArtifact::accounts.txt

      O exemplo a seguir mostra o conteúdo de arquivos para oaccounts.txt:

      [ "111111222222" ]
  • OrganizationalUnitIds:

    nota

    Esse parâmetro é opcional para o modelo de permissões SERVICE_MANAGENED e não é usado para o modelo de permissões SELF_MANAGEN. Não use esta opção se você selecionarOrganizationSautoDeployment.

    OAWSunidades organizacionais nas quais atualizar instâncias de pilha associadas.

    Você pode fornecer IDs de unidade organizacional como uma lista literal ou um caminho de arquivo:

    • Literal: Use o array de strings separadas por vírgulas, conforme mostrado no exemplo a seguir.

      ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    • Caminho do arquivo: O local do arquivo que contém uma lista de OrganizationalUnitIds no qual criar ou atualizar instâncias do conjunto de pilha.

      Digite um caminho para o arquivo no formatoInputArtifactName::OrganizationalUnitIdsFileName.

      SourceArtifact::OU-IDs.txt
Regiões

: obrigatório Sim

nota

Quando esse parâmetro for selecionado, também deverá selecionarDeploymentTargets.

Lista deAWSRegiões onde instâncias de conjunto de pilha são criadas ou atualizadas. As regiões são atualizadas na ordem em que são inseridas.

Insira uma lista deAWSRegiões no formato:Region1,Region2, conforme mostrado no exemplo a seguir.

us-west-2,us-east-1
ParameterOverrides

: obrigatório Não

Uma lista de parâmetros de conjunto de pilhas que você deseja substituir nas instâncias de pilha selecionadas. Os valores de parâmetro substituídos são aplicados a todas as instâncias de pilha nas contas e regiões especificadas.

Você pode fornecer parâmetros como uma lista literal ou um caminho de arquivo:

  • Você pode inserir parâmetros no seguinte formato de sintaxe abreviado: ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string. Para obter mais informações sobre esses tipos de dados, consulteTipos de dados de parâmetro de modelo.

    O exemplo a seguir mostra um parâmetro chamadoBucketNamecom o valor meu-bucket.

    ParameterKey=BucketName,ParameterValue=my-bucket

    O exemplo a seguir mostra uma entrada com vários parâmetros.

    ParameterKey=BucketName,ParameterValue=my-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true
  • Você pode inserir a localização do arquivo que contém uma lista de substituições de parâmetros de modelo inseridas no formatoInputArtifactName::ParameterOverridessFileName, conforme mostrado no exemplo a seguir.

    SourceArtifact::parameter-overrides.txt

    O exemplo a seguir mostra o conteúdo de arquivos para oparameter-overrides.txt.

    [ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
FailureTolerancePercentage

: obrigatório Não

A porcentagem de contas por região para as quais essa operação de pilha pode falhar antes que oAWS CloudFormationinterrompe a operação nessa Região. Se a operação for interrompida em uma região, oAWS CloudFormationnão tenta a operação em Regiões subseqüentes. Ao calcular o número de contas com base na porcentagem especificada, oAWS CloudFormationrondaspara baixoPara o número inteiro seguinte.

MaxConcurrentPercentage

: obrigatório Não

A porcentagem máxima de contas nas quais essa operação pode ser executada ao mesmo tempo. Ao calcular o número de contas com base na porcentagem especificada, oAWS CloudFormationrondaspara baixoPara o número inteiro seguinte. Se o arredondamento para baixo resultaria em zero,AWS CloudFormationO define o número como um. Embora você especifique omáximoPara grandes implementações, o número real de contas atuadas simultaneamente pode ser menor devido à limitação do serviço.

Input artifacts (Artefatos de entrada)

CloudFormationStackInstancespode conter artefatos que listam alvos e parâmetros de implantação.

  • Número de artefatos: 0 to 2

  • Descrição: Como entrada, a ação do conjunto de pilhas aceita opcionalmente artefatos para as seguintes finalidades:

    • Fornecer o arquivo de parâmetros a ser usado. (Consulte o parâmetro ParameterOverrides.)

    • Fornecer o arquivo de contas de destino a ser usado. (Consulte o parâmetro DeploymentTargets.)

Artefatos de saída

  • Número de artefatos: 0

  • Descrição: Os artefatos de saída não se aplicam a esse tipo de ação.

Variáveis de saída

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

  • StackSetId: O ID do conjunto de pilhas.

  • OperationID: O ID da operação do conjunto de pilhas.

Para obter mais informações, consulte Variables.

Exemplo de configuração da ação

Os exemplos a seguir mostram a configuração da ação para oCloudFormationStackInstancesAção .

Exemplo para o modelo de permissões autogerenciadas

O exemplo a seguir mostra umCloudFormationStackInstancesação em que o destino de implantação inserido é um ID de conta da AWS111111222222.

YAML
Name: my-instances ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackInstances Version: '1' RunOrder: 2 Configuration: DeploymentTargets: '111111222222' Regions: 'us-east-1,us-east-2,us-west-1,us-west-2' StackSetName: my-stackset OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2
JSON
{ "Name": "my-instances", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackInstances", "Version": "1" }, "RunOrder": 2, "Configuration": { "DeploymentTargets": "111111222222", "Regions": "us-east-1,us-east-2,us-west-1,us-west-2", "StackSetName": "my-stackset" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2" }

Exemplo para o modelo de permissões gerenciadas pelo serviço

O exemplo a seguir mostra umCloudFormationStackInstancesação para o modelo de permissões gerenciadas pelo serviço em que o destino da implantação é um ID da unidade organizacional das AWS Organizationsou-1111-1example.

YAML
Name: Instances ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackInstances Version: '1' RunOrder: 2 Configuration: DeploymentTargets: ou-1111-1example Regions: us-east-1 StackSetName: my-stackset OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: eu-central-1
JSON
{ "Name": "Instances", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackInstances", "Version": "1" }, "RunOrder": 2, "Configuration": { "DeploymentTargets": "ou-1111-1example", "Regions": "us-east-1", "StackSetName": "my-stackset" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "eu-central-1" }

Modelos de permissões para operações de conjuntos de pilhas

ComoAWS CloudFormationO StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilha. Você pode definir permissões por meio de permissões autogerenciadas ou permissões gerenciadas pelo serviço.

Com permissões autogerenciadas, você cria as duas funções do IAM exigidas pelos StackSets - uma função de administrador, como o AWSCloudFormationStackSetAdministrationRole na conta em que você define o conjunto de pilha e uma função de execução, como o AWSCloudFormationStackSetExecutionRole em cada uma das contas em que implantar instâncias de conjunto de pilha. Usando esse modelo de permissões, os StackSets podem implantar em qualquerAWSna qual o usuário tem permissões para criar uma função do IAM. Para obter mais informações, consulteConceder permissões autogerenciadasnoAWS CloudFormationGuia do usuário.

nota

ComoAWS CloudFormationO StackSets executa operações em várias contas, você deve definir as permissões necessárias nessas contas antes de criar o conjunto de pilha.

Com permissões gerenciadas pelo serviço você pode implantar instâncias de pilha em contas gerenciadas peloAWSOrganizations. Usando esse modelo de permissões, você não precisa criar as funções do IAM necessárias, pois o StackSets cria as funções do IAM em seu nome. Com esse modelo, você também pode habilitar implantações automáticas em contas adicionadas à organização no futuro. ConsulteAtivar o acesso confiável com oAWSOrganizaçõesnoAWS CloudFormationGuia do usuário.

Tipos de dados de parâmetro de modelo

Os parâmetros de modelo usados em operações de conjunto de pilha incluem os seguintes tipos de dados. Para obter mais informações, consulteDescribeTackSet.

ParameterKey
  • Descrição: A chave associada ao parâmetro. Se você não especificar uma chave e um valor para um parâmetro específico, oAWSO CloudFormation usa o valor padrão especificado no modelo.

  • Exemplo:

    "ParameterKey=BucketName,ParameterValue=my-bucket"
ParameterValue
  • Descrição: O valor de entrada associado ao parâmetro.

  • Exemplo:

    "ParameterKey=BucketName,ParameterValue=my-bucket"
UsePreviousValue
  • Durante uma atualização de pilha, use o valor de parâmetro existente que a pilha está usando para uma determinada chave de parâmetro. Se você especificartrue, não especifique um valor de parâmetro.

  • Exemplo:

    "ParameterKey=Asset1,UsePreviousValue=true"

Cada conjunto de pilha tem um modelo e um conjunto de parâmetros de modelo. Quando você atualiza os parâmetros do modelo ou do modelo, atualize-os para todo o conjunto. Em seguida, todos os status de instância são definidos como OUTDATAD até que as alterações sejam implantadas nessa instância.

Para substituir valores de parâmetro em instâncias específicas, por exemplo, se o modelo contiver um parâmetro parastagecom um valor deprod, você pode substituir o valor desse parâmetro para serbetaougamma.

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.

  • Tipos de parâmetros— Este capítulo de referência noAWS CloudFormationGuia do usuárioFornece mais descrições e exemplos para parâmetros de modelo do CloudFormation.

  • Práticas recomendadas — Para obter mais informações sobre as melhores práticas do para implantação de conjuntos de pilhas, consultehttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.htmlnoAWSGuia CloudFormation usuário do.

  • AWS CloudFormationReferência de API do— Você pode fazer referência às seguintes ações do CloudFormation noAWS CloudFormationReferência de API doPara obter mais informações sobre os parâmetros usados nas operações de conjuntos de pilhas:

    • OCreateStackSetA ação cria um conjunto de pilhas.

    • OUpdateStackSetatualiza o conjunto de pilhas e as instâncias de pilha associadas nas contas e regiões especificadas. Mesmo se a operação de conjunto de pilha criada pela atualização do conjunto de pilha falhar (total ou parcialmente, abaixo ou acima de uma tolerância de falha especificada), o conjunto de pilha é atualizado com essas alterações. As chamadas subsequentes do CreateStackInstances no conjunto de pilha especificado usam o conjunto de pilha atualizado.

    • OCreateStackInstancescria uma instância de pilha para todas as regiões especificadas em todas as contas especificadas em um modelo de permissão autogerenciado ou em todos os destinos de implantação especificados em um modelo de permissão gerenciado pelo serviço. Você pode substituir parâmetros para as instâncias criadas por essa ação. Se as instâncias já existirem, o CreateStackInstances chamará UpdateStackInstances com os mesmos parâmetros de entrada. Quando você usa essa ação para criar instâncias, ela não altera o status de outras instâncias de pilha.

    • OUpdateStackInstancesatualiza as instâncias de pilha com a pilha definida para todas as regiões especificadas em todas as contas especificadas em um modelo de permissão autogerenciado ou em todos os destinos de implantação especificados em um modelo de permissão gerenciado pelo serviço. Você pode substituir parâmetros para as instâncias atualizadas por essa ação. Quando você usa essa ação para atualizar um subconjunto de instâncias, ela não altera o status de outras instâncias de pilha.

    • ODescribeTackSetOperationRetorna a descrição da operação do conjunto de pilhas especificado.

    • ODescribeTackSetRetorna a descrição do conjunto de pilhas especificado.