Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Angabe sensibler Daten mithilfe von Secrets Manager Manager-Geheimnissen in Amazon ECS
Amazon ECS ermöglicht es Ihnen, vertrauliche Daten in Ihre Container einzufügen, indem Sie Ihre sensiblen Daten in AWS Secrets Manager Geheimnissen speichern und dann in Ihrer Container-Definition auf sie verweisen. Weitere Informationen finden Sie unter Übergeben Sie sensible Daten an einen Amazon ECS-Container.
Erfahren Sie, wie Sie ein Secrets Manager-Geheimnis erstellen, in einer Amazon ECS-Aufgabendefinition auf das Geheimnis verweisen und dann überprüfen, ob es funktioniert hat, indem Sie die Umgebungsvariable in einem Container abfragen, der den Inhalt des Secrets anzeigt.
Voraussetzungen
In diesem Tutorial wird davon ausgegangen, dass die folgenden Voraussetzungen erfüllt wurden:
-
Die Schritte in Einrichtung für die Verwendung von Amazon ECS wurden ausgeführt.
-
Ihr Benutzer verfügt über die erforderlichen IAM-Berechtigungen, um die Secrets Manager- und Amazon ECS-Ressourcen zu erstellen.
Schritt 1: Erstellen eines Secrets Manager-Secrets
Sie können die Secrets Manager-Konsole verwenden, um ein Secret für Ihre sensiblen Daten zu erstellen. In diesem Tutorial erstellen wir ein grundlegendes Secret zum Speichern eines Benutzernamens und eines Passworts zum späteren Verweisen in einem Container. Weitere Informationen finden Sie unter Create an AWS Secrets Manager Secret im AWS Secrets Manager Benutzerhandbuch.
Die key/value pairs to be stored in this secret (Schlüssel/Wertpaare, die in diesem Geheimnis gespeichert werden sollen), stellen den Wert der Umgebungsvariablen in Ihrem Container am Ende des Tutorials dar.
Speichern Sie den Secret ARN (Geheimen ARN), um ihn in späteren Schritten in Ihrer IAM-Richtlinie für die Aufgabenausführung und der Aufgabendefinition zu verwenden.
Schritt 2: Fügen Sie der Rolle zur Aufgabenausführung die geheimen Berechtigungen hinzu
Damit Amazon ECS die sensiblen Daten aus Ihrem Secrets Manager Manager-Geheimnis abrufen kann, benötigen Sie die geheimen Berechtigungen für die Aufgabenausführungsrolle. Weitere Informationen finden Sie unter Secrets Manager- oder Systems Manager Manager-Berechtigungen.
Schritt 3: Erstellen einer Aufgabendefinition
Sie können die Amazon-ECS-Konsole verwenden, um eine Aufgabendefinition zu erstellen, die auf ein Secrets Manager-Secret verweist.
So erstellen Sie eine Aufgabendefinition, die ein Secret angibt
Verwenden Sie die IAM-Konsole zum Aktualisieren Ihrer Aufgabenausführungsrolle mit den erforderlichen Berechtigungen.
Öffnen Sie die Konsole auf https://console.aws.amazon.com/ecs/Version
2. -
Wählen Sie im Navigationsbereich Task definitions (Aufgabendefinitionen) aus.
-
Wählen Sie Create new task definition (Neue Aufgabendefinition erstellen), Create new task definition with JSON (Neue Aufgabendefinition mit JSON) erstellen.
-
Geben Sie im Feld JSON-Editor den folgenden JSON-Text für die Aufgabendefinition ein und achten Sie darauf, dass Sie den vollständigen ARN des Secrets Manager-Geheimnisses, das Sie in Schritt 1 erstellt haben, und die Aufgabenausführungsrolle, die Sie in Schritt 2 aktualisiert haben, angeben. Wählen Sie Speichern.
-
{ "executionRoleArn": "
arn:aws:iam::
", "containerDefinitions": [ { "entryPoint": [ "sh", "-c" ], "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "command": [ "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "cpu": 10, "secrets": [ { "valueFrom": "aws_account_id
:role/ecsTaskExecutionRolearn:aws:secretsmanager:
", "name": "username_value" } ], "memory": 300, "image": "public.ecr.aws/docker/library/httpd:2.4", "essential": true, "name": "ecs-secrets-container" } ], "family": "ecs-secrets-tutorial" }region
:aws_account_id
:secret:username_value -
Wählen Sie Erstellen aus.
Schritt 4: Erstellen Sie einen Cluster
Verwenden Sie die Amazon-ECS-Konsole zum Erstellen eines Clusters, der eine Container-Instance zum Ausführen der Aufgabe enthält. Wenn Sie bereits über einen Cluster mit mindestens einer registrierten Container-Instance und den Ressourcen zum Ausführen einer Instance der für dieses Tutorial erstellten Aufgabendefinition verfügen, können Sie direkt zum nächsten Schritt gehen.
Für dieses Tutorial erstellen wir einen Cluster mit einer t2.micro
-Container-Instance unter Verwendung des Amazon-ECS-optimierten Amazon Linux 2-AMI.
Informationen zum Erstellen eines Clusters für den EC2 Starttyp finden Sie unterErstellen eines Amazon ECS-Clusters für den EC2 Amazon-Starttyp.
Schritt 5: Führen Sie eine Aufgabe aus
Sie können die Amazon-ECS-Konsole verwenden, um eine Aufgabe mithilfe der Aufgabendefinition auszuführen, die Sie erstellt haben. In diesem Tutorial führen wir eine Aufgabe mit dem EC2 Starttyp aus und verwenden dabei den Cluster, den wir im vorherigen Schritt erstellt haben.
Informationen zum Ausführen einer Aufgabe finden Sie unter Eine Anwendung als Amazon ECS-Aufgabe ausführen.
Schritt 6: Überprüfen
Anhand folgender Schritte können Sie überprüfen, ob alle Schritte erfolgreich abgeschlossen wurden und die Umgebungsvariable in Ihrem Container ordnungsgemäß erstellt wurde.
Überprüfen, ob die Umgebungsvariable erstellt wurde
-
Suchen Sie nach der öffentlichen IP-Adresse oder DNS-Adresse für Ihre Container-Instance.
Öffnen Sie die Konsole auf https://console.aws.amazon.com/ecs/Version
2. -
Wählen Sie im Navigationsbereich Cluster und dann den von Ihnen erstellten Cluster aus.
-
Wählen Sie Infrastruktur und dann die Container-Instance aus.
-
Zeichnen Sie die öffentliche IP oder das öffentliche DNS für Ihre Instance auf.
-
Stellen Sie auf einem macOS- oder Linux-Computer mit dem folgenden Befehl eine Verbindung mit Ihrer Instance her und ersetzen Sie den Pfad zu Ihrem privaten Schlüssel und die öffentliche Adresse für Ihre Instance:
$
ssh -i/path/to/my-key-pair
.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Weitere Informationen zur Verwendung eines Windows-Computers finden Sie unter Herstellen einer Connect zu Ihrer Linux-Instance mithilfe von PuTTY im EC2 Amazon-Benutzerhandbuch.
Wichtig
Weitere Informationen zu Problemen beim Herstellen einer Verbindung zu Ihrer Instance finden Sie unter Problembehandlung bei der Verbindung mit Ihrer Instance im EC2 Amazon-Benutzerhandbuch.
-
Erstellen Sie eine Liste der Container, die auf der Instance ausgeführt werden. Notieren Sie die Container-ID für
ecs-secrets-tutorial
-Container.docker ps
-
Stellen Sie mithilfe der Container-ID aus der Ausgabe des vorherigen Schritts eine Verbindung mit dem
ecs-secrets-tutorial
-Container her.docker exec -it
container_ID
/bin/bash -
Verwenden Sie den
echo
-Befehl, um den Wert der Umgebungsvariable zu drucken.echo $username_value
Wenn das Tutorial erfolgreich war, sollten Sie die folgende Meldung sehen:
password_value
Anmerkung
Alternativ können Sie alle Umgebungsvariablen in Ihrem Container mithilfe des Befehls
env
(oderprintenv
) auflisten.
Schritt 7: Bereinigen
Wenn Sie mit diesem Tutorial fertig sind, sollten Sie die zugehörigen Ressourcen bereinigen, um zu vermeiden, dass Gebühren für ungenutzte Ressourcen anfallen.
So bereinigen Sie die Ressourcen
Öffnen Sie die Konsole auf https://console.aws.amazon.com/ecs/Version
2. -
Klicken Sie im Navigationsbereich auf Cluster.
-
Wählen Sie auf der Cluster-Seite den Cluster aus.
-
Wählen Sie Delete Cluster (Cluster löschen) aus.
-
Geben Sie im Bestätigungsfeld Löschen
cluster name
ein und wählen Sie dann Löschen aus. Öffnen Sie unter https://console.aws.amazon.com/iam/
die IAM-Konsole. -
Wählen Sie im Navigationsbereich Rollen.
-
Durchsuchen Sie die Liste der Rollen für
ecsTaskExecutionRole
und wählen Sie diese aus. -
Wähle „Berechtigungen“ und dann das X neben „ECSSecretsTutorial“. Wählen Sie Remove (Entfernen) aus.
-
Öffnen Sie die Secrets Manager Manager-Konsole unter https://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie das von Ihnen erstellte username_value-Secret und Actions (Aktionen), Delete secret (Secret löschen).