Parce que je suis venu avec presque une infrastructure et que j'avais peu d'expérience en développement Voici un résumé de ce que les débutants en développement ont fait et comment créer des ressources AWS à l'aide de CDK.
Reportez-vous à l'article suivant pour la préparation de l'environnement Procédure de création d'un environnement CDK sous Windows (Python) https://qiita.com/toma_shohei/items/985916e1a95ec4c38121
■ Présentation du matériel de compréhension https://pages.awscloud.com/rs/112-TZM-766/images/B-3.pdf
◾️ Essayez WorkShop ・ Atelier (anglais) https://cdkworkshop.com/30-python.html
・ Atelier (japonais: version à télécharger) http://bit.ly/cdkworkshopjp
-Ouvrez Visual Studio Code et ouvrez le répertoire pour spécifier le répertoire de travail.
・ Placement du fichier d'initialisation cdk Exécutez la commande suivante depuis le terminal cdk init app --language=python
-Edit requirements.txt (installer les ressources à gérer) ======= aws-cdk.core
aws-cdk.aws-autoscaling aws-cdk.aws-ec2 aws-cdk.aws-elasticloadbalancingv2 aws-cdk.aws-rds aws-cdk.aws-ssm aws-cdk.aws-route53
aws-cdk.aws-autoscaling-common ==================== pip install -r requirements.txt
Si vous pouvez faire cela, commencez à coder.
Au stade de cdk init, la structure de dossiers suivante sera créée sans autorisation. https://cdkworkshop.com/30-python/20-create-project/300-structure.html
J'ai introduit pyyaml pour séparer les paramètres du code. La structure des dossiers ressemblera à celle ci-dessous.
・ Image de la structure du dossier
CDK-WORKSHOP □┣config □┃┣prd □┃┃┣ec2.yaml □┃┃┣vpc.yaml □ ┃┃┣ ・ ・ ・ □┃┗stg □┃□┣ec2.yaml □┃□┣vpc.yaml □ ┃ □ ┣ ・ ・ ・ □┣cdk-workshop_stack.py □ ┣ ・ ・ ・
Lors de l'écriture! Ref dans le paramètre, utilisez "\! Ref" Conversion par lots "\! Ref" ⇒ "! Ref" du yaml de sortie. *! GetAtt est le même
・ Sortie du modèle CloudFormation cdk synth --version-reporting false --path-metadata false > C:\Users\test\Desktop\test.txt
・ Mise en œuvre des mesures provisoires ci-dessus
・ Commande de déploiement CloudFormation (jusqu'à la création de l'ensemble de modifications) aws cloudformation deploy --stack-name testStack --template-file C:\Users\test\Desktop\test.txt --no-fail-on-empty-changeset --no-execute-changeset
・ Confirmation du jeu de modifications ⇒ exécution Lorsque vous ouvrez CloudFormation depuis la console de gestion Vérifiez le jeu de modifications de la pile créée et appuyez sur Exécuter s'il n'y a pas de problème
・ Référence AWS CDK Python https://docs.aws.amazon.com/cdk/api/latest/python/index.html
・ Exemples Python https://github.com/aws-samples/aws-cdk-examples
・ Utilisation de constructions de haut niveau Pour l'opération (?) Pour créer une nouvelle ressource avec du code au-dessus d'une ressource existante construite manuellement Seules les constructions de bas niveau (une bibliothèque nommée CfnXXX) sont disponibles
・ Pas de code de test Ce qu'il faut vérifier en premier lieu n'est pas examiné
・ À propos de la construction avec IaC La qualité augmentera certainement. (Je fais toujours une erreur s'il s'agit d'un projet de construction d'une certaine ampleur je n'ai pas fait d'erreur) Une fois l'environnement de vérification créé, l'environnement de production peut être créé presque par copie, de sorte que la reproductibilité est assez élevée.
・ Caractéristiques de CDK J'ai de l'expérience dans la construction d'AWS avec Terraform, mais j'ai l'impression que CDK s'intègre et a moins de points. Puisqu'il s'agit d'un outil tardif, l'intervalle entre les mises à jour est court (engagé presque tous les jours), Il y a un risque car la dernière version n'est peut-être pas rétrocompatible, mais pour le moment, il n'y a que quelques éléments qui m'ont tourmenté.