Verwenden von AWS Nicht-Container-Images in Amazon ECS - Amazon Elastic Container Service

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.

Verwenden von AWS Nicht-Container-Images in Amazon ECS

Verwenden Sie die private Registrierung, um Ihre Anmeldeinformationen darin zu speichern AWS Secrets Manager, und verweisen Sie dann in Ihrer Aufgabendefinition darauf. Auf diese Weise können Sie in Ihren Aufgabendefinitionen auf Container-Images verweisen, die in privaten Registern existieren und für AWS die eine Authentifizierung erforderlich ist. Diese Funktion wird von Aufgaben unterstützt, die auf Fargate, EC2 Amazon-Instances und externen Instances mit Amazon ECS Anywhere gehostet werden.

Wichtig

Wenn Ihre Aufgabendefinition auf ein im Amazon ECR gespeichertes Image verweist, trifft dieses Thema nicht zu. Weitere Informationen finden Sie unter Amazon ECR-Images mit Amazon ECS im Amazon Elastic Container-Registry-Benutzerhandbuch.

Für Aufgaben, die auf EC2 Amazon-Instances gehostet werden, ist für diese Funktion eine Version 1.19.0 oder eine neuere Version des Container-Agenten erforderlich. Wir empfehlen jedoch, die neueste Container-Agent-Version zu verwenden. Informationen zum Überprüfen Ihrer Agenten-Version und zum Aktualisieren auf die neueste Version finden Sie unter Überprüfen des Amazon-ECS-Container-Agenten.

Für Aufgaben, die auf Fargate gehostet werden, erfordert dieses Feature die Plattformversion 1.2.0 oder höher. Weitere Informationen finden Sie unter Fargate-Plattformversionen für Amazon ECS.

Geben Sie in Ihrer Containerdefinition das Objekt repositoryCredentials mit den Details des von Ihnen erstellten Geheimnisses an. Das referenzierte Geheimnis kann von einem anderen AWS-Region oder einem anderen Konto stammen als die Aufgabe, die es verwendet.

Anmerkung

Wenn Sie die Amazon ECS-API oder das AWS SDK verwenden und das Geheimnis in derselben AWS-Region Aufgabe enthalten ist, die Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Geheimnisses verwenden. AWS CLI Wenn das Geheimnis in einem anderen Konto vorhanden ist, muss der vollständige ARN des Geheimnisses angegeben werden. Bei Verwendung von muss immer der vollständige ARN des Geheimnisses angegeben werden. AWS Management Console

Im Folgenden finden Sie einen Ausschnitt einer Aufgabendefinition, welche die erforderlichen Parameter zeigt:

Ersetzen Sie die folgenden Parameter:

  • private-repomit dem Hostnamen des privaten Repositorys

  • private-imagemit dem Bildnamen

  • arn:aws:secretsmanager:region:aws_account_id:secret:secret_namemit dem geheimen Amazon-Ressourcennamen (ARN)

"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]
Anmerkung

Eine weitere Methode zur Aktivierung der privaten Registrierungsauthentifikation verwendet Umgebungsvariablen von Amazon-ECS-Container-Agenten für die Authentifizierung bei privaten Registrierungen. Diese Methode wird nur für Aufgaben unterstützt, die auf EC2 Amazon-Instances gehostet werden. Weitere Informationen finden Sie unter Konfiguration von Amazon ECS-Container-Instances für private Docker-Images .

Um eine private Registrierung zu verwenden
  1. Die Aufgabendefinition muss über eine Aufgabenausführungsrolle verfügen. Auf diese Weise kann der Container-Agent das Container-Image abrufen. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung.

    Um Zugriff auf die Secrets zu gewähren, die Sie erstellen, müssen Sie die folgenden Berechtigungen als eingebundene Richtlinie zur Aufgabendefinitionsrolle hinzufügen. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien.

    • secretsmanager:GetSecretValue

    • kms:Decrypt: Nur erforderlich, wenn Ihr Schlüssel einen benutzerdefinierten KMS-Schlüssel verwendet und nicht den Standard-Schlüssel. Der Amazon-Ressourcenname (ARN) für Ihren benutzerdefinierten Schlüssel muss als Ressource hinzugefügt werden.

    Das folgende Beispiel einer Inline-Richtlinie fügt die Berechtigungen hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }
  2. Verwenden Sie AWS Secrets Manager diese Option, um ein Geheimnis für Ihre privaten Registrierungsdaten zu erstellen. Informationen zum Erstellen eines Geheimnisses finden Sie unter Create an AWS Secrets Manager Secret im AWS Secrets Manager Benutzerhandbuch.

    Geben Sie Ihre Anmeldedaten für die private Registrierung im folgenden Format ein:

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  3. Eine Aufgabendefinition registrieren. Weitere Informationen finden Sie unter Erstellen einer Amazon ECS-Aufgabendefinition mithilfe der Konsole.