Esta es la guía para AWS CDK desarrolladores de la versión 2. La versión anterior del CDK v1 entró en mantenimiento el 1 de junio de 2022 y dejó de ofrecer soporte el 1 de junio de 2023.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
¿Qué es el AWS CDK?
AWS Cloud Development Kit (AWS CDK) Es un marco de desarrollo de software de código abierto para definir la infraestructura de la nube en el código y aprovisionarla mediante ella. AWS CloudFormation
AWS CDK Consta de dos partes principales:
-
AWS CDK Biblioteca de construcción: una colección de piezas de código modulares y reutilizables preescritas, denominadas construcciones, que puede usar, modificar e integrar para desarrollar su infraestructura rápidamente. El objetivo de la biblioteca AWS CDK Construct es reducir la complejidad necesaria para definir e integrar los AWS servicios juntos a la hora de crear aplicaciones. AWS
-
AWS CDK Kit de herramientas: una herramienta de línea de comandos para interactuar con las aplicaciones de CDK. Use el AWS CDK kit de herramientas para crear, administrar e implementar sus proyectos. AWS CDK
Los AWS CDK soportesTypeScript,JavaScript,Python, JavaC#/.Net, yGo. Puede usar cualquiera de estos lenguajes de programación compatibles para definir componentes de nube reutilizables conocidos como construcciones. Los puede agrupar en pilas y aplicaciones. Luego, despliega sus aplicaciones de CDK para AWS CloudFormation aprovisionar o actualizar sus recursos.
![](images/AppStacks.png)
Ventajas de la AWS CDK
Úselo AWS CDK para desarrollar aplicaciones confiables, escalables y rentables en la nube con el considerable poder expresivo de un lenguaje de programación. Este enfoque ofrece muchos beneficios, entre los que se incluyen:
- Desarrolle y administre su infraestructura como código (IaC)
-
Practique la infraestructura como código para crear, implementar y mantener la infraestructura de forma programática, descriptiva y declarativa. Con IaC, se trata la infraestructura de la misma manera que los desarrolladores tratan el código. Esto da como resultado un enfoque escalable y estructurado para administrar la infraestructura. Para obtener más información sobre la IaC, consulte La infraestructura como código en la Introducción a un DevOps documento AWS técnico.
Con él AWS CDK, puede colocar la infraestructura, el código de la aplicación y la configuración en un solo lugar, lo que garantiza que cuenta con un sistema completo que se pueda implementar en la nube en cada etapa. Emplee las mejores prácticas de ingeniería de software, como revisiones de código, pruebas unitarias y control de código fuente, para que su infraestructura sea más sólida.
- Defina su infraestructura de nube mediante lenguajes de programación de uso general
-
Con él AWS CDK, puede utilizar cualquiera de los siguientes lenguajes de programación para definir su infraestructura de nube:TypeScript,JavaScript, Python JavaC#/.Net, y. Go Elija el lenguaje que prefiera y utilice elementos de programación como parámetros, condicionales, bucles, composición y herencia para definir el resultado deseado de su infraestructura.
Utilice el mismo lenguaje de programación para definir la infraestructura y la lógica de la aplicación.
Disfrute de las ventajas de desarrollar una infraestructura en el IDE (entorno de desarrollo integrado) que prefiera, como el resaltado de la sintaxis y la finalización inteligente del código.
- Implemente la infraestructura mediante AWS CloudFormation
-
AWS CDK se integra con AWS CloudFormation para implementar y aprovisionar su infraestructura AWS. AWS CloudFormation es un sistema gestionado Servicio de AWS que ofrece un amplio soporte de configuraciones de recursos y propiedades para el aprovisionamiento de servicios en AWS. Con él AWS CloudFormation, puede realizar despliegues de infraestructura de forma predecible y repetida, con la posibilidad de revertirlos en caso de error. Si ya lo conoce AWS CloudFormation, no tiene que aprender un nuevo servicio de administración de iAC para empezar con él. AWS CDK
- Comience a desarrollar su aplicación rápidamente con construcciones
-
Desarrolle más rápido utilizando y compartiendo componentes reutilizables denominados componentes constructos. Utilice construcciones de bajo nivel para definir los AWS CloudFormation recursos individuales y sus propiedades. Utilice estructuras de alto nivel para definir rápidamente los componentes más grandes de su aplicación, con valores predeterminados razonables y seguros para sus AWS recursos, lo que permite definir más infraestructura con menos código.
Cree sus propias estructuras personalizadas para sus casos de uso específicos y compártalas en toda la organización o incluso con el público.
Ejemplo de AWS CDK
A continuación se muestra un ejemplo del uso de la biblioteca AWS CDK Constructs para crear un servicio Amazon Elastic Container Service (Amazon ECS) con un tipo de lanzamiento. AWS Fargate (Fargate) Para obtener más información sobre este ejemplo, consulteCreación de un servicio AWS Fargate mediante el AWS CDK.
Esta clase produce una AWS CloudFormation plantilla de más de 500 líneas
AWS CDK features
El AWS CDKGitHub repositorio
Para ver el AWS CDK GitHub repositorio oficial, consulte aws-cdk
Como AWS CDK es de código abierto, el equipo lo alienta a contribuir para que sea una herramienta aún mejor. Para obtener más información, consulte Contribuir a la AWS Cloud Development Kit (AWS CDK)
La referencia AWS CDK de la API
La biblioteca AWS CDK Construct proporciona API para definir su aplicación de CDK y añadir construcciones de CDK a la aplicación. Para obtener más información, consulte la Referencia de la API de AWS CDK.
El modelo de programación Construct
El modelo de programación de construcciones (CPM) amplía los conceptos subyacentes AWS CDK a dominios adicionales. Otras herramientas que utilizan el CPM incluyen:
-
CDK para Terraform
(CDKtf) -
CDK para Kubernetes (CDK8s)
-
Projen
, para crear configuraciones de proyectos
The Construct Hub
The Construct Hub
Siguientes pasos
Para empezar a usar AWS CDK, consulteCómo empezar con el AWS CDK.
Más información
Para seguir aprendiendo sobre el AWS CDK, consulte lo siguiente:
-
Aprenda los conceptos AWS CDK básicos— Conceptos y términos importantes para el AWS CDK.
-
AWS CDK Taller: taller
práctico para aprender y usar el AWS CDK. -
AWS CDK Patterns
: colección de código abierto de patrones de arquitectura AWS sin servidor, creada para expertos. AWS CDK AWS -
AWS CDK ejemplos de código
: GitHub repositorio de proyectos de ejemplo AWS CDK . -
cdk.dev
: centro impulsado por la comunidad AWS CDK, que incluye un espacio de trabajo comunitario. Slack -
Impresionante CDK
: GitHub repositorio que contiene una lista seleccionada de proyectos, guías, blogs y otros recursos de AWS CDK código abierto. -
AWS Construcciones de soluciones
: patrones de infraestructura de configuración aprobados como código (IaC) que se pueden ensamblar fácilmente en aplicaciones listas para la producción. -
AWS Blog de herramientas para desarrolladores: publicaciones de blog
filtradas para. AWS CDK -
AWS CDK activado Stack Overflow
: preguntas etiquetadas con aws-cdk activado. Stack Overflow -
AWS CDK tutorial para AWS Cloud9 — Tutorial sobre cómo usarlo AWS CDK con el AWS Cloud9 entorno de desarrollo.
Para obtener más información sobre temas relacionados con el AWS CDK, consulte lo siguiente:
-
AWS CloudFormation conceptos: dado que AWS CDK está diseñado para funcionar con AWS CloudFormation ellos, le recomendamos que aprenda y comprenda AWS CloudFormation los conceptos clave.
-
AWS Glosario: definiciones de los términos clave utilizados en todas partes. AWS
Para obtener más información sobre las herramientas relacionadas con las AWS CDK que se pueden utilizar para simplificar el desarrollo y la implementación de aplicaciones sin servidor, consulte lo siguiente:
-
AWS Serverless Application Model
— Una herramienta de código abierto para desarrolladores que simplifica y mejora la experiencia de creación y ejecución de aplicaciones sin servidor. AWS -
AWSChalice
— Un marco para escribir aplicaciones sin servidor. Python