Atributo UpdatePolicy - AWS CloudFormation

Atributo UpdatePolicy

Use o atributo UpdatePolicy para especificar como o AWS CloudFormation lida com atualizações para os recursos AWS::AppStream::Fleet, AWS::AutoScaling::AutoScalingGroup, AWS::ElastiCache::ReplicationGroup, AWS::OpenSearchService::Domain, AWS::Elasticsearch::Domain, ou AWS::Lambda::Alias.

  • Para o recurso AWS::AppStream::Fleet, o CloudFormation pode atualizar o construtor de imagem com o software de agenteAppStream 2.0 mais recente. Para obter mais informações, consulte Gerenciar versões do AppStream 2.0.

  • Para recursos do AWS::AutoScaling::AutoScalingGroup, o CloudFormation invoca uma das três políticas de atualização, dependendo do tipo de alteração feita ou de se uma ação programada está associada ao grupo do Auto Scaling.

    • As políticas AutoScalingReplacingUpdate e AutoScalingRollingUpdate se aplicam apenas quando você realiza um ou mais dos seguintes:

      • Altera AWS::AutoScaling::LaunchConfiguration do grupo de Auto Scaling.

      • Altera a propriedade de VPCZoneIdentifier do grupo de Auto Scaling

      • Altera a propriedade de LaunchTemplate do grupo de Auto Scaling

      • Atualiza um grupo de Auto Scaling que contém instâncias que não correspondem à LaunchConfiguration atual.

      Se ambas as políticas AutoScalingReplacingUpdate e AutoScalingRollingUpdate forem especificadas, a definição da propriedade WillReplace para true dá precedência a AutoScalingReplacingUpdate.

    • A política AutoScalingScheduledAction se aplica quando você atualiza uma pilha que inclui um grupo de Auto Scaling com uma ação programada associada.

  • Para recursos de AWS::ElastiCache::ReplicationGroup, o CloudFormation pode modificar um grupo de replicação adicionando ou removendo estilhaços, em vez de substituir todo o recurso. Para obter mais informações, consulte Política UseOnlineResharding.

  • Para AWS::OpenSearchService::Domain e recursos AWS::Elasticsearch::Domain herdados, CloudFormation pode atualizar um domínio OpenSearch Service para uma nova versão do OpenSearch ou do Elasticsearch sem substituir todo o recurso. Para obter mais informações, consulte Política EnableVersionUpgrade.

  • Para recursos de AWS::Lambda::Alias, o CloudFormation executa uma implantação do CodeDeploy quando a versão é alterada no alias. Para obter mais informações, consultePolítica CodeDeployLambdaAliasUpdate.

Política AutoScalingReplacingUpdate

Para especificar como o AWS CloudFormation lida com atualizações de substituição para um grupo de Auto Scaling, use a política AutoScalingReplacingUpdate. Essa política permite que você especifique se o AWS CloudFormation substituirá um grupo de Auto Scaling por um novo ou apenas as instâncias no grupo de Auto Scaling.

Importante

Antes de executar uma atualização, verifique se há capacidade suficiente no Amazon EC2 para os novos e antigos grupos de Auto Scaling.

Sintaxe

JSON

"UpdatePolicy" : { "AutoScalingReplacingUpdate" : { "WillReplace" : Boolean } }

YAML

UpdatePolicy: AutoScalingReplacingUpdate: WillReplace: Boolean

Properties

WillReplace

Especifica se um grupo do Auto Scaling e as instâncias que ele contém serão substituídos durante uma atualização. Durante a substituição, o CloudFormation retém o grupo antigo até que ele termine a criação do novo. Se a atualização falhar, o CloudFormation poderá reverter para o grupo de Auto Scaling antigo e excluir o grupo de Auto Scaling novo.

Embora o CloudFormation crie o novo grupo, ele não desanexa nem anexa as instâncias. Após criar com êxito o novo grupo do Auto Scaling, o CloudFormation excluirá o grupo de Auto Scaling antigo durante o processo de limpeza.

Quando você definir o parâmetro WillReplace, lembre-se de especificar um CreationPolicy correspondente. Se o número mínimo de instâncias (especificado pela propriedade MinSuccessfulInstancesPercent) não sinalizar sucesso dentro do período de Timeout (especificado na política CreationPolicy), a atualização de substituição falhará e o AWS CloudFormation reverterá ao grupo de Auto Scaling antigo.

Type: Boolean

Required: No

Política AutoScalingRollingUpdate

Para especificar como o CloudFormation lida com as atualizações sem interrupção para um grupo de Auto Scaling, use a política AutoScalingRollingUpdate. As atualizações sem interrupção permitem que você especifique se as instâncias de atualização do AWS CloudFormation que estão em um grupo de Auto Scaling serão em lotes ou todas ao mesmo tempo.

Importante

Durante uma atualização sem interrupção, alguns processos do Auto Scaling podem fazer alterações no grupo de Auto Scaling antes do CloudFormation concluir a atualização sem interrupção. Essas alterações podem fazer com que a atualização sem interrupção falhe. Para evitar que o Auto Scaling execute processos durante uma atualização sem interrupção, use a propriedade SuspendProcesses. Para obter mais informações, consulte Quais são as melhores práticas recomendadas para executar atualizações contínuas de grupos de Auto Scaling?

Lembre-se de que, durante as operações de reversão de atualização da pilha, o CloudFormation usa a configuração UpdatePolicy especificada no modelo antes da operação de atualização da pilha atual. Por exemplo, suponha que você tenha atualizado o modelo MaxBatchSize na UpdatePolicy de sua pilha, de 1 a 10. E em seguida, você executa uma atualização de pilha. Esta atualização falha e o CloudFormation inicia uma operação de reversão de atualização. Nesse caso, o CloudFormation usará 1 como o tamanho máximo do lote, em vez de 10. Por esse motivo, recomendamos que você faça alterações na configuração de UpdatePolicy em uma atualização de pilha separada e antes de qualquer atualização no recurso AWS::AutoScaling::AutoScalingGroup que possa iniciar atualizações contínuas.

Sintaxe

JSON

"UpdatePolicy" : { "AutoScalingRollingUpdate" : { "MaxBatchSize" : Integer, "MinInstancesInService" : Integer, "MinSuccessfulInstancesPercent" : Integer, "PauseTime" : String, "SuspendProcesses" : [ List of processes ], "WaitOnResourceSignals" : Boolean } }

YAML

UpdatePolicy: AutoScalingRollingUpdate: MaxBatchSize: Integer MinInstancesInService: Integer MinSuccessfulInstancesPercent: Integer PauseTime: String SuspendProcesses: - List of processes WaitOnResourceSignals: Boolean

Properties

MaxBatchSize

Especifica o número máximo de instâncias que o CloudFormation atualiza.

Padrão: 1

Máximo: 100

Type: Integer

Required: No

MinInstancesInService

Especifica o número mínimo de instâncias que devem estar em serviço dentro do grupo de Auto Scaling enquanto o CloudFormation atualiza as instâncias antigas. Esse valor deve ser menor que o MaxSize do grupo de Auto Scaling.

Padrão: 0

Type: Integer

Required: No

MinSuccessfulInstancesPercent

Especifica que porcentagem de instâncias em uma atualização sem interrupção do Auto Scaling deve sinalizar sucesso para que uma atualização seja bem-sucedida. Você pode especificar um valor de 0 para 100. O CloudFormation arredonda para o décimo mais próximo de um percentual. Por exemplo, se você atualizar cinco instâncias com uma porcentagem mínima de êxito de 50, três instâncias deverão sinalizar sucesso.

Se uma instância não enviar um sinal no tempo especificado na propriedade PauseTime, o CloudFormation entenderá que a instância não foi atualizada.

Se você especificar essa propriedade, deverá também ativar as propriedades WaitOnResourceSignals e PauseTime.

O parâmetro MinSuccessfulInstancesPercent se aplica somente a instâncias apenas com a finalidade de sinalização. Para especificar o número de instâncias no seu grupo de Auto Scaling, consulte as propriedades MinSize, MaxSize e DesiredCapacity para o recurso AWS::AutoScaling::AutoScalingGroup.

Padrão: 100

Type: Integer

Required: No

PauseTime

A quantidade de tempo que o CloudFormation pausa após fazer uma alteração em um lote de instâncias para dar a elas tempo para iniciar aplicativos de software. Por exemplo, pode ser necessário especificar PauseTime quando aumentar o número de instâncias em um grupo de Auto Scaling.

Se você ativar a propriedade WaitOnResourceSignals, PauseTime será a quantidade de tempo que o CloudFormation deve aguardar para que o grupo de Auto Scaling receba o número necessário de sinais válidos de instâncias adicionadas ou substituídas. Se PauseTime for excedido antes de o grupo de Auto Scaling receber o número necessário de sinais, a atualização falhará. Para obter os melhores resultados, especifique um período de tempo que ofereça aos aplicativos tempo suficiente para começar. Se a atualização precisar ser revertida, um curto PauseTime pode fazer com que a reversão falhe.

Especifique PauseTime no formato de duração ISO8601 (no formato PT#H#M#S, em que cada # é o número de horas, minutos e segundos, respectivamente). O PauseTime máximo é de uma hora (PT1H).

Padrão: PT0S (0 segundos). Se a propriedade WaitOnResourceSignals for definida como true, o padrão será PT5M.

Type: String

Required: No

SuspendProcesses

Especifica os processos do Auto Scaling a serem suspensos durante uma atualização de pilha. A suspensão de processos impede que o Auto Scaling interfira na atualização da pilha. Por exemplo, você pode suspender alarmes para que Amazon EC2 Auto Scaling não execute políticas de escalabilidade associados a um alarme. Para obter os valores válidos, consulte o parâmetro ScalingProcesses.member.N da ação SuspendProcesses em Referência da API do Amazon EC2 Auto Scaling.

Padrão: não especificado

Tipo: Lista de processos de Auto Scaling

Required: No

WaitOnResourceSignals

Especifica se o grupo do Auto Scaling aguardará sinais de novas instâncias durante uma atualização. Use esta propriedade para garantir que as instâncias concluam a instalação e a configuração de aplicativos antes que a atualização do grupo de Auto Scaling continue. O AWS CloudFormation suspende a atualização de um grupo de Auto Scaling após novas instâncias de EC2 serem executadas no grupo. O AWS CloudFormation deve receber um sinal de cada instância nova dentro do PauseTime especificado para continuar a atualização. Para sinalizar o grupo de Auto Scaling, use o script de ajuda cfn-signal ou a API SignalResource.

Para que as instâncias esperem por uma verificação de integridade do Elastic Load Balancing antes de sinalizar sucesso, adicione uma verificação de integridade usando o script de ajuda cfn-init. Para ver um exemplo, consulte o comando verify_instance_health no modelo de exemplo Auto Scaling rolling updates.

Padrão: false

Type: Boolean

Required: Conditional Se você especificar a propriedade MinSuccessfulInstancesPercent, deverá também ativar as propriedades WaitOnResourceSignals e PauseTime.

Política AutoScalingScheduledAction

Para especificar como o AWS CloudFormation lida com as atualizações das propriedades MinSize, MaxSize e DesiredCapacity quando o recurso AWS::AutoScaling::AutoScalingGroup tem uma ação programada associada, use a política AutoScalingScheduledAction.

Com as ações programadas, as propriedades de tamanho de um grupo do Auto Scaling podem mudar a qualquer momento. Quando você atualiza uma pilha com um grupo de Auto Scaling e uma ação programada, o CloudFormation sempre define os valores das propriedades de tamanho do seu grupo de Auto Scaling como os valores definidos no recurso AWS::AutoScaling::AutoScalingGroup do seu modelo, mesmo que uma ação programada esteja em vigor.

Se você não quiser que o CloudFormation altere os valores das propriedades de tamanho do grupo quando tiver uma ação programada em vigor, use a política de atualização AutoScalingScheduledAction e defina IgnoreUnmodifiedGroupSizeProperties como true para impedir que o CloudFormation altere as propriedades MinSize, MaxSize ou DesiredCapacity, a menos que esses valores tenham sido modificados no seu modelo.

Sintaxe

JSON

"UpdatePolicy" : { "AutoScalingScheduledAction" : { "IgnoreUnmodifiedGroupSizeProperties" : Boolean } }

Properties

IgnoreUnmodifiedGroupSizeProperties

Se true, o AWS CloudFormation ignora as diferenças nas propriedades de tamanho do grupo entre o grupo de Auto Scaling atual e o grupo do Auto Scaling descrito no recurso AWS::AutoScaling::AutoScalingGroup do seu modelo durante uma atualização de pilha. Se você modificar qualquer um dos valores de propriedade de tamanho do grupo em seu modelo, o AWS CloudFormation usará os valores modificados e as atualizações do seu grupo de Auto Scaling.

Padrão: false

Type: Boolean

Required: No

Política UseOnlineResharding

Para modificar os estilhaços de um grupo de replicação, adicionando ou removendo estilhaços, em vez de substituir todo o recurso AWS::ElastiCache::ReplicationGroup, utilize a política de atualização UseOnlineResharding.

Se UseOnlineResharding estiver definido como true, você poderá atualizar as propriedades NumNodeGroups e NodeGroupConfiguration do recurso AWS::ElastiCache::ReplicationGroup e o CloudFormation atualizará essas propriedades sem interrupção. Quando UseOnlineResharding estiver definido como false, ou não estiver especificado, a atualização das propriedades NumNodeGroups e NodeGroupConfiguration fará com que o CloudFormation substitua todo o recurso de AWS::ElastiCache::ReplicationGroup.

A política de atualização de UseOnlineResharding não tem propriedades.

Coisas a considerar ao definir a política de atualização de UseOnlineResharding para true:

  • É altamente recomendável que você execute as atualizações para as propriedades de NumNodeGroups e NodeGroupConfiguration como sendo as únicas atualizações em uma determinada operação de atualização da pilha.

    A atualização da configuração do grupo de nós de um grupo de replicação é uma operação com uso intensivo de recursos. Se uma atualização de pilha falhar, o CloudFormation não reverterá as alterações na configuração de grupo de nós de um grupo de replicação. No entanto, o CloudFormation reverterá quaisquer outras propriedades que foram alteradas como parte da operação de atualização que falhou.

  • Todas as atualizações de grupos de nós exigem a identificação de todos os grupos de nós.

    Se você especificar a propriedade de NodeGroupConfiguration, precisará especificar também o NodeGroupId para a configuração de cada grupo de nós para que o CloudFormation atualize o número de nós sem interrupção.

    Ao criar um grupo de replicação, se você não especificar um ID para cada grupo de nós, o ElastiCache gerará automaticamente um ID para cada grupo de nós. Para atualizar o grupo de replicação sem interrupção, use o console ElastiCache (https://console.aws.amazon.com/elasticache/) ou DescribeReplicationGroups para recuperar os IDs para todos os grupos de nós no grupo de replicação. Em seguida, especifique o ID para cada grupo de nós no seu modelo de pilha antes de tentar adicionar ou remover estilhaços.

    nota

    Como uma prática recomendada, ao criar um grupo de replicação em um modelo de pilha, inclua um ID para cada grupo de nós que você especificar.

    Além disso, a atualização do número de nós sem interrupção requer que você tenha especificado com precisão as propriedades PrimaryAvailabilityZone, ReplicaAvailabilityZones e ReplicaCount para cada NodeGroupConfiguration também. Novamente, você pode usar o console ElastiCache (https://console.aws.amazon.com/elasticache/) ou DescribeReplicationGroups para recuperar os valores reais para cada grupo de nós e compará-los com os valores em seu modelo de pilha. Você pode atualizar os valores de propriedades dos groups de nós como uma atualização de pilha separada ou como parte da mesma atualização da pilha que altera o número de grupos de nós.

    Quando você usa uma política de atualização de UseOnlineResharding para atualizar o número de grupos de nós sem interrupção, o ElastiCache distribui uniformemente os espaços de chave entre o número especificado de slots. Isso não pode ser atualizado mais tarde. Portanto, depois de atualizar o número de grupos de nós dessa forma, você deve remover o valor especificado para a propriedade Slots de cada NodeGroupConfiguration do modelo de pilha, uma vez que ele já não reflete mais os valores reais em cada grupo de nós.

  • Os resultados reais da remoção do grupo de nós podem variar

    Quando você especifica um valor de NumNodeGroups menor que o número atual de grupos de nós, o CloudFormation instrui o ElastiCache para remover o maior número de grupos de nós possível para alcançar o número especificado de nós. No entanto, o ElastiCache pode não ser sempre capaz de remover o número desejado de grupos de nós. Caso o ElastiCache não possa remover o número desejado de grupos de nós, o CloudFormation gera um evento de pilha com alertas sobre isso. Nos casos em que o ElastiCache não puder remover quaisquer grupos de nós, a atualização do recurso CloudFormation falhará.

Para obter mais informações sobre como modificar grupos de replicação, consulte ModifyReplicationGroupShardConfiguration no Amazon ElastiCache API Reference.

Sintaxe

JSON

"UpdatePolicy" : { "UseOnlineResharding" : Boolean }

YAML

UpdatePolicy: UseOnlineResharding: Boolean

Política EnableVersionUpgrade

Para atualizar um domínio OpenSearch Service para uma nova versão do OpenSearch ou do Elasticsearch em vez de substituir todo o recurso AWS::OpenSearchService::Domain ou AWS::Elasticsearch::Domain, use a política de atualização EnableVersionUpgrade.

Se EnableVersionUpgrade estiver definido como true, você poderá atualizar a propriedade EngineVersion do recurso AWS::OpenSearchService::Domain (ou a propriedade ElasticsearchVersion do recurso AWS::Elasticsearch::Domain herdado) e CloudFormation atualizará essa propriedade sem interrupção. Quando EnableVersionUpgrade estiver definido como false, ou não estiver especificado, atualizar a propriedade EngineVersion ou ElasticsearchVersion fará com que CloudFormation substitua todo o recurso AWS::OpenSearchService::Domain/AWS::Elasticsearch::Domain.

A política de atualização de EnableVersionUpgrade não tem propriedades.

Para obter mais informações sobre como atualizar domínios do OpenSearch Service, consulte UpgradeDomain no Amazon OpenSearch Service Developer Guide.

Sintaxe

JSON

"UpdatePolicy" : { "EnableVersionUpgrade" : Boolean }

YAML

UpdatePolicy: EnableVersionUpgrade: Boolean

Política CodeDeployLambdaAliasUpdate

Para executar uma implantação do CodeDeploy quando a versão for alterada em um recurso de AWS::Lambda::Alias use a política de atualização CodeDeployLambdaAliasUpdate.

Sintaxe

JSON

"UpdatePolicy" : { "CodeDeployLambdaAliasUpdate" : { "AfterAllowTrafficHook" : String, "ApplicationName" : String, "BeforeAllowTrafficHook" : String, "DeploymentGroupName" : String } }

Properties

AfterAllowTrafficHook

O nome da função do Lambda a ser executada depois que o roteamento do tráfego for concluído.

Required: No

Tipo: string

ApplicationName

O nome do aplicativo do CodeDeploy.

Obrigatório: sim

Tipo: string

BeforeAllowTrafficHook

O nome da função do Lambda a ser executada antes do início do roteamento do tráfego.

Required: No

Tipo: string

DeploymentGroupName

O nome do grupo de implantação do CodeDeploy. Esse é o local em que a política de mudança de tráfego é definida.

Required: Yes

Tipo: string

Para obter um exemplo que especifica o atributo UpdatePolicy para um recurso AWS::Lambda::Alias, consulte Política de atualização de alias do Lambda.

Exemplos

Os exemplos a seguir mostram como adicionar uma política de atualização a um grupo do Auto Scaling e como manter a disponibilidade ao atualizar metadados.

Adicionar uma UpdatePolicy a um grupo do Auto Scaling

O exemplo a seguir mostra como adicionar uma política de atualização. Durante uma atualização, o grupo do Auto Scaling atualiza as instâncias em lotes de dois e mantém no mínimo uma instância em serviço. Como o sinalizador WaitOnResourceSignals está definido, o grupo de Auto Scaling aguarda pelas novas instâncias que serão adicionadas ao grupo. As novas instâncias devem sinalizar ao grupo do Auto Scaling antes que ele atualize o próximo lote de instâncias.

JSON

"ASG" : { "Type" : "AWS::AutoScaling::AutoScalingGroup", "Properties" : { "AvailabilityZones" : [ "us-east-1a", "us-east-1b" ], "DesiredCapacity" : "1", "LaunchConfigurationName" : { "Ref" : "LaunchConfig" }, "MaxSize" : "4", "MinSize" : "1" }, "UpdatePolicy" : { "AutoScalingScheduledAction" : { "IgnoreUnmodifiedGroupSizeProperties" : "true" }, "AutoScalingRollingUpdate" : { "MinInstancesInService" : "1", "MaxBatchSize" : "2", "WaitOnResourceSignals" : "true", "PauseTime" : "PT10M" } } }, "ScheduledAction" : { "Type" : "AWS::AutoScaling::ScheduledAction", "Properties" : { "AutoScalingGroupName" : { "Ref" : "ASG" }, "DesiredCapacity" : "2", "StartTime" : "2017-06-02T20 : 00 : 00Z" } }

YAML

ASG: Type: 'AWS::AutoScaling::AutoScalingGroup' Properties: AvailabilityZones: - us-east-1a - us-east-1b DesiredCapacity: '1' LaunchConfigurationName: Ref: LaunchConfig MaxSize: '4' MinSize: '1' UpdatePolicy: AutoScalingScheduledAction: IgnoreUnmodifiedGroupSizeProperties: 'true' AutoScalingRollingUpdate: MinInstancesInService: '1' MaxBatchSize: '2' WaitOnResourceSignals: 'true' PauseTime: PT10M ScheduledAction: Type: 'AWS::AutoScaling::ScheduledAction' Properties: AutoScalingGroupName: Ref: ASG DesiredCapacity: '2' StartTime: '2017-06-02T20 : 00 : 00Z'

Política AutoScalingReplacingUpdate

O exemplo a seguir declara uma política que impõe um grupo do Auto Scaling associado a ser substituído durante uma atualização. Para que a atualização seja bem-sucedida, uma porcentagem de instâncias (especificada pelo parâmetro MinSuccessfulPercentParameter) deve sinalizar o sucesso dentro do período de Timeout.

JSON

"UpdatePolicy" : { "AutoScalingReplacingUpdate" : { "WillReplace" : "true" } }, "CreationPolicy" : { "ResourceSignal" : { "Count" : { "Ref" : "ResourceSignalsOnCreate"}, "Timeout" : "PT10M" }, "AutoScalingCreationPolicy" : { "MinSuccessfulInstancesPercent" : { "Ref" : "MinSuccessfulPercentParameter" } } }

YAML

UpdatePolicy: AutoScalingReplacingUpdate: WillReplace: 'true' CreationPolicy: ResourceSignal: Count: !Ref 'ResourceSignalsOnCreate' Timeout: PT10M AutoScalingCreationPolicy: MinSuccessfulInstancesPercent: !Ref 'MinSuccessfulPercentParameter'

Manter a disponibilidade ao atualizar os metadados do script auxiliar cfn-init

Ao instalar aplicativos de software em suas instâncias, você pode usar chave de metadados AWS::CloudFormation::Init e o script de ajuda cfn-init para inicializar as instâncias no grupo de Auto Scaling. O CloudFormation instala os pacotes, executa os comandos e realiza outras ações de bootstrapping descritas nos metadados.

Ao atualiza apenas os metadados (por exemplo, atualizar um pacote para outra versão), você pode usar o daemon de ajuda cfn-hup para detectar e aplicar as atualizações. No entanto, o daemon cfn-hup será executado de forma independente em cada instância. Se o daemon for executado ao mesmo tempo em todas as instâncias, seu aplicativo ou serviço poderá estar indisponível durante a atualização. Para garantir a disponibilidade, force uma atualização sem interrupção para que o CloudFormation atualize as instâncias um lote por vez.

Importante

Forçar uma atualização sem interrupção requer que o CloudFormation crie uma instância nova e, em seguida, exclua a antiga. Todas as informações armazenadas na instância antiga serão perdidas.

Para forçar uma atualização sem interrupção, altere o ID lógico do recurso de configuração de execução e, em seguida, atualize a pilha e quaisquer referências que apontam para o ID lógico original (como o grupo de Auto Scaling associado). O CloudFormation aciona uma atualização sem interrupção no grupo de Auto Scaling, substituindo todas as instâncias.

Modelo original

"LaunchConfig": { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "Comment" : "Install a simple PHP application", "AWS::CloudFormation::Init" : { ... } } }

Atualização do ID lógico

"LaunchConfigUpdateRubygemsPkg": { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "Comment" : "Install a simple PHP application", "AWS::CloudFormation::Init" : { ... } } }

Política de atualização de alias do Lambda

O exemplo a seguir especifica o atributo UpdatePolicy para um recurso AWS::Lambda::Alias. Todos os detalhes da implantação são definidos pelo aplicativo e pelo grupo de implantação passados para a política.

JSON

"Alias": { "Type": "AWS::Lambda::Alias", "Properties": { "FunctionName": { "Ref": "LambdaFunction" }, "FunctionVersion": { "Fn::GetAtt": [ "FunctionVersionTwo", "Version" ] }, "Name": "MyAlias" }, "UpdatePolicy": { "CodeDeployLambdaAliasUpdate": { "ApplicationName": { "Ref": "CodeDeployApplication" }, "DeploymentGroupName": { "Ref": "CodeDeployDeploymentGroup" }, "BeforeAllowTrafficHook": { "Ref": "PreHookLambdaFunction" }, "AfterAllowTrafficHook": { "Ref": "PreHookLambdaFunction" } } } }

YAML

Alias: Type: 'AWS::Lambda::Alias' Properties: FunctionName: !Ref LambdaFunction FunctionVersion: !GetAtt FunctionVersionTwo.Version Name: MyAlias UpdatePolicy: CodeDeployLambdaAliasUpdate: ApplicationName: !Ref CodeDeployApplication DeploymentGroupName: !Ref CodeDeployDeploymentGroup BeforeAllowTrafficHook: !Ref PreHookLambdaFunction AfterAllowTrafficHook: !Ref PreHookLambdaFunction