Weil ich mit fast einer Infrastruktur gekommen bin und wenig Entwicklungserfahrung hatte Hier ist eine Zusammenfassung dessen, was Entwicklungsanfänger getan haben und wie AWS-Ressourcen mit CDK erstellt werden.
Informationen zur Vorbereitung der Umgebung finden Sie im folgenden Artikel Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python) https://qiita.com/toma_shohei/items/985916e1a95ec4c38121
■ Umreißen Sie das Verständnismaterial https://pages.awscloud.com/rs/112-TZM-766/images/B-3.pdf
◾️ Probieren Sie WorkShop aus ・ Workshop (Englisch) https://cdkworkshop.com/30-python.html
・ Workshop (Japanisch: Download-Version) http://bit.ly/cdkworkshopjp
-Öffnen Sie Visual Studio Code und öffnen Sie das Verzeichnis, um das Arbeitsverzeichnis anzugeben.
・ Platzierung der CDK-Initialisierungsdatei Führen Sie den folgenden Befehl vom Terminal aus cdk init app --language=python
-Edit require.txt (zu behandelnde Ressourcen installieren) ======= 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
Wenn Sie dies tun können, starten Sie die Codierung.
In der Phase von cdk init wird die folgende Ordnerstruktur ohne Erlaubnis erstellt. https://cdkworkshop.com/30-python/20-create-project/300-structure.html
Ich habe Pyyaml eingeführt, um die Parameter vom Code zu trennen. Die Ordnerstruktur sieht wie folgt aus.
・ Ordnerstrukturbild
CDK-WORKSHOP □┣config □┃┣prd □┃┃┣ec2.yaml □┃┃┣vpc.yaml □ ┃┃┣ ┃┃┣ ・ ・ □┃┗stg □┃□┣ec2.yaml □┃□┣vpc.yaml □ □ □ ┣ ・ ・ ・ □┣cdk-workshop_stack.py □ ┣ ┣ ・ ・
Verwenden Sie beim Schreiben! Ref im Parameter "\! Ref" Stapelkonvertierung "\! Ref" ⇒ "! Ref" der Ausgabe yaml. *! GetAtt ist das gleiche
・ Ausgabe der CloudFormation-Vorlage cdk synth --version-reporting false --path-metadata false > C:\Users\test\Desktop\test.txt
・ Umsetzung der oben genannten vorläufigen Maßnahmen
・ CloudFormation-Bereitstellungsbefehl (bis zur Erstellung des Änderungssatzes) aws cloudformation deploy --stack-name testStack --template-file C:\Users\test\Desktop\test.txt --no-fail-on-empty-changeset --no-execute-changeset
・ Setbestätigung ändern ⇒ Ausführung Wenn Sie CloudFormation über die Verwaltungskonsole öffnen Überprüfen Sie den Änderungssatz des erstellten Stapels und drücken Sie Ausführen, wenn kein Problem vorliegt
・ AWS CDK Python-Referenz https://docs.aws.amazon.com/cdk/api/latest/python/index.html
・ Python-Beispiele https://github.com/aws-samples/aws-cdk-examples
・ Verwendung von Konstrukten auf hoher Ebene Für Operation (?) Erstellen einer neuen Ressource mit Code über einer vorhandenen manuell erstellten Ressource Es sind nur Konstrukte auf niedriger Ebene (eine Bibliothek mit dem Namen CfnXXX) verfügbar
・ Kein Testcode Es ist ungeprüft, was überhaupt zu überprüfen ist
・ Über den Bau mit IaC Die Qualität wird definitiv steigen. (Ich mache immer einen Fehler, wenn es sich um ein Bauprojekt einer bestimmten Größenordnung handelt, bei dem ich keinen Fehler gemacht habe.) Sobald die Verifizierungsumgebung erstellt wurde, kann die Produktionsumgebung fast durch Kopieren erstellt werden, sodass die Reproduzierbarkeit recht hoch ist.
・ Eigenschaften von CDK Ich habe Erfahrung mit dem Erstellen von AWS mit Terraform, aber ich habe den Eindruck, dass CDK passt und weniger Punkte hat. Da es sich um ein Tool für Nachzügler handelt, ist das Intervall zwischen den Upgrades kurz (fast täglich festgelegt). Es besteht das Risiko, dass die neueste Version möglicherweise nicht abwärtskompatibel ist, aber im Moment haben mich nur wenige Dinge geplagt.