[PYTHON] Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire

J'ai essayé de passer de CloudFormation à AWS CDK et la construction a bien échoué aujourd'hui, alors prenez note de la solution.

Chose que tu veux faire

Je voulais juste créer un exemple AWS ...! !! https://github.com/aws-samples/aws-cdk-examples/tree/master/python/ecs/fargate-load-balanced-service

CREATE_FAILED impitoyable

Contrairement à CloudFormation, l'abstraction est intense, vous pouvez donc créer un VPC en une seule ligne. Au lieu de cela, je ne connais pas du tout le contenu.

Un code magique incroyable que VPC peut faire
vpc = ec2.Vpc(
  self, "MyVpc",
  max_azs=2
)
CREATE_FAILED illusions impitoyablement bouleversantes
$ cdk deploy
~ Abréviation ~
Do you wish to deploy these changes (y/n)? y
~ Abréviation ~
  9/36 | 7:11:35 AM | CREATE_COMPLETE      | AWS::EC2::VPC                             | MyVpc (MyVpcF9F0CA6F) 
~ Abréviation ~
 10/36 | 7:11:38 AM | CREATE_FAILED        | AWS::EC2::Subnet                          | MyVpc/PublicSubnet1/Subnet (MyVpcPublicSubnet1SubnetF123456) Value (ap-northeast-1a) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: ap-northeast-1d, ap-northeast-1c, ap-northeast-1b. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx)
Ce qu'il voulait me dire
Subnets can currently only be created in the following availability zones: 
ap-northeast-1d, ap-northeast-1c, ap-northeast-1b.

Oui. J'ai été habitué à être influencé par la zone de disponibilité lors de la création d'un sous-réseau depuis les jours de CloudFormation. Dès que je m'y suis habitué, je veux le résoudre rapidement, mais je suis perdu car je ne sais pas quoi faire. Je comprends que j'étais en colère quand j'ai essayé de faire pour ap-nord-est-1a. Pour le dire autrement, je ne sais pas vraiment pourquoi j'ai essayé d'y arriver.

Solution

Il y a une spécification des zones de disponibilité dans le fichier cdk.context.json, donc s'il y a ʻap-north-1a`, supprimez-le. Si non spécifié, ajoutez le contenu suivant.

cdk.out/cdk.context.json


  "availability-zones:account=123456789999:region=ap-northeast-1": [
    "ap-northeast-1b",
    "ap-northeast-1c",
    "ap-northeast-1d"
  ]

fin

J'étais inquiet environ 3 heures ... C'était difficile ... Je n'arrive toujours pas à m'entendre avec CDK.

En passant, en regardant gitignore, il semble que cdk.context.json est ignoré, mais je serais reconnaissant si un homme sage qui sait où écrire ce paramètre le soit vraiment.

~ Ajout ~ Il a été écrit que vous devriez le définir avec une commande, l'écrire dans cdk.json ou le spécifier dans le code source ^ q ^

  • Through the --context option to the cdk command.
  • In the context key of the project's cdk.json file.
  • In the context key of a ~/cdk.json file.
  • In code using the construct.node.setContext method.

https://docs.aws.amazon.com/cdk/latest/guide/context.html

Recommended Posts

Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire
J'ai essayé de créer un service de raccourcissement d'url sans serveur avec AWS CDK
Un mémorandum lors de l'acquisition automatique avec du sélénium
Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer un projet en utilisant Python sur Docker avec PyCharm, mais cela a fonctionné avec Docker Compose
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai créé une API Web
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de faire une étrange citation pour Jojo avec LSTM
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
[AWS] [GCP] J'ai essayé de rendre les services cloud faciles à utiliser avec Python
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
[Zaif] J'ai essayé de faciliter le commerce de devises virtuelles avec Python
Je veux faire un jeu avec Python
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé AWS CDK!
[Python] Quand j'ai essayé de créer un outil de décompression avec un fichier zip que je connaissais juste, j'étais accro à sys.exit ()
J'ai essayé de faire un processus périodique avec CentOS7, Selenium, Python et Chrome
J'ai fait une application d'envoi de courrier simple avec tkinter de Python
J'ai essayé d'utiliser Java avec Termux en utilisant Termux Arch, mais cela n'a pas fonctionné
[Analyse des brevets] J'ai essayé de créer une carte des brevets avec Python sans dépenser d'argent
J'ai créé une API de recherche de château avec Elasticsearch + Sudachi + Go + echo
Lorsque je me suis connecté à un serveur Jupyter distant avec VScode, il était distant mais local.
J'ai fait de mon mieux pour créer une fonction d'optimisation, mais cela n'a pas fonctionné.
J'ai essayé de créer une API de reconnaissance d'image simple avec Fast API et Tensorflow
Facilitez la spécification de l'heure d'AWS CloudWatch Events avec CDK.
J'ai essayé de faire un "putain de gros convertisseur de littérature"
J'ai essayé de créer une application OCR avec PySimpleGUI
[Introduction à AWS] J'ai essayé de jouer avec la conversion voix-texte ♪
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.
J'ai essayé de faire quelque chose comme un chatbot avec le modèle Seq2Seq de TensorFlow
J'ai essayé de faire une simulation de séparation de source sonore en temps réel avec l'apprentissage automatique Python
J'ai essayé de faire sonner le téléphone lorsqu'il a été publié sur le poste IoT
J'ai essayé de faire une application mémo qui peut être pomodoro, mais un enregistrement de réflexion
Les débutants en Python ont créé un chat BOT alors j'ai essayé de résumer comment le faire
J'ai essayé de faire de l'art créatif avec l'IA! J'ai programmé une nouveauté! (Article: Réseau Adversaire Créatif)
Un débutant a essayé de colorier un dessin au trait avec un chainer. J'ai pu le faire.
Je voulais utiliser la feuille de calcul Google avec AWS lambda, alors je l'ai essayé [Partie 2]
J'ai essayé de l'activer / de le désactiver en définissant "Créer un plug-in qui met en évidence les espaces pleine largeur avec Sublime Text 2".
J'ai essayé d'implémenter une ligne moyenne mobile de volume avec Quantx
J'ai essayé de créer diverses "données factices" avec Python faker
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
Quand j'essaye de pousser avec heroku, ça ne marche pas
Je veux créer un éditeur de blog avec l'administrateur de django
Je veux faire une macro de clic avec pyautogui (désir)
J'ai essayé de résoudre le problème d'optimisation des combinaisons avec Qiskit
Lorsque j'essaye de créer Apache SSL, cela ne démarre pas.