CloudFormation com um ELB e seus dns públicos

2

Estou usando o Cloudformation para criar uma pilha com carga balanceada.

Minha preocupação é que, cada vez que a pilha for recriada, o URL público do ELB será alterado, o que exigirá uma alteração no alias do domínio do route 53 do site, para apontar para o novo URL do ELB.

Posso adicionar a configuração do Cloudformation para automatizar isso, mas tenho receio de que o site fique inativo por alguns minutos toda vez que a pilha for recriada devido a problemas de propagação do DNS.

Pelo que entendi, o R53 atualizará o alias em cerca de 60 segundos, mas o armazenamento em cache dos servidores DNS pode não obedecer ao TTL e pode levar na ordem dos minutos para atualizar.

Uma opção é executar a pilha antiga e a nova juntas, mas as instâncias do RDS em cada VPC precisarão ser sincronizadas de alguma forma.

Além disso, parece que não há uma opção no Cloudformation para associar um ELB existente a uma pilha, portanto, manter um ELB separado na pilha parece não ser uma opção.

Então, qual é a solução correta? Como posso evitar qualquer tempo de inatividade perceptível ao substituir uma pilha de produção por uma nova pilha de CF.

    
por user307927 11.02.2015 / 22:20

1 resposta

1

você pode usar uma política de pilha para impedir que atualizações de pilha atualizem o recurso ELB.

documentação aqui: link

exemplo:

{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::ElasticLoadBalancing::LoadBalancer"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
    
por 02.04.2015 / 18:22