Bereitstellen einer Webanwendung auf Amazon EC2

LEITFADEN „ERSTE SCHRITTE“

Modul 3: Bereitstellen des CDK-Stacks

In diesem Modul werden Sie Ihre Infrastruktur und Anwendung bereitstellen.

Einführung

Nachdem Sie die AWS-CDK-App erstellt, Ressourcen definiert und ein Benutzerdaten-Asset für die Installation der Software beim ersten Start erstellt haben, können Sie Ihren Stack bereitstellen und die Ressourcen erstellen. In diesem Modul werden Sie den Stack mit CDK bereitstellen.

Lerninhalte

  • Bootstrappen des CDK
  • Bereitstellen der kompletten Infrastruktur mit CDK

 Veranschlagte Zeit

5 Minuten

 Voraussetzungen für das Modul

  • AWS-Konto mit Administratorzugriff**
  • Empfohlener Browser: aktuelle Version von Chrome oder Firefox

[**] Innerhalb der letzten 24 Stunden erstellte Konten haben möglicherweise noch keinen Zugriff auf alle für dieses Tutorial erforderlichen Services.

Implementierung

Bootstrappen des CDK

Bevor Sie Ihre CDK-App bereitstellen können, müssen Sie CDK auf dem Konto einrichten, für das Sie die Anwendung bereitstellen möchten. Bearbeiten Sie die Datei bin/cdk-ecs-infra.ts und heben Sie den Kommentar zu Zeile 14 auf:

env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },

Dabei werden die in der AWS-CLI konfigurierte Konto-ID und Region verwendet. Bevor Sie CDK nutzen können, muss es gebootstrapped werden. Dadurch wird die erforderliche Infrastruktur für CDK erstellt, um die Infrastruktur in Ihrem Konto zu verwalten. Um CDK zu bootstrappen, führen Sie cdk bootstrap aus. 

Sie sollten eine Ausgabe ähnlich dieser sehen:

cdk bootstrap

#output
⏳  Bootstrapping environment aws://0123456789012/<region>...
✅  Environment aws://0123456789012/<region> bootstrapped

Bereitstellen des Stacks

Sobald das Bootstrapping abgeschlossen ist, führen Sie „cdk deploy“ aus, um die gesamte von Ihnen erstellte Infrastruktur bereitzustellen. Ihnen wird die folgende Ausgabe und ein Bestätigungsbildschirm angezeigt.

Da unser Stack Auswirkungen auf die Sicherheit hat, sehen Sie eine Zusammenfassung dieser Auswirkungen und müssen sie bestätigen, bevor Sie mit der Bereitstellung fortfahren.

Geben Sie y (Yes, Ja) ein, um mit der Bereitstellung fortzufahren und die Ressourcen zu erstellen. Die CLI zeigt den Fortschritt der Bereitstellung und am Ende die Ausgabe, die wir in unserer CDK-App definiert haben.

Do you wish to deploy these changes (y/n)? y
Ec2CdkStack: deploying...
[0%] start: Publishing afe67465ec62603d27d77795221a45e68423c87495467b0265ecdadad80bb5e2:current
[33%] success: Published afe67465ec62603d27d77795221a45e68423c87495467b0265ecdadad80bb5e2:current
[33%] start: Publishing 73887b77b71ab7247eaf6dc4647f03f9f1cf8f0da685460f489ec8f2106d480d:current
[66%] success: Published 73887b77b71ab7247eaf6dc4647f03f9f1cf8f0da685460f489ec8f2106d480d:current
[66%] start: Publishing 13138ebf2da51426144f6f5f4f0ad197787f52aad8b6ceb26ecff68d33cd2b78:current
[100%] success: Published 13138ebf2da51426144f6f5f4f0ad197787f52aad8b6ceb26ecff68d33cd2b78:current
Ec2CdkStack: creating CloudFormation changeset...

✅  Ec2CdkStack

Outputs:
Ec2CdkStack.DownloadKeyCommand = aws secretsmanager get-secret-value --secret-id ec2-ssh-key/cdk-keypair/private --query SecretString --output text > cdk-key.pem && chmod 400 cdk-key.pem
Ec2CdkStack.IPAddress = 54.75.32.202
Ec2CdkStack.sshcommand = ssh -i cdk-key.pem -o IdentitiesOnly=yes ec2-user@54.75.32.202

Stack ARN:
arn:aws:cloudformation:eu-west-1:123456789012:stack/Ec2CdkStack/c8bde0b0-16ed-11ec-a147-0a4fed479a1b

Ihre Anwendung ist nun bereitgestellt, und Sie können die Ausgaben unten verwenden, um den SSH-Schlüssel herunterzuladen und dann bei Bedarf auf die EC2-Instance zuzugreifen. Sie können die Anwendung auch über Ihren Browser aufrufen, indem Sie die oben angegebene IP-Adresse einfügen.

Fazit

In diesem Modul haben Sie gelernt, wie Sie CDK in Ihr Konto bootstrappen und für die Bereitstellung Ihrer Infrastruktur und Webanwendung verwenden können. Im nächsten Modul werden Sie alle in diesem Leitfaden erstellten Ressourcen bereinigen.

Nächstes Thema: Bereinigen von Ressourcen

Lassen Sie uns wissen, wie wir abgeschnitten haben.