Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

AWS CDK tutorial para AWS Cloud9

Modo de enfoque
AWS CDK tutorial para AWS Cloud9 - AWS Cloud9

AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información

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.

AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información

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.

Este tutorial le muestra cómo trabajar con ellos AWS Cloud Development Kit (AWS CDK) en un entorno de AWS Cloud9 desarrollo. AWS CDK Se trata de un conjunto de herramientas y bibliotecas de software que los desarrolladores pueden utilizar para modelar los componentes de la AWS infraestructura como código.

AWS CDK Incluye la biblioteca AWS Construct, que puede utilizar para resolver rápidamente muchas tareas AWS. Por ejemplo, puede utilizar la construcción Fleet para implementar código de forma completa y segura en una flota de hosts. Puede crear sus propias construcciones para crear modelos de diversos elementos de sus arquitecturas, compartirlos con otras personas o publicarlos en la comunidad. Para obtener más información, consulte la Guía del desarrollador del kit de desarrollo de la nube de AWS.

El uso de este tutorial y la creación de esta muestra pueden generar cargos en su cuenta de AWS . Estos incluyen posibles cargos por servicios como Amazon EC2, Amazon SNS y Amazon SQS. Para obtener más información, consulte Amazon EC2 Pricing, Amazon SNS Pricing y Amazon SQS Pricing.

Requisitos previos

Antes de utilizar este ejemplo, asegúrese de que su configuración cumpla los siguientes requisitos:

  • Debe tener un entorno de AWS Cloud9 EC2 desarrollo existente. En este ejemplo se supone que ya tienes un EC2 entorno conectado a una EC2 instancia de Amazon que ejecuta Amazon Linux o Ubuntu Servidor. Si tiene otro tipo de entorno o sistema operativo, es posible que tenga que adaptar las instrucciones de este ejemplo para configurar herramientas relacionadas. Para obtener más información, consulte Crear un entorno en AWS Cloud9.

  • Ya tiene abierto el AWS Cloud9 IDE del entorno existente. Al abrir un entorno, AWS Cloud9 abre el IDE de ese entorno en el navegador web. Para obtener más información, consulte Abrir un entorno en AWS Cloud9.

Paso 1: Instalar las herramientas necesarias

En este paso, instalará en su entorno todas las herramientas necesarias AWS CDK para ejecutar un ejemplo escrito en el lenguaje de TypeScript programación.

  1. Node Version Manager o nvm, que se utiliza para instalar Node.js más adelante.

  2. Node.js, que se requiere en el ejemplo y contiene Node Package Manager, o bien npm, que se utiliza para la instalación TypeScript y versiones AWS CDK posteriores.

  3. TypeScript, que se requiere en este ejemplo. ( AWS CDK También es compatible con varios otros lenguajes de programación).

  4. AWS CDK.

Paso 1.1: Instalar Node Version Manager (nvm)

  1. En una sesión terminal en el AWS Cloud9 IDE, asegúrese de que estén instaladas las últimas actualizaciones de seguridad y correcciones de errores. Para ello, ejecute el comando yum update (para Amazon Linux) o apt update (para Ubuntu Server). (Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window [Ventana], New Terminal [Nuevo terminal]).

    Para Amazon Linux:

    sudo yum -y update

    Para Ubuntu Server:

    sudo apt update
  2. Confirme si nvm ya está instalado. Para ello, ejecute el comando nvm con la opción --version.

    nvm --version

    Si se ejecuta correctamente, el resultado contiene el número de versión de nvm , en cuyo caso puede ir directamente a Paso 1.2: Instalar Node.js.

  3. Descargue e instale nvm. Para ello, ejecute el script de instalación. En este ejemplo, la versión instalada es la 0.33.0, pero puede consultar la última versión de nvm aquí.

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
  4. Comience a utilizar nvm. Puede cerrar la sesión del terminal e iniciarla de nuevo, o bien cargar el archivo ~/.bashrc que contiene los comandos para cargar nvm.

    . ~/.bashrc

Paso 1.2: Instalar Node.js

  1. Confirme si ya tiene instalado Node.js. Si es así, asegúrese de que la versión instalada es 16.17.0 o superior. Este ejemplo se ha probado con Node.js 16.17.0. Para verificarlo, con la sesión del terminal aún abierta en el IDE, ejecute el comando node con la opción --version .

    node --version

    Si ha instalado Node.js, la salida contendrá el número de versión. Si el número de versión es 16.17.0, vaya directamente a Paso 1.3: Instalar TypeScript.

  2. Instale Node.js 16 ejecutando el comando nvm con la acción install .

    nota

    También puede ejecutar nvm install nodepara instalar la versión de soporte a largo plazo (LTS) de Node.js. AWS Cloud9 el soporte rastrea la versión LTS de Node.js.

    nvm install v16
  3. Comience a utilizar Node.js 16. Para ello, ejecute el comando nvm junto con la acción alias, el número de versión para el alias y la versión que se va a utilizar para dicho alias, tal y como se indica a continuación.

    nvm alias default 16
    nota

    El comando anterior establece Node.js 16 como la versión predeterminada de Node.js. Si lo desea, también puede ejecutar el comando nvm junto con la acción use, en lugar de la acción alias (por ejemplo, nvm use 16.17.0). Sin embargo, la acción use provoca que esa versión de Node.js solo se active mientras que la sesión del terminal actual se está ejecutando.

  4. Para confirmar que está utilizando 16 Node.js, vuelva a ejecutar el comando node --version . Si la versión instalada es la correcta, la salida incluirá la versión v16.

Paso 1.3: Instalar TypeScript

  1. Confirme si ya lo ha TypeScript instalado. Para ello, con la sesión de terminal aún abierta en el IDE, ejecute el TypeScript compilador de línea de comandos con la --versionopción.

    tsc --version

    Si lo ha TypeScript instalado, el resultado contiene el número de TypeScript versión. Si TypeScript está instalado, pase aPaso 1.4: Instale el AWS CDK.

  2. Instalar TypeScript. Para ello, ejecute el npmcomando con la installacción, la -gopción y el nombre del TypeScript paquete. Se instala TypeScript como un paquete global en el entorno.

    npm install -g typescript
  3. Confirme que TypeScript esté instalado. Para ello, ejecute el TypeScript compilador de línea de comandos con la --versionopción.

    tsc --version

    Si TypeScript está instalado, la salida contiene el número de TypeScript versión.

Paso 1.4: Instale el AWS CDK

  1. Confirme si ya lo tiene AWS CDK instalado. Para ello, con la sesión del terminal aún abierta en el IDE, ejecute el comando cdk con la opción --version .

    cdk --version

    Si AWS CDK está instalado, el resultado contiene los números de AWS CDK versión y compilación. Vaya a Paso 2: Agregar el código.

  2. Para instalarlo, ejecute el npmcomando junto con la install acción, el nombre del AWS CDK paquete que se va a instalar y la -g opción de instalar el paquete globalmente en el entorno. AWS CDK

    npm install -g aws-cdk
  3. Confirme que AWS CDK está instalado y que está correctamente referenciado. Para ello, ejecute el comando cdk con la opción --version.

    cdk --version

    Si se ejecuta correctamente, se muestran los números de AWS CDK versión y compilación.

Paso 2: Agregar el código

En este paso, crearás un TypeScript proyecto de ejemplo que contenga todo el código fuente que necesitas para implementar una AWS CloudFormation pila mediante programación. AWS CDK Esta pila crea un tema de Amazon SNS y una cola de Amazon SQS en AWS su cuenta y, a continuación, suscribe la cola al tema.

  1. Con la sesión del terminal aún abierta en el IDE, cree un directorio para almacenar el código fuente del proyecto; por ejemplo, un directorio ~/environment/hello-cdk en su entorno. Luego, cambie a ese directorio.

    rm -rf ~/environment/hello-cdk # Remove this directory if it already exists. mkdir ~/environment/hello-cdk # Create the directory. cd ~/environment/hello-cdk # Switch to the directory.
  2. Configure el directorio como un TypeScript proyecto de lenguaje para. AWS CDK Para ello, ejecute el comando cdk con la acción init, la plantilla sample-app y la opción --language junto con el nombre del lenguaje de programación.

    cdk init sample-app --language typescript

    De esta forma, se crean los siguientes archivos y subdirectorios en el directorio.

    • Un subdirectorio .git y un archivo.gitignore ocultos, que hacen que el proyecto sea compatible con herramientas de control de código fuente como Git.

    • Un subdirectorio lib, que incluye un archivo hello-cdk-stack.ts. Este archivo contiene el código de su AWS CDK pila. Este código se describe en el siguiente paso de este procedimiento.

    • Un subdirectorio bin, que incluye un archivo hello-cdk.ts. Este archivo contiene el punto de entrada de tu AWS CDK aplicación.

    • Un subdirectorio node_modules, que contiene los paquetes de código de apoyo que la aplicación y la pila pueden utilizar según sea necesario.

    • Un archivo .npmignore oculto, que enumera los tipos de subdirectorios y los archivos que npm no necesita al compilar el código.

    • Un archivocdk.json, que contiene la información para poder ejecutar el comando cdk más fácilmente.

    • Un archivo package-lock.json, que contiene información que npm puede utilizar para reducir posibles errores de compilación y ejecución.

    • Un archivo package.json, que contiene información para poder ejecutar el comando npm más fácilmente y con posiblemente menos errores de compilación y ejecución.

    • Un README.md archivo en el que se enumeran los comandos útiles con los que puede ejecutar npmy los AWS CDK.

    • Un archivo tsconfig.json, que contiene información para poder ejecutar el comando tsc más fácilmente y con posiblemente menos errores de compilación y ejecución.

  3. En la ventana Environment (Entorno), abra el archivo lib/hello-cdk-stack.ts y examine el siguiente código en ese archivo.

    import sns = require('@aws-cdk/aws-sns'); import sqs = require('@aws-cdk/aws-sqs'); import cdk = require('@aws-cdk/cdk'); export class HelloCdkStack extends cdk.Stack { constructor(parent: cdk.App, name: string, props?: cdk.StackProps) { super(parent, name, props); const queue = new sqs.Queue(this, 'HelloCdkQueue', { visibilityTimeoutSec: 300 }); const topic = new sns.Topic(this, 'HelloCdkTopic'); topic.subscribeQueue(queue); } }
    • TopicLas clases StackApp, StackPropsQueue, y representan una AWS CloudFormation pila y sus propiedades, un programa ejecutable, una cola de Amazon SQS y un tema de Amazon SNS, respectivamente.

    • La HelloCdkStack clase representa la AWS CloudFormation pila de esta aplicación. Esta pila contiene la nueva cola de Amazon SQS y el tema de Amazon SNS para esta aplicación.

  4. En la ventana Environment (Entorno), abra el archivo bin/hello-cdk.ts y examine el siguiente código en ese archivo.

    #!/usr/bin/env node import cdk = require('@aws-cdk/cdk'); import { HelloCdkStack } from '../lib/hello-cdk-stack'; const app = new cdk.App(); new HelloCdkStack(app, 'HelloCdkStack'); app.run();

    Este código carga, crea una instancia y luego ejecuta la clase HelloCdkStack a partir del archivo lib/hello-cdk-stack.ts.

  5. Se utiliza npmpara ejecutar el TypeScript compilador para comprobar si hay errores de codificación y, AWS CDK a continuación, habilitar la ejecución del bin/hello-cdk.js archivo del proyecto. Para ello, desde el directorio raíz del proyecto, ejecute el comando npm con la acción run y especifique el valor del comando build en el archivo package.json, tal y como se indica a continuación.

    npm run build

    El comando anterior ejecuta el TypeScript compilador, que añade archivos bin/hello-cdk.d.ts y lib/hello-cdk-stack.d.ts soportes. El compilador también transpone los archivos hello-cdk-stack.ts y hello-cdk.ts en los archivos hello-cdk-stack.js y hello-cdk.js.

Paso 3: Ejecutar el código

En este paso, le indicas AWS CDK que creen una plantilla de AWS CloudFormation pila basada en el código del archivo. bin/hello-cdk.js A continuación, le indicas que AWS CDK desplieguen la pila, lo que crea el tema de Amazon SNS y la cola de Amazon SQS y, a continuación, suscribe la cola al tema. Luego, confirme que el tema y la cola se han implementado correctamente enviando un mensaje del tema a la cola.

  1. Haga que creen la plantilla de pila. AWS CDK AWS CloudFormation Para ello, con la sesión del terminal aún abierta en el IDE, desde el directorio raíz del proyecto, ejecute el comando cdk con la acción synth y el nombre de la pila.

    cdk synth HelloCdkStack

    Si tiene éxito, el resultado muestra la Resources sección de la plantilla de AWS CloudFormation pila.

  2. La primera vez que despliegues una AWS CDK aplicación en un entorno para una combinación específica de AWS cuenta y AWS región, debes instalar una pila de arranque. Esta pila incluye varios recursos que AWS CDK necesita para completar sus distintas operaciones. Por ejemplo, esta pila incluye un bucket de Amazon S3 que AWS CDK utiliza para almacenar plantillas y activos durante sus procesos de implementación. Para instalar la pila de arranque, ejecute el comando cdk con la acción bootstrap .

    cdk bootstrap
    nota

    Si se ejecuta cdk bootstrap sin especificar ninguna opción, se utilizan la AWS cuenta y AWS la región predeterminadas. También puede arrancar un entorno específico especificando una combinación de perfil y cuenta/región. Por ejemplo:

    cdk bootstrap --profile test 123456789012/us-east-1
  3. Haga que AWS CDK ejecute la plantilla de AWS CloudFormation pila para implementar la pila. Para ello, desde el directorio raíz del proyecto, ejecute el comando cdk con la acción deploy y el nombre de la pila.

    cdk deploy HelloCdkStack

    Si se ejecuta correctamente, la salida muestra que la pila HelloCdkStack se ha implementado sin errores.

    nota

    Si el resultado muestra un mensaje en el que se indica que la pila no define un entorno y que AWS las credenciales no se pudieron obtener de ubicaciones estándar o que no se configuró ninguna región, asegúrese de que AWS las credenciales estén configuradas correctamente en el IDE y, a continuación, ejecute el cdk deploycomando de nuevo. Para obtener más información, consulte Llamar Servicios de AWS desde un entorno de AWS Cloud9.

  4. Para confirmar que el tema de Amazon SNS y la cola de Amazon SQS se han implementado correctamente, envíe un mensaje al tema y, luego, verifique la cola para ver si se ha recibido el mensaje. Para ello, puede utilizar una herramienta como el AWS Command Line Interface (AWS CLI) o el AWS CloudShell. Para obtener más información sobre estas herramientas, consulte AWS CLI y tutorial de aws-shell para AWS Cloud9.

    Por ejemplo, para enviar un mensaje al tema, con la sesión de terminal aún abierta en el IDE, utilice el publishcomando AWS CLI to run Amazon SNS, proporcionando el asunto y el cuerpo del mensaje, la AWS región del tema y el nombre de recurso de Amazon (ARN) del tema.

    aws sns publish --subject "Hello from the AWS CDK" --message "This is a message from the AWS CDK." --topic-arn arn:aws:sns:us-east-2:123456789012:HelloCdkStack-HelloCdkTopic1A234567-8BCD9EFGHIJ0K

    En el comando anterior, arn:aws:sns:us-east-2:123456789012:HelloCdkStack-HelloCdkTopic1A234567-8BCD9EFGHIJ0K sustitúyalo por el ARN que se AWS CloudFormation asigna al tema. Para obtener el ID, puede ejecutar el comando list-topics de Amazon SNS.

    aws sns list-topics --output table --query 'Topics[*].TopicArn'

    Si se ejecuta correctamente, la salida del comando publish muestra el valor de MessageId del mensaje que se publicó.

    Para verificar la cola para ver si se ha recibido el mensaje, ejecute el comando receive-message de Amazon SQS y proporcione la URL de la cola.

    aws sqs receive-message --queue-url https://queue.amazonaws.com/123456789012/HelloCdkStack-HelloCdkQueue1A234567-8BCD9EFGHIJ0K

    En el comando anterior, https://queue.amazonaws.com/123456789012/HelloCdkStack-HelloCdkQueue1A234567-8BCD9EFGHIJ0K sustitúyalo por el ARN que se AWS CloudFormation asigna a la cola. Para obtener la URL, puede ejecutar el comando list-queues de Amazon SQS.

    aws sqs list-queues --output table --query 'QueueUrls[*]'

    Si se ejecuta correctamente, la salida del comando receive-message muestra información del mensaje que se recibió.

Paso 4: Limpiar

Para evitar que se hagan cargos continuos a tu AWS cuenta una vez que hayas terminado de usar este ejemplo, debes eliminar la pila. AWS CloudFormation De esta forma se eliminan el tema de Amazon SNS y la cola de Amazon SQS. También debe eliminar el entorno.

Paso 4.1: Eliminar la pila

Con la sesión del terminal aún abierta en el IDE, desde el directorio raíz del proyecto, ejecute el comando cdk con la acción destroy y el nombre de la pila.

cdk destroy HelloCdkStack

Cuando se le pida que elimine la pila, escriba y y, a continuación, pulse Enter.

Si se ejecuta correctamente, la salida muestra que la pila HelloCdkStack se ha eliminado sin errores.

Paso 4.2: Eliminar el entorno

Para eliminar el entorno, consulte Eliminar un entorno en AWS Cloud9.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.