Verwenden von Bildern, die keine AWS Container sind, 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 Bildern, die keine AWS Container sind, 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 Bild verweist, das in Amazon gespeichert istECR, gilt dieses Thema nicht. Weitere Informationen finden Sie unter Using Amazon ECR Images with 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 Den ECS Amazon-Container-Agenten aktualisieren.

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 Amazon verwenden ECS API AWS CLI, oder AWS SDK, wenn 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. Wenn das Geheimnis in einem anderen Konto existiert, muss das vollständige ARN Geheimnis angegeben werden. Bei der AWS Management Console Verwendung von muss immer ARN der vollständige Inhalt des Geheimnisses angegeben werden.

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

Ersetzen Sie die folgenden Parameter:

  • private-repo mit dem Hostnamen des privaten Repositorys

  • private-image mit dem Bildnamen

  • arn:aws:secretsmanager:region:aws_account_id:secret:secret_name mit 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 andere Methode zur Aktivierung der Authentifizierung in privaten Registern verwendet Umgebungsvariablen des ECS Amazon-Container-Agenten, um sich bei privaten Registern zu authentifizieren. Diese Methode wird nur für Aufgaben unterstützt, die auf EC2 Amazon-Instances gehostet werden. Weitere Informationen finden Sie unter Konfiguration von ECS Amazon-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 Rolle bei der Ausführung von ECS IAM Amazon-Aufgaben.

    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 IAMRichtlinien hinzufügen und entfernen.

    • secretsmanager:GetSecretValue

    • kms:Decrypt— Nur erforderlich, wenn Ihr Schlüssel einen benutzerdefinierten KMS Schlüssel und nicht den Standardschlüssel verwendet. 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 ECS Amazon-Aufgabendefinition mithilfe der Konsole.