Configuration de votre instance du CDK Toolkit - AWS Kit de développement Cloud (AWS CDK) v2

Ceci est le guide du développeur du AWS CDK v2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de votre instance du CDK Toolkit

Découvrez comment personnaliser votre instance de bibliothèque AWS CDK Toolkit avec des options de gestion des messages, de sélection de AWS profils et de stratégies de sélection de piles. Ce guide explique les options de configuration disponibles et explique comment les mettre en œuvre efficacement pour répondre à vos exigences de déploiement spécifiques.

Configuration de votre AWS profil

Lorsque vous utilisez la bibliothèque du kit d'outils CDK, elle effectue des appels d'API pour AWS utiliser le SDK. Alors que l'authentification est chargée automatiquement depuis votre environnement, vous pouvez spécifier explicitement le profil à utiliser :

import { Toolkit } from '@aws-cdk/toolkit-lib'; // Create a toolkit instance with a specific AWS profile const toolkit = new Toolkit({ sdkConfig: { profile: "my-profile" }, });

Configuration de la sélection des piles

La plupart des actions du CDK Toolkit nécessitent que vous spécifiiez les piles sur lesquelles vous souhaitez opérer. La StackSelector configuration contrôle cette sélection.

Sélectionnez toutes les piles

Utilisez-le lorsque vous souhaitez opérer sur chaque pile de votre application CDK :

import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib'; // Select all stacks in the cloud assembly await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } });

Sélectionnez uniquement les piles d'assemblage principales

Utilisez cette option pour sélectionner uniquement les piles de niveau supérieur de l'assemblage principal :

// Select only top-level stacks await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.MAIN_ASSEMBLY } });

Sélectionnez une seule pile

Utilisez-le lorsque votre assemblage contient exactement une pile et que vous souhaitez affirmer cette condition. Si l'assemblage inclut une seule pile, il renvoie cette pile. Dans le cas contraire, il lance une exception :

// Ensure there's exactly one stack and select it await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ONLY_SINGLE } });

Sélectionnez les piles par motif

Utilisez-le pour sélectionner des piles spécifiques par modèle de nom :

// Select stacks matching specific patterns await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, patterns: ["Dev-*", "Test-Backend"], // Supports wildcards } });
Astuce

PATTERN_MUST_MATCH_SINGLEÀ utiliser pour vous assurer qu'une pile correspond exactement à vos modèles, ou PATTERN_MATCH s'il est acceptable qu'aucune pile ne corresponde. La correspondance de modèles prend en charge les caractères génériques tels que « * » pour faire correspondre plusieurs piles portant des noms similaires.

Configuration de la gestion des erreurs

Le kit d'outils CDK utilise des erreurs structurées pour vous aider à identifier et à gérer les problèmes. Chaque erreur inclut :

  • Une source indiquant l'origine de l'erreur (boîte à outils ou utilisateur).

  • Un type d'erreur spécifique (authentification, validation, etc.)

  • Un message descriptif.

Gestion des erreurs

Utilisez les méthodes d'assistance fournies par le kit d'outils CDK pour détecter et gérer des types d'erreurs spécifiques :

import { ToolkitError } from '@aws-cdk/toolkit-lib'; try { // Attempt a CDK Toolkit operation await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } }); } catch (error) { // Handle specific error types if (ToolkitError.isAuthenticationError(error)) { // Example: AWS credentials are missing or invalid console.error('Authentication failed. Check your AWS credentials.'); } else if (ToolkitError.isAssemblyError(error)) { // Example: Your CDK app has errors in stack definitions console.error('CDK app error:', error.message); } else if (ToolkitError.isDeploymentError(error)) { // Example: CloudFormation deployment failed console.error('Deployment failed:', error.message); } else if (ToolkitError.isToolkitError(error)) { // Handle all other Toolkit errors console.error('CDK Toolkit error:', error.message); } else { // Handle unexpected errors console.error('Unexpected error:', error); } }
Important

Ne vous fiez pas aux instanceof vérifications pour détecter les types d'erreurs, car elles peuvent se comporter de manière inattendue lorsque vous travaillez avec plusieurs copies du même package. Utilisez toujours les méthodes d'assistance fournies, telles queToolkitError.isAuthenticationError().

Configuration des actions du kit d'outils

Chaque action du CDK Toolkit (déploiement, synthé, liste, etc.) possède ses propres options de configuration spécifiques. Ces actions vous permettent de gérer le cycle de vie complet de votre infrastructure CDK. Pour des informations détaillées sur la configuration des actions individuelles, voir Configurer les actions programmatiques du CDK Toolkit.

Astuce

Lorsque vous créez des flux de travail d'automatisation, pensez à combiner plusieurs actions en séquence. Par exemple, vous pouvez avoir besoin de synth votre application, list des piles pour vérifier ce qui sera déployé, puis de deploy l'infrastructure.