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.
IAM-Rolle für Amazon-ECS-Container-Instance
Amazon ECS-Container-Instances, einschließlich Amazon- EC2 und externer Instances, führen den Amazon ECS-Container-Agenten aus und benötigen eine IAM-Rolle, damit der Service weiß, dass der Agent 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, mit dem Sie sich bei der Konsole anmelden oder die AWS CLI Befehle ausführen.
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 IAM-Rolle in Amazon ECS Anywhere.
Amazon ECS stellt die von AmazonEC2ContainerServiceforEC2Role
verwaltete IAM-Richtlinie, die die Berechtigungen enthält, die für die Verwendung des vollständigen Amazon-ECS-Featuresatzes erforderlich sind, bereit. 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 die erforderlichen Berechtigungen bereit, damit der Amazon ECS-Container-Agent und der Docker-Daemon in Ihrem Namen aufrufen AWS APIs können. Für weitere Informationen über die verwaltete Richtlinie siehe EC2ContainerServiceforEC2Rolle bei Amazon.
Erstellen Sie die Container-Instance-Rolle
Wichtig
Wenn Sie externe Instances in Ihrem Cluster registrieren, finden Sie weitere Informationen unter IAM-Rolle in Amazon ECS Anywhere.
Sie können jedoch die verwaltete IAM-Richtlinie für Container-Instances manuell erstellen und anfügen, damit Amazon ECS die Berechtigungen für zukünftige Features und Erweiterungen bei deren Einführung hinzufügen kann. Gehen Sie wie folgt vor, um die verwaltete IAM-Richtlinie bei Bedarf anzuhängen.
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 |
|
Lassen Sie Container-Instances von CloudWatch Logs überwachen | |
Hosten Sie Konfigurationsdateien in einem Amazon S3 S3-Bucket |
Amazon-ECR-Berechtigungen
Die Amazon ECS-Container-Instance-Rolle, die Sie mit Ihren Container-Instances verwenden, muss über die folgenden IAM-Richtlinienberechtigungen für Amazon ECR verfügen.
{ "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. Überprüfen Sie, ob Ihre Rolle Amazon ECR unterstützt in IAM-Rolle für Amazon ECS-Container-Instance im Amazon Elastic Container Service-Entwicklerhandbuch.
Für die Einrichtung der AWSvpcTrunking-Kontoeinstellung sind Berechtigungen erforderlich
Amazon ECS unterstützt das Starten von Container-Instances mit erhöhter ENI-Dichte unter Verwendung unterstützter 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 Amazon ECS-Funktionen zu.
Die Container-Instance-Rolle, die Sie mit Ihren Container-Instances verwenden, muss über die folgenden IAM-Richtlinienberechtigungen verfügen, um die Kontoeinstellungen festzulegen
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:ListAccountSettings", "ecs:ListAttributes", "ecs:PutAccountSetting" ], "Resource": "*" } ] }
Um die Container-Instance-Rolle zu verwenden, fügen Sie den Benutzerdaten der Instanz Folgendes hinzu:
#!/bin/bash aws ecs put-account-setting --name awsvpcTrunking --value enabled --region
region
ECS_CLUSTER=MyCluster
>> /etc/ecs/ecs.config EOF
Weitere Informationen zum Hinzufügen von Benutzerdaten zu Ihren EC2 Instances finden Sie unter Befehle auf Ihrer Linux-Instance beim Start ausführen im EC2 Amazon-Benutzerhandbuch.
Amazon S3 S3-Lesezugriff
Das Speichern von Konfigurationsinformationen in einem privaten Amazon S3-Bucket und das Erteilen der schreibgeschützten Zugriffsberechtigung Ihrer IAM-Rolle der Container-Instance 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, EC2 Amazon-Benutzerdaten zur Installation verwenden AWS CLI und dann Ihre Konfigurationsinformationen zum /etc/ecs/ecs.config
Start der Instance kopieren.
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 Amazon ECS-Container-Instance-Konfiguration in Amazon S3.
Sie können den folgenden AWS CLI Befehl verwenden, um Amazon S3 nur Lesezugriff für Ihre Container-Instance-Rolle zu gewähren. ecsInstanceRole
Ersetzen Sie es durch den 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 Ihrer Rolle auch die IAM-Konsole verwenden, um Amazon S3 S3-Lesezugriff (AmazonS3ReadOnlyAccess
) hinzuzufügen. Weitere Informationen finden Sie im Benutzerhandbuch unter Aktualisieren von Berechtigungen für eine Rolle.AWS Identity and Access Management
Berechtigungen für Container-Instances überwachen
Bevor Ihre Container-Instances Protokolldaten an CloudWatch Logs senden können, müssen Sie eine IAM-Richtlinie erstellen, die es dem Amazon ECS-Agenten ermöglicht, die Anwendungsprotokolle des Kunden zu schreiben CloudWatch (normalerweise über den awslogs
Treiber abgewickelt). Nachdem Sie die Richtlinie erstellt haben, fügen Sie diese Richtlinie an anecsInstanceRole
.