ECSIAMAmazon-Container-Instance-Rolle - 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.

ECSIAMAmazon-Container-Instance-Rolle

ECSAmazon-Container-Instances, einschließlich EC2 Amazon-Container-Instances, führen den ECS Amazon-Container-Agent aus und benötigen IAM daher eine Rolle, damit der Service weiß, dass der Agent zu Ihnen gehört. Bevor Sie Container-Instances starten und sie in einem Cluster registrieren, müssen Sie eine IAM Rolle erstellen, die ihre Container-Instances verwenden können. Die Rolle wird in dem Konto erstellt, das Sie für die Anmeldung bei der Konsole oder die Ausführung der AWS CLI -Befehle verwenden.

Wichtig

Wenn Sie externe Instances in Ihrem Cluster registrieren, erfordert die von Ihnen verwendete IAM Rolle ebenfalls die Systems Manager Berechtigungen. Weitere Informationen finden Sie unter Amazon ECS IAM Anywhere-Rolle.

Amazon ECS stellt die AmazonEC2ContainerServiceforEC2Role verwaltete IAM Richtlinie bereit, die die Berechtigungen enthält, die für die Nutzung des gesamten ECS Amazon-Funktionsumfangs erforderlich sind. Diese verwaltete Richtlinie kann einer IAM Rolle zugeordnet und Ihren Container-Instances zugeordnet werden. Alternativ können Sie die verwaltete Richtlinie als Leitfaden verwenden, wenn Sie eine benutzerdefinierte Richtlinie verwenden möchten. Die Container-Instance-Rolle stellt Berechtigungen bereit, die für den ECS Amazon-Container-Agent und den Docker-Daemon erforderlich sind, um in Ihrem Namen abzurufen AWS APIs. Für weitere Informationen über die verwaltete Richtlinie siehe Amazon EC2ContainerServiceforEC2Role.

Amazon ECS unterstützt das Starten von Container-Instances mit erhöhter ENI Dichte mit unterstützten EC2 Amazon-Instance-Typen. Wenn Sie diese Funktion verwenden, empfehlen wir Ihnen, zwei Container-Instance--Rollen zu erstellen. Aktivieren Sie die awsvpcTrunking Kontoeinstellung für eine Rolle und verwenden Sie diese Rolle für Aufgaben, die ENI Trunking erfordern. Informationen zur awsvpcTrunking Kontoeinstellung finden Sie unterGreifen Sie mit den Kontoeinstellungen auf ECS Amazon-Funktionen zu.

Erstellen Sie die Rolle für die Container-Instance

Wichtig

Wenn Sie externe Instances in Ihrem Cluster registrieren, finden Sie weitere Informationen unter Amazon ECS IAM Anywhere-Rolle.

Sie können jedoch die verwaltete IAM Richtlinie für Container-Instances manuell erstellen und anfügen, ECS damit Amazon die Berechtigungen für future Features und Erweiterungen bei deren Einführung hinzufügen kann. Verwenden Sie das folgende Verfahren, um die verwaltete IAM Richtlinie anzufügen, falls erforderlich.

AWS Management Console
So erstellen Sie eine Servicerolle für Elastic Container Service (IAMKonsole)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Klicken Sie im Navigationsbereich der IAM -Konsole auf Roles (Rollen) und wählen Sie dann Create role (Rolle erstellen) aus.

  3. Wählen Sie für Vertrauenswürdige Entität die Option AWS-Service aus.

  4. Wählen Sie für Service oder Anwendungsfall Elastic Container Service und dann den Anwendungsfall EC2Rolle für Elastic Container Service aus.

  5. Wählen Sie Weiter.

  6. Vergewissern Sie sich, dass im Abschnitt Berechtigungsrichtlinien die EC2ContainerServiceforEC2RoleAmazon-Richtlinie ausgewählt ist.

    Wichtig

    Die von Amazon EC2ContainerServiceforEC2Role verwaltete Richtlinie sollte an die IAM Container-Instance-Rolle angehängt werden. Andernfalls erhalten Sie eine Fehlermeldung beim Verwenden von AWS Management Console , um Cluster zu erstellen.

  7. Wählen Sie Weiter.

  8. Geben Sie als Rollenname Folgendes ein ecsInstanceRole

  9. Prüfen Sie die Rolle und klicken Sie dann auf Create Role (Rolle erstellen).

AWS CLI

Alle Objektmarkierungen ersetzen user input mit Ihren eigenen Werten.

  1. Erstellen Sie eine Datei mit dem Namen instance-role-trust-policy.json und den folgenden Inhalten.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }
  2. Verwenden Sie den folgenden Befehl, um die IAM Instanzrolle unter Verwendung des Vertrauensrichtlinien-Dokuments zu erstellen.

    aws iam create-role \ --role-name ecsInstanceRole \ --assume-role-policy-document file://instance-role-trust-policy.json
  3. Erstellen Sie ein Instanzprofil ecsInstanceRole-profile mit dem Namen des create-instance-profileBefehls.

    aws iam create-instance-profile --instance-profile-name ecsInstanceRole-profile

    Beispielantwort

    { "InstanceProfile": { "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE", "Roles": [], "CreateDate": "2022-04-12T23:53:34.093Z", "InstanceProfileName": "ecsInstanceRole-profile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole-profile" } }
  4. Fügen Sie dem Instance-Profil ecsInstanceRole die IAM-Rolle ecsInstanceRole-profile hinzu.

    aws iam add-role-to-instance-profile \ --instance-profile-name ecsInstanceRole-profile \ --role-name ecsInstanceRole
  5. Hängen Sie die AmazonEC2ContainerServiceRoleForEC2Role verwaltete Richtlinie mit dem folgenden Befehl an die Rolle an die Rolle an.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \ --role-name ecsInstanceRole

Nachdem Sie die Rolle erstellt haben, fügen Sie der Rolle zusätzliche Berechtigungen für die folgenden Funktionen hinzu.

Funktion Zusätzliche Berechtigungen

Amazon ECR hat das Container-Image

ECRAmazon-Berechtigungen

Lassen Sie CloudWatch Logs Container-Instances überwachen

Überwachen von Berechtigungen für Container-Instances

Hosting-Konfigurationsdateien in einem Amazon-S3-Bucket

Amazon S3 schreibgeschützter Zugriff

ECRAmazon-Berechtigungen

Die ECS Amazon-Container-Instance-Rolle, die Sie mit Ihren Container-Instances verwenden, muss über die folgenden IAM Richtlinienberechtigungen für Amazon verfügenECR.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

Wenn Sie die verwaltete Richtlinie AmazonEC2ContainerServiceforEC2Role für die Container-Instances nutzen, weist die Rolle die erforderlichen Berechtigungen auf. Um zu überprüfen, ob Ihre Rolle Amazon unterstütztECR, siehe Amazon ECS Container Instance IAM Role im Amazon Elastic Container Service Developer Guide.

Amazon S3 schreibgeschützter Zugriff

Das Speichern von Konfigurationsinformationen in einem privaten Amazon S3 S3-Bucket und das Erteilen der schreibgeschützten Zugriffsberechtigung Ihrer IAM Container-Instance-Rolle ist eine sichere und bequeme Art, die Konfiguration der Container-Instance zur Startzeit zu ermöglichen. Sie können eine Kopie Ihrer ecs.config Datei in einem privaten Bucket speichern AWS CLI und dann mithilfe von EC2 Amazon-Benutzerdaten installieren und Ihre Konfigurationsinformationen in den Ordner kopieren, /etc/ecs/ecs.config wenn die Instance startet.

Weitere Informationen dazu, wie Sie eine Datei ecs.config erstellen, sie in Amazon S3 speichern und Instances mit dieser Konfiguration starten, finden Sie unter Speichern der ECS Amazon-Container-Instance-Konfiguration in Amazon S3.

Mit dem folgenden AWS CLI Befehl können Sie schreibgeschütztem Amazon S3 S3-Zugriff auf Ihre Container-Instance-Rolle gewähren. Ersetzen ecsInstanceRole mit dem Namen der Rolle, die Sie erstellt haben.

aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

Sie können die IAM Konsole auch verwenden, um Ihrer Rolle Amazon S3 S3-Lesezugriff (AmazonS3ReadOnlyAccess) hinzuzufügen. Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Aktualisieren von Berechtigungen für eine Rolle.

Überwachen von Berechtigungen für Container-Instances

Bevor Ihre Container-Instances Protokolldaten an CloudWatch Logs senden können, müssen Sie eine IAM Richtlinie erstellen, die es dem ECS Amazon-Mitarbeiter ermöglicht, die Anwendungsprotokolle des Kunden zu schreiben CloudWatch (normalerweise über den awslogs Treiber abgewickelt). Nachdem Sie die Richtlinie erstellt haben, ordnen Sie diese Richtlinie anecsInstanceRole.

AWS Management Console
So verwenden Sie den JSON Richtlinieneditor zum Erstellen einer Richtlinie
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich auf der linken Seite Policies (Richtlinien).

    Wenn Sie zum ersten Mal Policies (Richtlinien) auswählen, erscheint die Seite Welcome to Managed Policies (Willkommen bei verwalteten Richtlinien). Wählen Sie Get Started.

  3. Wählen Sie oben auf der Seite Create policy (Richtlinie erstellen) aus.

  4. Wählen Sie im Bereich Policy-Editor die JSONOption aus.

  5. Geben Sie folgendes JSON Richtliniendokument ein:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": ["arn:aws:logs:*:*:*"] } ] }
  6. Wählen Sie Weiter.

    Anmerkung

    Sie können jederzeit zwischen den Optionen Visual und JSONEditor wechseln. Wenn Sie jedoch Änderungen vornehmen oder im Visual -Editor Next (Weiter) wählen, strukturiert Ihre Richtlinie IAM möglicherweise neu, um sie für den visuellen Editor zu optimieren. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Umstrukturierung von Richtlinien.

  7. Geben Sie auf der Seite Prüfen und erstellen unter Richtlinienname einen Namen und unter Beschreibung (optional) eine Beschreibung für die Richtlinie ein, die Sie erstellen. Überprüfen Sie Permissions defined in this policy (In dieser Richtlinie definierte Berechtigungen), um die Berechtigungen einzusehen, die von Ihrer Richtlinie gewährt werden.

  8. Wählen Sie Create policy (Richtlinie erstellen) aus, um Ihre neue Richtlinie zu speichern.

Nachdem Sie die Richtlinie erstellt haben, ordnen Sie die Richtlinie der Container-Instance-Rolle zu. Informationen zum Anhängen der Richtlinie an die Rolle finden Sie unter Aktualisieren von Berechtigungen für eine Rolle im AWS Identity and Access Management Benutzerhandbuch.

AWS CLI
  1. Erstellen Sie eine Datei mit dem Namen instance-cw-logs.json und folgendem Inhalt.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": ["arn:aws:logs:*:*:*"] } ] }
  2. Verwenden Sie den folgenden Befehl, um die IAM Richtlinie mit der JSON Richtliniendokumentdatei zu erstellen.

    aws iam create-policy \ --policy-name cwlogspolicy \ --policy-document file://instance-cw-logs.json
  3. Rufen Sie ARN die IAM Richtlinie ab, die Sie mit dem folgenden Befehl erstellt haben. Ersetzen cwlogspolicy mit dem Namen der Richtlinie, die Sie erstellt haben.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cwlogspolicy`].Arn'
  4. Verwenden Sie den folgenden Befehl, um die Richtlinie mithilfe der Richtlinie an die IAM Container-Instance-Rolle anzuhängenARN.

    aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/cwlogspolicy