cdk bootstrap - AWS Cloud Development Kit (AWS CDK) v2

Esta es la segunda versión de la Guía para desarrolladores de AWS CDK. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.

cdk bootstrap

Prepara un entorno de AWS para las implementaciones del CDK mediante la pila de arranque del CDK, denominada CDKToolkit, en el entorno de AWS.

La pila de arranque es una pila de CloudFormation que aprovisiona un bucket de Amazon S3 y un repositorio de Amazon ECR en el entorno de AWS. La CLI de AWS CDK utiliza estos recursos para almacenar plantillas sintetizadas y activos relacionados durante la implementación.

Uso

$ cdk bootstrap <arguments> <options>

Argumentos

AWS Entorno de

El entorno de AWS de destino en el que se implementará la pila de arranque en el siguiente formato: aws://<account-id>/<region>.

Ejemplo:: aws://123456789012/us-east-1

Este argumento se puede proporcionar varias veces en un solo comando para implementar la pila de arranque en varios entornos.

De forma predeterminada, la CLI de CDK arrancará todos los entornos a los que se hace referencia en la aplicación CDK o determinará un entorno a partir de las fuentes predeterminadas. Puede ser un entorno especificado mediante la opción --profile, a partir de variables de entorno o de fuentes predeterminadas de la AWS CLI.

Opciones

Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte Opciones globales.

--bootstrap-bucket-name, --toolkit-bucket-name, -b <STRING>

Nombre del bucket de Amazon S3 que utilizará la CLI del CDK. Este bucket se creará y no debe existir actualmente.

Proporcione esta opción para anular el nombre predeterminado del bucket de Amazon S3.

Cuando utilice esta opción, es posible que deba personalizar la síntesis. Consulte Personalizar la síntesis de pilas de CDK para obtener más información.

Valor predeterminado: indefinido

--bootstrap-customer-key <BOOLEAN>

Cree una clave maestra de cliente (CMK) para el bucket de arranque (se le cobrará, pero podrá personalizar los permisos, solo para el arranque moderno).

Esta opción no es compatible con --bootstrap-kms-key-id.

Valor predeterminado: indefinido

--bootstrap-kms-key-id <STRING>

El ID de clave maestra de AWS KMS que se va a utilizar para el cifrado SSE-KMS.

Proporcione esta opción para anular la clave predeterminada de AWS KMS que se utilizó para cifrar el bucket de Amazon S3.

Esta opción no es compatible con --bootstrap-customer-key.

Valor predeterminado: indefinido

--cloudformation-execution-policies <ARRAY>

Los ARN de la política de IAM administrada que deben adjuntarse al rol de implementación asumido por AWSCloudFormation durante la implementación de las pilas.

De forma predeterminada, las pilas se implementan con todos los permisos de administrador mediante la política AdministratorAccess.

Puede proporcionar esta opción varias veces en un mismo comando. También puede proporcionar varios ARN como una sola cadena, con los ARN individuales separados por comas. A continuación, se muestra un ejemplo:

$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"

Para evitar errores en la implementación, asegúrese de que las políticas que especifique sean suficientes para cualquier implementación que vaya a realizar en el entorno que se arranca.

Esta opción solo se aplica al arranque moderno.

importante

La plantilla de arranque moderna otorga de manera efectiva los permisos implícitos de --cloudformation-execution-policies a cualquier cuenta de AWS en la lista --trust. De forma predeterminada, esto extiende los permisos de lectura y escritura a cualquier recurso de la cuenta iniciada. Asegúrese de configurar la pila de inicio con políticas y cuentas de confianza con las que se sienta cómodo.

Valor predeterminado: []

--custom-permissions-boundary, -cpb <STRING>

Especifique el nombre del límite de permisos que se utilizará.

Esta opción no es compatible con --example-permissions-boundary.

Valor predeterminado: indefinido

--example-permissions-boundary, -epb <BOOLEAN>

Utilice el ejemplo de límite de permisos que proporciona AWSCDK.

Esta opción no es compatible con --custom-permissions-boundary.

La política de límite de permisos que proporciona el CDK debe considerarse como un ejemplo. Edite el contenido y consulte la política de ejemplo si está probando la característica. Conviértala en una nueva política para las implementaciones reales, si aún no existe ninguna. Lo importante es evitar una desviación. Lo más probable es que se mantenga un límite de permisos y que tenga convenciones específicas, incluida la nomenclatura.

Para obtener más información sobre la configuración de los permisos, incluido el uso de los límites de los permisos, consulte la Guía para desarrolladores de seguridad y protección.

Valor predeterminado: indefinido

--execute <BOOLEAN>

Configure si se ejecutará el conjunto de cambios.

Valor predeterminado: true

--force, -f <BOOLEAN>

Ejecute siempre el arranque, incluso si se degradara la versión de la plantilla de arranque.

Valor predeterminado: false

--help, -h <BOOLEAN>

Muestra la información de referencia del comando cdk bootstrap.

--previous-parameters <BOOLEAN>

Utilice los valores anteriores para los parámetros existentes.

Una vez implementada una plantilla de arranque con un conjunto de parámetros, debe configurar esta opción como false para cambiar cualquier parámetro en futuras implementaciones. Cuando esté establecida como false, debe volver a suministrar todos los parámetros proporcionados anteriormente.

Valor predeterminado: true

--public-access-block-configuration <BOOLEAN>

Bloquee la configuración de acceso público en el bucket de Amazon S3 que crea y utiliza la CLI de CDK.

Valor predeterminado: true

--qualifier <STRING>

Valor de cadena de nueve dígitos que es único para cada pila de arranque. Este valor se agrega al ID físico de los recursos de la pila de arranque.

Si se proporciona un calificador, se evitan conflictos de nombres de recursos cuando se aprovisionan varias pilas de arranque en el mismo entorno.

Cuando cambia el calificador, la aplicación CDK debe pasar el valor modificado al sintetizador de pilas. Para obtener más información, consulte Personalizar la síntesis de pilas de CDK.

Valor predeterminado: hnb659fds. Este valor no tiene importancia.

--show-template <BOOLEAN>

En lugar de ejecutar el arranque, imprima la plantilla de arranque actual en la salida estándar (stdout). A continuación, puede copiar y personalizar la plantilla según sea necesario.

Valor predeterminado: false

--tags, -t <ARRAY>

Etiquetas para agregar a la pila de arranque en el formato de KEY=VALUE.

Valor predeterminado: []

--template <STRING>

Use la plantilla del archivo proporcionado en lugar de la plantilla integrada.

--termination-protection <BOOLEAN>

Configure la protección de terminación de AWS CloudFormation en la pila de arranque.

Cuando se establece como true, la protección de terminación está habilitada. Esto evita que se elimine accidentalmente la pila de arranque.

Para obtener más información sobre la protección de terminación, consulte Cómo proteger una pila para que no se la elimine en la Guía del usuario de AWS CloudFormation.

Valor predeterminado: indefinido

--toolkit-stack-name <STRING>

El nombre de la pila de arranque que se va a crear.

De forma predeterminada, cdk bootstrap implementa una pila con el nombre CDKToolkit en el entorno de AWS especificado. Utilice esta opción para proporcionar un nombre diferente a la pila de arranque.

La CLI de CDK usa este valor para verificar la versión de la pila de arranque.

Valor predeterminado: CDKToolkit

Obligatorio: sí

--trust <ARRAY>

Los ID de la cuenta de AWS en los que se debe confiar para llevar a cabo las implementaciones en este entorno.

Siempre se confiará en la cuenta que ejecute el arranque.

Esta opción requiere que también proporcione las --cloudformation-execution-policies.

Puede proporcionar esta opción varias veces en un mismo comando.

Esta opción solo se aplica al arranque moderno.

Para agregar cuentas de confianza a una pila de arranque existente, debe especificar todas las cuentas en las que puede confiar, incluidas las que haya proporcionado anteriormente. Si solo proporciona cuentas nuevas en las que confiar, se eliminarán las cuentas de confianza anteriores.

A continuación, se muestra un ejemplo de confianza de dos cuentas:

$ cdk bootstrap aws://123456789012/us-west-2 --trust 234567890123 --trust 987654321098 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess ⏳ Bootstrapping environment aws://123456789012/us-west-2... Trusted accounts for deployment: 234567890123, 987654321098 Trusted accounts for lookup: (none) Execution policies: arn:aws:iam::aws:policy/AdministratorAccess CDKToolkit: creating CloudFormation changeset... ✅ Environment aws://123456789012/us-west-2 bootstrapped.
importante

La plantilla de inicio moderna concede de forma efectiva los permisos implícitos en --cloudformation-execution-policies a cualquier cuenta de AWS en la lista --trust. De forma predeterminada, esto extiende los permisos de lectura y escritura a cualquier recurso de la cuenta iniciada. Asegúrese de configurar la pila de inicio con políticas y cuentas de confianza con las que se sienta cómodo.

Valor predeterminado: []

--trust-for-lookup <ARRAY>

Los identificadores de la cuenta de AWS en los que se debe confiar para buscar valores en este entorno.

Use esta opción para dar permiso a las cuentas para sintetizar las pilas que se van a implementar en el entorno, sin darles permiso para implementar esas pilas directamente.

Puede proporcionar esta opción varias veces en un mismo comando.

Esta opción solo se aplica al arranque moderno.

Valor predeterminado: []

Ejemplos

Inicie el entorno de AWS especificado en el perfil de producción

$ cdk bootstrap --profile prod

Implemente la pila de arranque en los entornos foo y bar

$ cdk bootstrap --app='node bin/main.js' foo bar

Exporte la plantilla de arranque para personalizarla

Si tiene requisitos específicos que la plantilla de arranque no cumple, puede personalizarla para que se adapte a sus necesidades.

Puede exportar la plantilla de arranque, modificarla e implementarla con AWS CloudFormation. A continuación, se muestra un ejemplo de exportación de la plantilla existente:

$ cdk bootstrap --show-template > bootstrap-template.yaml

También puede indicarle a la CLI de CDK que utilice una plantilla personalizada. A continuación, se muestra un ejemplo:

$ cdk bootstrap --template my-bootstrap-template.yaml

Ejecute el arranque con un límite de permisos. Luego, elimine ese límite de permisos

Para ejecutar el arranque con un límite de permisos personalizado, ejecutamos lo siguiente:

$ cdk bootstrap --custom-permissions-boundary my-permissions-boundary

Para eliminar el límite de permisos, ejecutamos lo siguiente:

$ cdk bootstrap --no-previous-parameters

Utilice un calificador para distinguir los recursos que se crean para un entorno de desarrollo

$ cdk bootstrap --qualifier dev2024