[PYTHON] Als ich versuchte, eine VPC mit AWS CDK zu erstellen, konnte ich es aber nicht schaffen

Ich habe versucht, von CloudFormation zu AWS CDK zu wechseln, und der Build ist heute fehlgeschlagen. Notieren Sie sich daher die Lösung.

Was du machen willst

Ich wollte nur ein AWS-Beispiel erstellen ...! !! https://github.com/aws-samples/aws-cdk-examples/tree/master/python/ecs/fargate-load-balanced-service

Rücksichtsloses CREATE_FAILED

Im Gegensatz zu CloudFormation ist die Abstraktion intensiv, sodass Sie eine VPC in einer Zeile erstellen können. Stattdessen kenne ich den Inhalt überhaupt nicht.

Erstaunlicher magischer Code, den VPC kann
vpc = ec2.Vpc(
  self, "MyVpc",
  max_azs=2
)
CREATE_FAILED erschüttert rücksichtslos Illusionen
$ cdk deploy
~ Abkürzung ~
Do you wish to deploy these changes (y/n)? y
~ Abkürzung ~
  9/36 | 7:11:35 AM | CREATE_COMPLETE      | AWS::EC2::VPC                             | MyVpc (MyVpcF9F0CA6F) 
~ Abkürzung ~
 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)
Was er mir sagen wollte
Subnets can currently only be created in the following availability zones: 
ap-northeast-1d, ap-northeast-1c, ap-northeast-1b.

Ja. Ich bin es seit den Tagen von CloudFormation gewohnt, beim Erstellen eines Subnetzes von der Verfügbarkeitszone beeinflusst zu werden. Sobald ich mich daran gewöhnt habe, möchte ich es schnell lösen, aber ich bin ratlos, weil ich nicht weiß, was ich tun soll. Ich verstehe, dass ich wütend war, als ich versuchte, es für ap-nordost-1a zu schaffen. Um es anders herum auszudrücken, ich weiß nicht wirklich, warum ich versucht habe, es dort zu schaffen.

Lösungen

In der Datei cdk.context.json gibt es eine Angabe der Verfügbarkeitszonen. Wenn also "ap-northeast-1a" vorhanden ist, löschen Sie diese. Wenn nicht angegeben, fügen Sie den folgenden Inhalt hinzu.

cdk.out/cdk.context.json


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

Ende

Ich war besorgt über 3 Stunden ... Es war schwer ... Ich kann immer noch nicht mit CDK auskommen.

Übrigens, wenn man sich gitignore ansieht, scheint es, dass cdk.context.json ignoriert wird, aber ich wäre dankbar, wenn ein weiser Mann, der weiß, wo man diese Einstellung schreibt, wirklich ist.

~ Ergänzung ~ Es wurde geschrieben, dass Sie es mit einem Befehl festlegen, in cdk.json schreiben oder im Quellcode ^ q ^ angeben sollten

  • 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

Als ich versuchte, eine VPC mit AWS CDK zu erstellen, konnte ich es aber nicht schaffen
Ich habe versucht, einen URL-Verkürzungsdienst mit AWS CDK serverlos zu machen
Ein Memorandum beim automatischen Erwerb mit Selen
Als ich versuchte, das Root-Passwort mit ansible zu ändern, konnte ich nicht darauf zugreifen.
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, ein Projekt mit Python on Docker mit PyCharm zu erstellen, aber es hat mit Docker Compose funktioniert
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe eine Web-API erstellt
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, Jojo mit LSTM ein seltsames Zitat zu machen
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
[AWS] [GCP] Ich habe versucht, die Verwendung von Cloud-Diensten mit Python zu vereinfachen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
[Zaif] Ich habe versucht, den Handel mit virtuellen Währungen mit Python zu vereinfachen
Ich möchte ein Spiel mit Python machen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe AWS CDK ausprobiert!
[Python] Als ich versuchte, ein Dekomprimierungswerkzeug mit einer Zip-Datei zu erstellen, die ich gerade kannte, war ich süchtig nach sys.exit ()
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, Java mit Termux unter Verwendung von Termux Arch zu verwenden, aber es hat nicht funktioniert
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Ich habe eine Burgsuch-API mit Elasticsearch + Sudachi + Go + Echo erstellt
Als ich mit VScode eine Verbindung zu einem entfernten Jupyter-Server herstellte, war dieser entfernt, aber lokal.
Ich habe mein Bestes versucht, um eine Optimierungsfunktion zu erstellen, aber es hat nicht funktioniert.
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Machen Sie es sich einfach, die Zeit von AWS CloudWatch-Ereignissen mit CDK anzugeben.
Ich habe versucht, einen "verdammt großen Literaturkonverter" zu machen.
Ich habe versucht, eine OCR-App mit PySimpleGUI zu erstellen
[Einführung in AWS] Ich habe versucht, mit der Sprach-Text-Konvertierung zu spielen ♪
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
Ich habe versucht, das Telefon klingeln zu lassen, als es auf dem IoT-Post veröffentlicht wurde
Ich habe versucht, eine Memo-App zu erstellen, die Pomodoro sein kann, aber eine Reflexionsaufzeichnung
Python-Anfänger haben einen Chat-BOT erstellt, also habe ich versucht, zusammenzufassen, wie man es macht
Ich habe versucht, mit AI kreative Kunst zu machen! Ich habe eine Neuheit programmiert! (Artikel: Creative Adversarial Network)
Ein Anfänger versuchte, eine Strichzeichnung mit einem Kettenmesser zu färben. Ich konnte es schaffen.
Ich wollte die Google-Tabelle mit AWS Lambda betreiben, also habe ich es versucht [Teil 2]
Ich habe versucht, es ein- und auszuschalten, indem ich "Ein Plug-In erstellen, das Leerzeichen mit Sublime Text 2 in voller Breite hervorhebt" eingestellt habe.
Ich habe versucht, mit Quantx eine Linie mit gleitendem Durchschnitt des Volumens zu implementieren
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
Wenn ich versuche, mit Heroku zu pushen, funktioniert es nicht
Ich möchte einen Blog-Editor mit dem Administrator von Django erstellen
Ich möchte ein Klickmakro mit pyautogui (Wunsch) erstellen.
Ich habe versucht, das Problem der Kombinationsoptimierung mit Qiskit zu lösen
Wenn ich versuche, Apache SSL zu erstellen, wird es nicht gestartet.