O que é o AWS CloudFormation? - AWS CloudFormation

O que é o AWS CloudFormation?

O AWS CloudFormation é um serviço que ajuda você a modelar e configurar seus recursos da AWS para despender menos tempo gerenciando esses recursos e mais tempo se concentrando em seus aplicativos executados AWS. Você cria um modelo que descreve todos os recursos da AWS desejados (como funções do Amazon EC2 e tabelas do Amazon RDS), e o CloudFormation cuida do provisionamento e da configuração desses recursos para você. Não é necessário criar e configurar individualmente os recursos da AWS e descobrir o que depende do que: o CloudFormation lida com tudo isso. Os cenários a seguir demonstram como o CloudFormation pode ajudar.

Simplificar o gerenciamento de infraestrutura

Para uma aplicação Web escalável que também inclui um banco de dados de backend, é possível usar um grupo do Auto Scaling, um balanceador de carga do Elastic Load Balancing e uma instância de banco de dados do Amazon Relational Database Service. É possível utilizar cada serviço individual para provisionar esses recursos e, depois de criar os recursos, você precisa configurá-los para trabalharem em conjunto. Todas essas tarefas podem adicionar complexidade e tempo antes que você consiga configurar e executar seu aplicativo.

Em vez disso, é possível criar ou modificar um modelo de CloudFormation existente. Um modelo descreve todos os seus recursos e suas propriedades. Ao usar esse modelo para criar uma pilha do CloudFormation, o CloudFormation provisionará o grupo do Auto Scaling, o balanceador de carga e o banco de dados para você. Depois que a pilha tiver sido criada com êxito, seus recursos da AWS estão em funcionamento. É possível excluir a pilha com facilidade, o que exclui todos os recursos na pilha. Ao usar o CloudFormation, você gerencia facilmente um conjunto de recursos como uma unidade.

Replicar sua infraestrutura com rapidez

Se o seu aplicativo requer mais disponibilidade, é possível replicá-lo em várias regiões, de forma que se uma região se tornar indisponível, os usuários ainda podem usar o aplicativo em outras regiões. O desafio da replicação de seu aplicativo é que ele também exige que você replique seus recursos. Além da necessidade de registrar todos os recursos que o seu aplicativo exige, também é necessário provisionar e configurar esses recursos em cada região.

Reutilize seu modelo do CloudFormation para criar seus recursos de modo consistente e repetível. Para reutilizar seu modelo, descreva seus recursos uma vez e, em seguida, provisione os mesmos recursos cada vez mais em diversas regiões.

Controlar e rastrear alterações em sua infraestrutura com facilidade

Em alguns casos, você pode ter recursos subjacentes que deseja atualizar de forma incremental. Por exemplo, é possível mudar para um tipo de instância com maior desempenho em sua configuração de execução do Auto Scaling, de modo que seja possível reduzir o número máximo de instâncias no seu grupo do Auto Scaling. Se ocorrerem problemas após a conclusão da atualização, pode ser necessário reverter sua infraestrutura para as configurações originais. Para fazer isso manualmente, além da necessidade de lembrar quais recursos foram alterados, também é necessário saber quais eram as configurações originais.

Quando você provisiona sua infraestrutura com o CloudFormation, o modelo do CloudFormation descreve exatamente quais recursos são provisionados e as configurações deles. Como esses modelos são arquivos de texto, basta rastrear as diferenças em seus modelos para rastrear alterações em sua infraestrutura, semelhante à forma como os desenvolvedores controlam revisões de código-fonte. Por exemplo, é possível usar um sistema de controle de versão com seus modelos para que você saiba exatamente quais alterações foram feitas, quem as fez e quando elas foram feitas. Se, a qualquer momento, for necessário reverter alterações em sua infraestrutura, use uma versão anterior do seu modelo.