Converta ações do console AWS em código reutilizável com AWS Console-to-Code, agora disponível para o público geral


Converta ações do console AWS em código reutilizável com AWS Console-to-Code, agora disponível para o público geral

Hoje, estamos anunciando a disponibilidade geral (GA) do AWS Console-to-Code que facilita a conversão de ações do console AWS em código reutilizável. Você pode usar o AWS Console-to-Code para registrar suas ações e fluxos de trabalho no console, como iniciar um Amazon Elastic Compute Cloud (Amazon EC2) por exemplo, e revise o Interface de linha de comando da AWS (AWS CLI) comandos para suas ações do console. Com apenas alguns cliques, Amazon Q pode gerar código para você usando o formato de infraestrutura como código (IaC) de sua escolha, incluindo AWS CloudFormation modelo (YAML ou JSON) e Package de desenvolvimento de nuvem AWS (AWS CDK) (TypeScript, Python ou Java). Isso pode ser usado como ponto de partida para automação de infraestrutura e ainda mais personalizado para suas cargas de trabalho de produção, incluído em pipelines e muito mais.

Desde que nós anunciou a prévia no ano passadoo AWS Console-to-Code obteve respostas positivas dos clientes. Agora foi melhorado ainda mais nesta versão GA, porque continuamos a trabalhar de trás para frente a partir do suggestions dos clientes.

Novos recursos no GA

  • Suporte para mais serviços – Durante a visualização, o único serviço compatível foi o Amazon EC2. Na GA, o AWS Console-to-Code estendeu o suporte para incluir Serviço de banco de dados relacional da Amazon (RDS) e Nuvem privada digital da Amazon (Amazon VPC).
  • Experiência simplificada – A nova experiência do usuário facilita aos clientes o gerenciamento dos fluxos de trabalho de prototipagem, gravação e geração de código.
  • Código de visualização – Os assistentes de inicialização para instâncias do EC2 e grupos de Auto Scaling foram atualizados para permitir que os clientes gerem código para esses recursos sem realmente criá-los.
  • Geração avançada de código – A geração de código AWS CDK e CloudFormation é alimentada por modelos de machine studying do Amazon Q.

Conceitos básicos do AWS Console-to-Code
Vamos começar com um cenário simples de inicialização de uma instância do Amazon EC2. Comece acessando o Console Amazon EC2. Localize o widget AWS Console-to-Code à direita e escolha Comece a gravar para iniciar a gravação.

Agora, iniciar uma instância do Amazon EC2 usando o assistente de execução da instância no console do Amazon EC2. Depois que a instância for iniciada, escolha Parar para concluir a gravação.

No Ações gravadas tabela, revise as ações que foram registradas. Use o Tipo lista suspensa para filtrar por ações de gravação (Escrever). Escolha o RunInstances Ação. Selecione Copiar CLI para copiar o comando correspondente da AWS CLI.

Este é o comando CLI que recebi do AWS Console-to-Code:

aws ec2 run-instances 
  --image-id "ami-066784287e358dad1" 
  --instance-type "t2.micro" 
  --network-interfaces '{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Teams":("sg-1z1c11zzz1c11zzz1")}' 
  --credit-specification '{"CpuCredits":"normal"}' 
  --tag-specifications '{"ResourceType":"occasion","Tags":({"Key":"Title","Worth":"c2c-demo"})}' 
  --metadata-options '{"HttpEndpoint":"enabled","HttpPutResponseHopLimit":2,"HttpTokens":"required"}' 
  --private-dns-name-options '{"HostnameType":"ip-name","EnableResourceNameDnsARecord":true,"EnableResourceNameDnsAAAARecord":false}' 
  --count "1"

Este comando pode ser facilmente modificado. Para este exemplo, atualizei-o para iniciar duas instâncias (--count 2) do tipo t3.micro (--instance-type). Este é um exemplo simplificado, mas a mesma técnica pode ser aplicada a outros fluxos de trabalho.

Eu executei o comando usando AWS CloudShell e funcionou como esperado, lançando dois t3.micro Instâncias EC2:

A experiência de geração de código CLI com um único clique é baseada nos comandos de API que foram usados ​​quando as ações foram executadas (durante a inicialização da instância do EC2). É interessante notar que a tela complementar mostra ações gravadas conforme você as conclui no console. E graças à interface de usuário interativa com funcionalidade de iniciar e parar, é fácil definir claramente o escopo das ações para prototipagem.

Geração IaC usando AWS CDK
AWS CDK é uma estrutura de código aberto para definir infraestrutura de nuvem em código e provisioná-la por meio do AWS CloudFormation. Com o AWS Console-to-Code, você pode gerar código AWS CDK (atualmente em Java, Python e TypeScript) para seus fluxos de trabalho de infraestrutura.

Vamos continuar com o caso de uso da instância de inicialização do EC2. Se você ainda não fez isso, no Console Amazon EC2localize o widget AWS Console-to-Code à direita e escolha Comece a gravare iniciar uma instância EC2. Depois que a instância for iniciada, escolha Parar para concluir a gravação e escolha o RunInstances ação do Ações gravadas mesa.

Para gerar o código Python do AWS CDK, escolha o Gerar CDK Python botão na lista suspensa.

Você pode usar o código como ponto de partida, personalizando-o para torná-lo pronto para produção para seu caso de uso específico.

Eu já tinha o AWS CDK instalado, então criei um novo projeto Python CDK:

mkdir c2c_cdk_demo
cd c2c_cdk_demo
cdk init app --language python

Em seguida, conectei o código gerado no projeto Python CDK. Para este exemplo, refatorei o código em um Pilha AWS CDKalterou o tipo de instância do EC2 e fez outras pequenas alterações para garantir que o código estava correto. Eu o implantei com sucesso usando cdk deploy.

Consegui ir da ação do console para iniciar uma instância do EC2 e depois ir até o AWS CDK para reproduzir o mesmo resultado.

from aws_cdk import (
    Stack,
    aws_ec2 as ec2,
)
from constructs import Assemble

class MyProjectStack(Stack):

    def __init__(self, scope: Assemble, construct_id: str, **kwargs) -> None:
        tremendous().__init__(scope, construct_id, **kwargs)

        existing_vpc = ec2.Vpc.from_lookup(self, "ExistingVPC",
            is_default=True
        )

        occasion = ec2.Occasion(self, "Occasion",
                instance_type=ec2.InstanceType("t3.micro"),
                machine_image=ec2.AmazonLinuxImage(),
                vpc=existing_vpc,
                vpc_subnets=ec2.SubnetSelection(
                    subnet_type=ec2.SubnetType.PUBLIC
                )
        )

Você também pode gerar o modelo CloudFormation no formato YAML ou JSON:

Código de visualização
Você também pode acessar diretamente o AWS Console-to-Code em Código de visualização recurso no Amazon EC2 e Escalonamento automático do Amazon EC2 experiência de lançamento em grupo. Isso significa que você não precisa realmente criar o recurso para obter o código da infraestrutura.

Para experimentar isso, siga as etapas para criar um grupo do Auto Scaling usando um modelo de execução. Contudo, em vez de Criar grupo de Auto Scalingclique Código de visualização. Agora você deve ver as opções para gerar código de infraestrutura ou copiar o comando AWS CLI.

Coisas para saber
Aqui estão algumas coisas que você deve considerar ao usar o AWS Console-to-Code:

  • Qualquer pessoa pode usar o AWS Console-to-Code para gerar comandos da AWS CLI para seus fluxos de trabalho de infraestrutura. O recurso de geração de código para os formatos AWS CDK e CloudFormation tem uma cota gratuita de 25 gerações por mês, após a qual você precisará de um Assinatura do Amazon Q Developer.
  • É recomendável testar e verificar o código IaC gerado antes da implantação.
  • Na GA, o AWS Console-to-Code registra apenas ações nos consoles Amazon EC2, Amazon VPC e Amazon RDS.
  • O Ações registradas A tabela no AWS Console-to-Code exibe apenas as ações realizadas durante a sessão atual na guia específica do navegador e não retém ações de sessões anteriores ou de outras guias. Observe que atualizar a guia do navegador resultará na perda de todas as ações registradas.

Agora disponível
O AWS Console-to-Code está disponível em todas as regiões comerciais. Você pode aprender mais sobre isso no Guia do usuário do desenvolvedor Amazon Q. Experimente no Console Amazon EC2 e enviar suggestions para o AWS re:Put up para Amazon EC2 ou por meio de seus contatos habituais do AWS Help.

Atualizado em 10 de outubro de 2024: Hyperlink da documentação atualizado para “saiba mais”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *