Servidor de linguagens do AWS CloudFormation
O servidor de linguagens do AWS CloudFormation fornece recursos para acelerar a criação de infraestrutura como código (IaC) e a implantação de recursos da AWS com segurança e confiança. Ele segue o protocolo de servidor de linguagens
Tópicos
IDEs integrados ao servidor de linguagens do AWS CloudFormation
A extensão do kit de ferramentas da AWS integra o servidor de linguagens do CloudFormation para aprimorar a experiência de criação. Atualmente, essa integração é compatível com os IDEs baseados em VS Code, incluindo:
Introdução
Tópicos
Pré-requisitos
Antes de começar, verifique se:
-
Você está usando um IDE baseado em VS Code em um sistema operacional compatível (macOS, Windows ou Linux).
-
Você instalou ou atualizou para a versão mais recente do kit de ferramentas da AWS
para seu IDE.
Alguns recursos no servidor de linguagens do AWS CloudFormation exigem as credenciais configuradas e ativas da Conta da AWS. Você deve fazer login em sua Conta da AWS por meio do kit de ferramentas da AWS usando credenciais válidas.
Etapa 1: instalar ou atualizar o kit de ferramentas da AWS
-
Abra o gerenciador de extensões ou plug-ins do seu IDE.
-
Pesquise por kit de ferramentas da AWS.
-
Instale ou atualize para a versão 3.85.0 ou posterior do kit de ferramentas da AWS para seu IDE.
-
Reinicie seu IDE após a instalação.
Observação: após a instalação, o kit de ferramentas da AWS habilita automaticamente o suporte ao IDE do CloudFormation. Quando você instala ou atualiza o kit de ferramentas da AWS pela primeira vez com a extensão do servidor de linguagens do AWS CloudFormation, você recebe um prompt para conceder permissão à AWS para coletar dados de uso anônimos. Esses dados ajudam a AWS a melhorar o servidor de linguagens do CloudFormation e aprimoram a experiência de criação. Nenhuma informação sensível é coletada, e AWS não registra nem armazena conteúdo de modelos, configurações de recursos ou quaisquer dados identificáveis do cliente. Você pode alterar suas preferências de telemetria a qualquer momento nas configurações do IDE. Os dados de uso coletados focam apenas as interações de recursos e as métricas de performance. Esses insights ajudam a identificar e priorizar melhorias da AWS, como validação mais rápida, preenchimento automático aprimorado e melhores diagnósticos de erros.
Etapa 2: acessar o CloudFormation no painel do kit de ferramentas da AWS
No seu IDE, abra o painel do kit de ferramentas da AWS na barra de atividades. Em Kit de ferramentas da AWS, escolha CLOUDFORMATION.
Seções do painel:
-
Região: exibe a Região da AWS atual. Você pode alterá-la selecionando o nome da região ou usando o comando AWS CloudFormation: Select Region na paleta de comandos.
-
Ambiente: indica o ambiente que você selecionou durante o CFN init (por exemplo, desenvolvimento, teste ou produção). Esse valor aparece somente após a conclusão da etapa de seleção do ambiente.
-
Pilhas: exibe uma lista paginada das pilhas do CloudFormation em sua conta.
-
Clique no ícone de atualização para atualizar a lista de pilhas.
-
Use o ícone + para implantar um novo modelo como uma pilha.
-
Cada entrada da pilha inclui:
-
Visão geral: exibe o resumo e o status da pilha
-
ID da pilha do
-
Descrição
-
Hora de criação e Hora de atualização
-
Status e Motivo do status
-
Eventos, Saídas e Recursos
-
-
Conjunto de alterações
-
-
Recursos: depois de selecionar um tipo de recurso, o painel exibe os recursos da AWS desse tipo em sua conta. Você pode visualizá-los, atualizá-los, copiá-los ou importá-los para o seu modelo.
Etapa 3: validar, testar e refinar seu modelo
À medida que você escreve seu modelo do CloudFormation, o IDE fornece assistência de criação inteligente para ajudar a criar uma infraestrutura precisa e compatível com mais rapidez. O servidor de linguagens do CloudFormation é executado em segundo plano e fornece os seguintes recursos de criação:
-
Preenchimento de código: sugere tipos de recursos, parâmetros e propriedades com base nos esquemas do CloudFormation.
-
Adicionar recursos existentes da AWS: permite que você importe recursos existentes da sua Conta da AWS para o seu modelo. O IDE usa o AWS API Cloud Control (CCAPI) para recuperar a configuração ativa e as propriedades do recurso, ajudando você a clonar ou a reutilizar a infraestrutura existente em seu modelo.
Para adicionar recursos a seu modelo
-
Expandir o painel Recursos do CloudFormation: no painel lateral do kit de ferramentas da AWS, expanda CloudFormation e, em Recursos, clique no ícone Adicionar +.
-
Pesquisar um tipo de recurso: para encontrar um tipo de recurso específico da AWS, na barra de pesquisa, digite o tipo de recurso específico da AWS que você deseja adicionar. Exemplo:
-
AWS::S3::Bucket -
AWS::Lambda::Function
Você pode selecionar o tipo de recurso usando AWS CloudFormation: Add Resource Types na paleta de comandos.
-
-
Adicionar recursos ao seu modelo: no painel Recursos, uma lista paginada dos recursos da AWS detectados em sua conta é exibida. Se você tiver muitos recursos, somente a primeira página será exibida. Use os controles de navegação na parte inferior do painel para percorrer páginas adicionais e visualizar todos os recursos disponíveis.
-
Escolha o recurso que você deseja incluir em seu modelo.
-
Você pode inserir um recurso em seu modelo de duas formas, dependendo do seu objetivo:
-
Clonar um recurso existente: crie um novo recurso em seu modelo usando a configuração ativa e as propriedades de um recurso existente daAWS.
-
Importar um recurso existente: insira o recurso real em sua pilha adicionando-o ao seu modelo usando seu estado ativo.
-
Dicas
-
Você pode atualizar o painel Recursos a qualquer momento para ver a lista mais recente de recursos disponíveis em sua conta ou região.
-
Se você estiver importando recursos, não adicione um recurso que já pertença a uma pilha existente do CloudFormation na mesma conta.
-
Para confirmar se um recurso já é gerenciado pelo CloudFormation, clique no ícone i (informações) ao lado do nome do recurso.
-
Como alternativa, você pode usar o comando AWS CloudFormation: Get Stack Management Info para verificar se um recurso pertence a uma pilha.
Adicionar recursos relacionados
Você pode adicionar recursos relacionados ao recurso selecionado usando o comando AWS CloudFormation: Add Related Resources by Type. Depois de selecionar um tipo de recurso dos já definidos em seu modelo, o IDE exibirá uma lista de recursos que normalmente estão associados ou dependem desse tipo. Por exemplo, se você selecionar o AWS::EC2::Instance, o IDE poderá sugerir a adição de recursos relacionados, como AWS::EC2::SecurityGroup ou AWS::EC2::Subnet. Esse recurso ajuda você a criar rapidamente componentes de infraestrutura conectados sem procurar manualmente por tipos de recursos compatíveis.
Validação estática
O IDE do CloudFormation fornece validação estática integrada baseada no AWS CloudFormation Linter (cfn-lint)
Visão geral da validação estática
Você verá dois tipos de validações estáticas em tempo real no IDE:
-
CloudFormation Linter (
cfn-lint): valida seu modelo em relação às especificações de recursos e regras de esquema do CloudFormation. -
Guard (
cfn-guard): valida seu modelo em relação às regras de conformidade e aos pacotes de políticas organizacionais.
CloudFormation Linter (cfn-lint)
O CloudFormation Linter é integrado ao IDE para verificar automaticamente a sintaxe e a estrutura do modelo à medida que você digita.
-
Validação do esquema: detecta erros de sintaxe e esquema para garantir que seus modelos estejam em conformidade com o esquema de recursos do CloudFormation.
-
Destaque de erro: exibe linhas onduladas vermelhas ou amarelas abaixo dos problemas, representando bloqueadores ou avisos de implantação.
-
Ajuda ao passar o mouse: quando você passa o mouse sobre um erro, o IDE mostra a mensagem de diagnóstico associada a esse problema. Se uma solução rápida estiver disponível, ela também será oferecida no painel suspenso.
Integração do Guard
O Guard valida seus modelos em relação aos conjuntos de regras que definem as políticas de conformidade e segurança. O IDE executa validações do Guard em tempo real por meio do servidor de linguagens do CloudFormation, fornecendo feedback imediato enquanto você cria modelos.
-
Pacotes de regras padrão: o IDE inclui um conjunto pré-registrado de regras do Guard focado nas práticas recomendadas básicas de segurança de recursos e limpeza da configuração. Para saber mais, acesse o registro de regras de proteção
. -
Adição de pacotes de regras: para adicionar ou modificar conjuntos de regras, abra Configurações, Guard e selecione ou faça upload de pacotes de regras adicionais do Guard.
Dicas: compreensão dos indicadores de linhas onduladas
-
Ondulados azuis: dicas de práticas recomendadas ou recomendações de otimização.
-
Ondulados amarelos: avisos sobre problemas de não bloqueio (por exemplo, tags ou parâmetros ausentes).
-
Ondulados vermelhos: bloqueadores de implantação, como nomes de propriedades inválidos, campos obrigatórios ausentes ou incompatibilidades de esquema.
Etapa 4: navegar pelo modelo
Quando você clica em um arquivo de modelo no Explorador, o painel de Estrutura exibe automaticamente uma visão estruturada e hierárquica do seu modelo do CloudFormation. Ele organiza o modelo em seções como Parameters, Resources, Outputs e Mappings e mostra cada tipo de recurso e ID lógico. Isso facilita a localização e a navegação rápida para recursos ou parâmetros específicos em grandes modelos.
Você pode usar Ir para a definição para funções intrínsecas, como GetAtt eRef, permitindo que você vá diretamente para o recurso ou parâmetro referenciado em seu modelo. Isso ajuda você a rastrear dependências, a entender as relações de recursos e a fazer edições com mais eficiência.
Etapa 5: validar e implantar
Quando estiver pronto para implantar seu modelo do CloudFormation, abra a paleta de comandos e execute AWS CloudFormation: Validate and Deploy. O comando valida seu modelo e, se nenhum erro de bloqueio for encontrado, ele prosseguirá para a fase de implantação. Antes de confirmar, o IDE mostra um resumo do conjunto de alterações sensível a desvios e uma visualização de diferenças para que você possa revisar todas as alterações propostas.
Como a validação funciona
O IDE executa automaticamente uma verificação de validação antes da implantação e valida seu modelo quanto a causas comuns de falha, incluindo:
-
Sintaxe de propriedade inválida ou incompatibilidades de esquema: esses problemas geralmente são detectados pelo
cfn-lintdurante a criação, mas se um usuário continuar a implantar sem resolvê-los, a validação do tempo de implantação do CloudFormation mostrará os mesmos erros antes que a pilha seja criada ou atualizada. -
O nome do recurso está em conflito com os recursos existentes na sua conta.
-
Restrições específicas do serviço, como conflitos de nomes de buckets do S3 ou falta de criptografia.
Se a validação detectar erros, o IDE destacará os problemas diretamente em seu modelo usando linhas onduladas vermelhas ou amarelas e listará os erros no painel PROBLEMAS. Cada problema inclui a propriedade ou o recurso específico que causou a falha, junto com uma sugestão de correção. Se não houver erros de bloqueio, você poderá prosseguir para a fase de implantação.
Se forem encontrados avisos (problemas de não bloqueio), uma caixa de diálogo será exibida permitindo que você continue com a implantação ou cancele e faça correções.
O IDE abre um conjunto de alterações sensível a desvios que exibe todas as diferenças entre seu modelo atual e a configuração da pilha implantada. Isso permite que você revise, confirme ou cancele o conjunto de alterações antes da execução.
Observação: conjuntos de alterações sensíveis a desvios aprimoram o processo de implantação do CloudFormation, permitindo que você gerencie o desvio de pilha com segurança. O desvio de pilha ocorre quando o estado real dos seus recursos é diferente do que está definido no seu modelo do CloudFormation, geralmente devido a alterações manuais feitas por meio do Console de gerenciamento da AWS, da CLI ou do SDK. O conjunto de alterações sensível a desvios do CloudFormation compara sua configuração de pilha processada com o estado ativo do recurso, e o IDE mostra essas diferenças para que você possa trazer os recursos de volta à conformidade antes da implantação.
Visualizar eventos de pilha
Quando a implantação começar, você poderá navegar até a guia CloudFormation no painel para monitorar o progresso em tempo real. Em Eventos de pilha, você verá uma lista das operações realizadas durante a implantação. Cada evento inclui detalhes como:
-
Carimbo de data e hora: a hora em que o evento ocorreu
-
Recurso: o recurso específico da AWS que está sendo criado, atualizado ou excluído
-
Status: o estado atual da operação (por exemplo,
CREATE_IN_PROGRESS,UPDATE_COMPLETEouROLLBACK_IN_PROGRESS) -
Motivo: contexto adicional ou mensagens de erro, se aplicável
Você também pode ver os recursos e as saídas da pilha nesse painel. Se você quiser abrir a pilha no Console de gerenciamento da AWS, use o ícone de link externo ao lado do nome da pilha. A visualização Eventos de pilha ajuda você a acompanhar o progresso da implantação, a identificar possíveis problemas e a confirmar quando sua pilha foi concluída com êxito.
Inicialização de um projeto do CloudFormation no IDE
Inicializar um projeto do CloudFormation no IDE ajuda você a configurar um espaço de trabalho estruturado com as pastas, a configuração do ambiente e as credenciais da AWS corretas para que você possa validar e implantar seus modelos de forma confiável. Você pode inicializar um novo projeto do CloudFormation diretamente do IDE para criar essa configuração recomendada.
Para inicializar um projeto CloudFormation:
-
Abrir a paleta de comandos
-
No seu IDE, abra a paleta de comandos (
Ctrl+Shift+PouCmd+Shift+Pem macOS). -
Escolha AWS CloudFormation: CFN Init: Initialize Project.
-
-
Escolher um diretório de projeto
-
Por padrão, o IDE usará seu diretório de trabalho atual.
-
Você pode alterar esse caminho para qualquer pasta em que deseja armazenar seus modelos do CloudFormation.
-
-
Selecione seu perfil de credencial da AWS
-
Você receberá um prompt para escolher um perfil de credencial da AWS. O perfil selecionado será usado para detecção, validações e implantações do ambiente.
-
-
Configure o ambiente
-
Você receberá um prompt para criar ou selecionar um ambiente.
-
Os ambientes definem onde e como seus modelos serão implantados ou validados (por exemplo, desenvolvimento, versão beta ou produção). Você pode usar AWS CloudFormation: CFN Init: Add Environment para selecionar ou alterar seu ambiente.
-
Você pode usar AWS CloudFormation: CFN Init: Remove Environment para remover o ambiente selecionado.
-
-
(Opcional) Importar arquivos de parâmetros
-
Se você já tiver arquivos de parâmetros existentes, o IDE permitirá importá-los durante a inicialização.
-
O IDE detecta automaticamente arquivos compatíveis e os vincula ao seu projeto para uso na validação e implantação de modelos.
-
-
Nomear e finalizar o projeto
-
Forneça um nome de projeto, como ambiente beta, e conclua a configuração.
-
O IDE cria a estrutura inicial do projeto e o arquivo de configuração para você.
-
Você pode executar validações, visualizar implantações ou alternar entre ambientes diretamente do IDE.
Código aberto
O servidor de linguagens do AWS CloudFormation é de código aberto de acordo com a Licença do Apache-2.0, oferecendo aos clientes total transparência sobre como o diagnóstico de modelos, a validação do esquema e a análise estática são realizados. Isso reduz o atrito de segurança e conformidade para clientes que precisam de visibilidade no nível da origem antes de adotar ferramentas.
A base de código está disponível publicamente no GitHub: https://github.com/aws-cloudformation/cloudformation-languageserver/
Precisa de ajuda?
Experimente a comunidade do CloudFormation