|
Hoy anunciamos la disponibilidad general (GA) de AWS Console-to-Code, que facilita la conversión de acciones de la consola de AWS en código reutilizable. Puede utilizar AWS Console-to-Code para registrar sus acciones y flujos de trabajo en la consola, como lanzar una instancia de Amazon Elastic Compute Cloud (Amazon EC2), y revisar los comandos de AWS Command Line Interface (AWS CLI) para las acciones de su consola. Con solo unos pocos clics, Amazon Q puede generar código para usted utilizando el formato de infraestructura como código (IaC) de su elección, incluida la plantilla de AWS CloudFormation (YAML o JSON) y el kit de desarrollo de la nube de AWS (AWS CDK) (TypeScript, Python o Java). Esto se puede utilizar como punto de partida para la automatización de la infraestructura y personalizarlo aún más para sus cargas de trabajo de producción, incluirlo en canalizaciones y más.
Desde que anunciamos la versión preliminar el año pasado, AWS Console-to-Code ha obtenido una respuesta positiva de los clientes. Ahora se ha mejorado aún más en esta versión GA, porque hemos seguido trabajando en retrospectiva a partir de los comentarios de los clientes.
Nuevas funciones en GA
- Soporte para más servicios – Durante la versión preliminar, el único servicio compatible fue Amazon EC2. En GA, AWS Console-to-Code ha ampliado el soporte para incluir Amazon Relational Database Service (RDS) y Amazon Virtual Private Cloud (Amazon VPC).
- Experiencia simplificada – La nueva experiencia de usuario facilita a los clientes la gestión de los flujos de trabajo de creación de prototipos, grabación y generación de código.
- Código de vista previa – Los asistentes de lanzamiento para instancias EC2 y grupos de Auto Scaling se actualizaron para permitir a los clientes generar código para estos recursos sin tener que crearlos realmente.
- Generación de código avanzada – La generación de código de AWS CDK y CloudFormation está impulsada por los modelos de aprendizaje automático de Amazon Q.
Introducción a AWS Console-to-Code
Comencemos con un escenario simple de lanzamiento de una instancia Amazon EC2. Comience accediendo a la consola de Amazon EC2. Localice el widget de consola a código de AWS a la derecha y elija Empezar a grabar para iniciar la grabación.
Ahora, inicie una instancia de Amazon EC2 utilizando el asistente de lanzamiento de instancias en la consola de Amazon EC2. Después de lanzar la instancia, elija Detener para completar la grabación.
En el Acciones grabadas tabla, revise las acciones que se registraron. Utilice el Tipo lista desplegable para filtrar por acciones de escritura (Escribir). Elige el RunInstances
acción. Seleccionar Copiar CLI para copiar el comando de AWS CLI correspondiente.
Este es el comando CLI que obtuve de AWS Console-to-Code:
aws ec2 run-instances \
--image-id "ami-066784287e358dad1" \
--instance-type "t2.micro" \
--network-interfaces '{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Groups":["sg-1z1c11zzz1c11zzz1"]}' \
--credit-specification '{"CpuCredits":"standard"}' \
--tag-specifications '{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"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 se puede modificar fácilmente. Para este ejemplo, lo actualicé para lanzar dos instancias (--count 2
) de tipo t3.micro
(--instance-type
). Este es un ejemplo simplificado, pero la misma técnica se puede aplicar a otros flujos de trabajo.
Ejecuté el comando usando AWS CloudShell y funcionó como se esperaba, lanzando dos t3.micro
Instancias EC2:
La experiencia de generación de código CLI con un solo clic se basa en los comandos API que se utilizaron cuando se ejecutaron las acciones (al iniciar la instancia EC2). Es interesante notar que la pantalla complementaria muestra acciones grabadas a medida que las completas en la consola. Y gracias a la interfaz de usuario interactiva con funcionalidad de inicio y parada, es fácil definir claramente el alcance de las acciones para la creación de prototipos.
Generación de IaC usando AWS CDK
AWS CDK es un marco de código abierto para definir la infraestructura de la nube en código y aprovisionarla a través de AWS CloudFormation. Con AWS Console-to-Code, puede generar código AWS CDK (actualmente en Java, Python y TypeScript) para los flujos de trabajo de su infraestructura.
Continuaremos con el caso de uso de la instancia de lanzamiento EC2. Si aún no lo ha hecho, en la consola de Amazon EC2, ubique el widget de consola a código de AWS a la derecha, elija Empezar a grabary lanzar una instancia EC2. Después de lanzar la instancia, elija Detener para completar la grabación y elegir el RunInstances
acción de la Acciones grabadas mesa.
Para generar código Python de AWS CDK, elija el Generar CDK Python botón de la lista desplegable.
Puede utilizar el código como punto de partida, personalizándolo para que esté listo para producción para su caso de uso específico.
Ya tenía instalado AWS CDK, así que creé un nuevo proyecto de Python CDK:
mkdir c2c_cdk_demo
cd c2c_cdk_demo
cdk init app --language python
Luego, conecté el código generado en el proyecto CDK de Python. Para este ejemplo, refactoricé el código en una pila de AWS CDK, cambié el tipo de instancia EC2 e hice otros cambios menores para garantizar que el código fuera correcto. Lo implementé exitosamente usando cdk deploy
.
Pude pasar de la acción de la consola para iniciar una instancia EC2 y luego hasta AWS CDK para reproducir el mismo resultado.
from aws_cdk import (
Stack,
aws_ec2 as ec2,
)
from constructs import Construct
class MyProjectStack(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
existing_vpc = ec2.Vpc.from_lookup(self, "ExistingVPC",
is_default=True
)
instance = ec2.Instance(self, "Instance",
instance_type=ec2.InstanceType("t3.micro"),
machine_image=ec2.AmazonLinuxImage(),
vpc=existing_vpc,
vpc_subnets=ec2.SubnetSelection(
subnet_type=ec2.SubnetType.PUBLIC
)
)
También puede generar una plantilla de CloudFormation en formato YAML o JSON:
Código de vista previa
También puede acceder directamente a AWS Console-to-Code desde Código de vista previa característica en la experiencia de lanzamiento del grupo Amazon EC2 y Amazon EC2 Auto Scaling. Esto significa que no es necesario crear el recurso para obtener el código de infraestructura.
Para probar esto, siga los pasos para crear un grupo de Auto Scaling usando una plantilla de lanzamiento. Sin embargo, en lugar de Crear grupo de Auto Scalinghaga clic Código de vista previa. Ahora debería ver las opciones para generar código de infraestructura o copiar el comando AWS CLI.
Cosas que debes saber
Aquí hay algunas cosas que debe considerar al utilizar AWS Console-to-Code:
- Cualquiera puede utilizar AWS Console-to-Code para generar comandos de AWS CLI para sus flujos de trabajo de infraestructura. La función de generación de código para los formatos AWS CDK y CloudFormation tiene una cuota gratuita de 25 generaciones por mes, después de lo cual necesitará una suscripción a Amazon Q Developer.
- Se recomienda probar y verificar el código IaC generado antes de la implementación.
- En GA, AWS Console-to-Code solo registra acciones en las consolas de Amazon EC2, Amazon VPC y Amazon RDS.
- El Acciones grabadas La tabla en AWS Console-to-Code solo muestra las acciones realizadas durante la sesión actual dentro de la pestaña específica del navegador y no retiene acciones de sesiones anteriores u otras pestañas. Tenga en cuenta que actualizar la pestaña del navegador provocará la pérdida de todas las acciones registradas.
Ahora disponible
AWS Console-to-Code está disponible en todas las regiones comerciales. Puede obtener más información al respecto en la documentación de Amazon EC2. Pruébelo en la consola de Amazon EC2 y envíe comentarios al AWS re: Publicación para Amazon EC2 o a través de sus contactos habituales de AWS Support.
GIPHY App Key not set. Please check settings