P: O que é o AWS CloudFormation?

O AWS CloudFormation é um serviço que fornece aos desenvolvedores e empresas uma forma rápida de criar um conjunto de recursos relacionados da AWS e oferecê-los de maneira organizada e previsível.

P: O que os desenvolvedores podem fazer agora com o AWS CloudFormation que não podiam antes?

O AWS CloudFormation automatiza e simplifica a tarefa de criar repetidamente e previsivelmente grupos de recursos relacionados que dão suporte aos aplicativos. A criação e interconexão de todos os recursos exigidas para que o aplicativo seja executado agora são tão simples quanto a criação de uma única instância do EC2 ou RDS.

P: No que o AWS CloudFormation difere do AWS Elastic Beanstalk?

Estes serviços são projetados para serem complementares. O AWS Elastic Beanstalk fornece um ambiente para desenvolver e executar facilmente aplicativos na nuvem. Ele está integrado às ferramentas do desenvolvedor e fornece uma experiência unificada para a gestão do ciclo de vida dos seus aplicativos. O AWS CloudFormation é um mecanismo de implementação conveniente para uma ampla gama de recursos da AWS. Ele oferece as necessidades de infraestrutura de muitos tipos diferentes de aplicativos, como aplicativos corporativos existentes, aplicativos legados, aplicativos criados usando uma série de recursos da AWS e soluções baseadas em contêineres (incluindo aquelas criadas usando o AWS Elastic Beanstalk).

O AWS CloudFormation oferece suporte a ambientes do aplicativo Elastic Beanstalk como um dos tipos de recursos da AWS. Isso permite que você, por exemplo, crie e gerencie um aplicativo hospedado no AWS Elastic Beanstalk junto a um banco de dados RDS para armazenar os dados do aplicativo. Além de instâncias do RDS, qualquer outro recurso suportado pelo AWS também pode ser adicionado ao grupo.

P: Quais novos conceitos o AWS CloudFormation apresenta?

O AWS CloudFormation introduz dois conceitos: modelo, um arquivo texto em formato JSON que descreve todos os recursos da AWS necessários para implementar e executar o aplicativo e pilha, o conjunto de recursos da AWS que é criado e gerenciado de forma unificada quando o AWS CloudFormation instancia um modelo.

P: Como faço para começar a usar o AWS CloudFormation?

O AWS CloudFormation pode ser facilmente acessado por meio do AWS Management Console, que fornece uma interface web do tipo apontar e clicar para implementar e gerenciar pilhas. Você pode criar uma nova pilha no AWS Management Console em algumas etapas simples:

  1. Atribua um nome à pilha: forneça um nome único para a pilha.
  2. Selecione um modelo.: Selecione um modelo do seu sistema de arquivos local ou de um URL do Amazon S3. Este poderá ser um dos modelos de exemplo do AWS CloudFormation, seu próprio modelo personalizado, um modelo que você está gerenciando em um repositório de controle de versão ou um modelo obtido de terceiros.
  3. Especifique parâmetros.: Se o modelo permite a configuração da implementação, preencha quaisquer parâmetros ou use os valores padrão especificados.
  4. Clique em "Create" (Criar): inicia a implementação. É possível observar o estado atual da implementação, com todos os nomes de recursos e eventos de pilha no AWS Management Console.

P: Quais recursos o AWS CloudFormation suporta?

O AWS CloudFormation atualmente suporta recursos nos seguintes serviços da AWS:

  • Auto Scaling
  • Amazon CloudFront
  • AWS CloudTrail
  • AWS CloudWatch
  • Amazon DynamoDB
  • Amazon EC2
  • Amazon ElastiCache
  • AWS Elastic Beanstalk
  • AWS Elastic Load Balancing
  • Amazon Kinesis
  • AWS Identity and Access Management
  • AWS OpsWorks
  • Amazon RDS
  • Amazon Redshift
  • Amazon Route 53
  • Amazon S3
  • Amazon SimpleDB
  • Amazon SNS
  • Amazon SQS
  • Amazon VPC

Os recursos personalizados do AWS CloudFormation possibilitam o gerenciamento de recursos adicionais da AWS e de outros fornecedores.

P: Posso gerenciar recursos individuais da AWS que fazem parte de uma pilha do AWS CloudFormation?

Sim. O AWS CloudFormation não atrapalha; você detém o controle total de todos os elementos da sua infraestrutura. Você pode continuar usando todas as suas ferramentas existentes da AWS e de terceiros para gerenciar os recursos da AWS.

P: Quais são os elementos de um modelo do AWS CloudFormation?

Os modelos do AWS CloudFormation são arquivos de texto com formatação JSON compostos por cinco tipos de elementos:

  1. Uma lista opcional de parâmetros do modelo (valores de entrada fornecidos no momento da criação da pilha)
  2. Uma lista opcional dos valores de saída (por ex., o URL completo para um aplicativo da Web)
  3. Uma lista opcional das tabelas de dados usadas para pesquisar valores estáticos de configuração (por ex., nomes de AMIs)
  4. A lista de recursos do AWS e seus valores de configuração
  5. Um número da versão do formato de arquivo do modelo

Com os parâmetros, você pode customizar os aspectos do modelo em tempo de execução, quando a pilha é criada. Por exemplo, o tamanho do banco de dados RDS, os tipos de instância do Amazon EC2 e números de portas de bancos de dados e servidores web podem ser passados para o AWS CloudFormation quando uma pilha é criada. Cada parâmetro tem um valor e uma descrição padrão e pode ser marcado como ''NoEcho'' para ocultar o valor real informado na tela e nos logs de evento do AWS CloudFormation. Ao criar uma pilha do AWS CloudFormation, o AWS Management Console automaticamente sintetizará e apresentará uma caixa de diálogo pop-up para que você edite valores dos parâmetros.

Os valores de saída são uma forma bastante conveniente de apresentar os recursos-chave de uma pilha (como o endereço de um load balancer do Elastic Load Balancing ou um banco de dados do Amazon RDS) para o usuário pelo AWS Management Console ou pelas ferramentas de linha de comando. É possível usar funções simples para concatenar literais de sequência de caracteres e o valor dos atributos associados aos recursos da AWS.

P: Como o AWS CloudFormation seleciona nomes de recursos reais?

É possível atribuir nomes lógicos aos recursos da AWS em um modelo. Quando uma pilha é criada, o AWS CloudFormation vincula o nome lógico ao nome do recurso real correspondente da AWS. Os nomes dos recursos reais são uma combinação da pilha e do nome do recurso lógico. Isso permite que várias pilhas sejam criadas com base em um modelo sem medo de que ocorra coincidências de nomes entre os recursos da AWS.

P: Posso instalar softwares no momento de criação da pilha usando o AWS CloudFormation?

Sim. O AWS CloudFormation fornece um conjunto de scripts de inicialização de aplicativos que permitem a instalação de pacotes, arquivos e serviços nas instâncias EC2 simplesmente descrevendo-os no modelo do CloudFormation. Para obter mais detalhes e um guia passo a passo, consulte o bootstrapping de aplicativos por meio do AWS CloudFormation.

P: Posso usar o AWS CloudFormation com o Opscode Chef?

Sim. O AWS CloudFormation pode ser usado para iniciar o software Chef Server e Chef Client em suas instâncias EC2. Para obter mais detalhes e saber mais, consulte Integração do AWS CloudFormation com o Opscode Chef.

P: Posso usar o AWS CloudFormation com o Puppet?

Sim. O AWS CloudFormation pode ser usado para iniciar o software Puppet Master e o Puppet Client em suas instâncias EC2. Para obter mais detalhes e saber mais, consulte Integração do AWS CloudFormation com o Puppet.

P: O AWS CloudFormation oferece suporte à identificação do Amazon EC2?

Sim. Os recursos do Amazon EC2 que oferecem suporte ao recurso de identificação também podem ser identificados em um modelo da AWS. Os valores de tag podem se referir a parâmetros do modelo, ao nome de outros recursos, valores de atributos de recursos (por ex., endereços) ou a valores computados por funções simples (por ex., uma lista de sequências de caracteres concatenadas).

O AWS CloudFormation identifica automaticamente volumes do Amazon EBS e instâncias do EC2 com o nome da pilha do AWS CloudFormation da qual fazem parte.

P: Tenho acesso à instância do Amazon EC2 ou aos campos de dados de usuários da configuração de execução do Auto Scaling?

Sim. Você pode usar funções simples para concatenar literais de strings e valores de atributos dos recursos da AWS e transmiti-los para campos de dados dos usuários no seu modelo. Consulte nossos modelos de exemplo para obter mais informações sobre essas funções fáceis de usar.

P: O que acontece quando um dos recursos em uma pilha não pode ser criado com êxito?

Como padrão, o recurso "automatic rollback on error" está habilitado. Isso fará com que todos os recursos da AWS que o AWS CloudFormation criou com êxito para um empilhamento até o ponto em que ocorreu o erro sejam excluídos. Isso é útil quando, por exemplo, você ultrapassar acidentalmente o limite padrão dos endereços Elastic IP ou não tiver acesso a um AMI do EC2 que está tentando executar. Esse recurso permite que você baseie-se no fato de que as pilhas foram totalmente criadas ou não foram, o que simplifica a administração do sistema e soluções em camadas criadas sobre o AWS CloudFormation.

P: A criação de uma pilha pode aguardar a inicialização do aplicativo?

Sim. O AWS CloudFormation fornece um recurso WaitCondition que atua como uma barreira, bloqueando a criação de outros recursos até que um sinal de conclusão seja recebido de uma fonte externa como seu aplicativo ou sistema de gerenciamento.

P: Posso salvar os dados quando uma pilha for excluída?

Sim. O AWS CloudFormation permite que você defina políticas de exclusão para recursos no modelo. É possível especificar que snapshots sejam criadas para volumes do Amazon EBS ou instâncias do banco de dados do Amazon RDS antes de serem excluídas. Você também pode especificar que um recurso seja preservado e não excluído quando a pilha for excluída. Isso é útil para preservar os buckets do Amazon S3 quando a pilha for excluída.

P: Posso atualizar minha pilha após ela ter sido criada?

Sim. Você pode usar o AWS CloudFormation para modificar e atualizar os recursos em suas pilhas existentes de forma controlada e previsível. Ao usar modelos para gerenciar suas alterações de pilha, você passa a ter o controle de versão da sua infraestrutura na AWS da mesma maneira que controla o software em execução nela.

P: Posso criar pilhas em uma Virtual Private Cloud (VPC)?

Sim. O CloudFormation suporta criar VPCs, sub-redes, gateways, tabelas de rota e conexões ACL, assim como criar recursos, tais como Elastic IPs, instâncias EC2 Amazon, grupos de segurança EC2, grupos de autoescalabilidade, Elastic Load Balancers, instâncias do banco de dados Amazon RDS e grupos de segurança Amazon RDS em uma VPC.



P: Como faço para me conectar ao AWS CloudFormation?

Para se inscrever no AWS CloudFormation, clique em criar conta gratuita na página de detalhes do AWS CloudFormation. Após realizar o login, consulte a documentação do AWS CloudFormation, que inclui nosso guia de conceitos básicos.

P: Por que é solicitado que eu verifique o número de telefone ao me conectar ao AWS CloudFormation?

O registro do AWS CloudFormation requer que você tenha um número de telefone válido e um endereço de e-mail arquivado junto à AWS caso precisemos entrar em contato. Verificar o número de telefone leva apenas alguns minutos e envolve o recebimento de um telefonema automatizado durante o processo de registro e a inserção de um número PIN usando o teclado do telefone.

P: Como faço para começar a usar após ter me conectado?

A melhor maneira de começar a usar o AWS CloudFormation é consultar o Guia de Introdução, que está incluído em nossa documentação técnica. Em alguns minutos, você poderá implementar e usar um dos nossos modelos de exemplo que ilustram como criar a infraestrutura necessária para executar aplicativos como Tracks, WordPress e outros.

P: Há modelos de exemplo que posso usar para verificar o AWS CloudFormation?

Sim, o AWS CloudFormation inclui modelos de exemplo que podem ser usados para testar a oferta e explorar suas funcionalidades. Nossos modelos de exemplo ilustram como interconectar e usar vários recursos da AWS em conjunto, seguindo práticas recomendadas para a redundância com várias zonas de disponibilidade, escalabilidade horizontal e alertas. Para começar, tudo o que você precisa é se dirigir ao AWS Management Console, clicar em Criar pilha e seguir os passos para selecionar e executar um dos nossos exemplos. Uma vez criada, selecione a pilha no console e consulte as guias Modelo e Parâmetro para avaliar os detalhes do arquivo de modelo usado para criar a respectiva pilha.

P: Quanto custa o AWS CloudFormation?

Não há encargo adicional para o AWS CloudFormation. Você paga apenas pelos recursos do AWS criados (por ex., instâncias do Amazon EC2, load balancers do Elastic Load Balancing etc.)

P: Haverá cobrança pelos recursos que foram implementados durante a tentativa falha de criação de uma pilha?

Sim. Cobranças referentes a recursos da AWS criados durante a instância do modelo aplicam-se independentemente de a pilha como um todo ter sido criada com êxito ou não.

P: Há limites quanto ao número de modelos ou pilhas?

Não há limites quanto ao número de modelos. Cada conta do AWS CloudFormation tem um limite máximo de 20 pilhas. Preencha nossa solicitação de limite maior aqui e responderemos à solicitação em até dois dias úteis.

P: Há limites quanto ao tamanho dos campos de descrição?

Os campos de descrição de modelo, parâmetro, saída e recurso são limitados em 4096 caracteres.

P: Há limites para o número de parâmetros ou saídas em um modelo?

Você pode incluir até 60 parâmetros e 60 saídas em um modelo.

P: O AWS CloudFormation está disponível em todas as regiões onde os serviços da AWS estão disponíveis?

No momento, o AWS CloudFormation está disponível nas regiões Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Oeste dos EUA (Norte da Califórnia), UE (Irlanda), UE (Frankfurt), Ásia-Pacífico (Cingapura), Ásia-Pacífico (Tóquio), Ásia-Pacífico (Sydney), América do Sul (São Paulo) e AWS GovCloud (EUA).

P: Quais são os pontos de acesso de serviço do AWS CloudFormation em cada região?