Amazon ECS-Instance-Rolle - AWS Batch

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.

Amazon ECS-Instance-Rolle

AWS BatchRechenumgebungen sind mit Amazon-ECS-Container-Instances ausgestattet. Sie führen den Amazon-ECS-Container-Agenten lokal aus. Der Amazon-ECS-Container-Agent nimmt in Ihrem Namen Aufrufe an verschiedeneAWS API-Operationen vor. Container-Instances, auf denen der Agent ausgeführt wird, benötigen daher eine IAM-Richtlinie und -Rolle, damit diese Services erkennen können, dass der Agent Ihnen gehört. Sie müssen eine IAM-Rolle und ein Instanzprofil erstellen, die die Container-Instances beim Start verwenden können. Andernfalls können Sie keine Rechenumgebung erstellen und Container-Instances darin starten. Diese Anforderung gilt für Container-Instances, die mit oder ohne das von Amazon bereitgestellte Amazon ECS-optimierte AMI gestartet wurden. Weitere Informationen finden Sie unter IAM-Rolle der Amazon-ECS-Container-Instance im Developerhandbuch zum Amazon-Elastic Container Service-Entwicklerhandbuch.

Die Amazon-ECS-Instance-Rolle und -Profil werden bei der ersten Ausführung der Konsole automatisch für Sie erstellt. Mit diesen Schritten können Sie feststellen, ob Ihr Konto bereits über die Amazon-ECS-Instance-Rolle und -Instance-Profil verfügt. In den folgenden Schritten wird auch beschrieben, wie Sie die verwaltete IAM-Richtlinie anhängen.

So prüfen Sie ecsInstanceRole in der IAM-Konsole
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles (Rollen) aus.

  3. Suchen Sie in der Liste der Rollen nach ecsInstanceRole. Wenn die Rolle nicht vorhanden ist, verwenden Sie die folgenden Schritte, um die Rolle zu erstellen.

    1. Wählen Sie Create Role aus.

    2. Wählen Sie für Trusted entity type (Vertrauenswürdige Entität) die Option AWS-Service aus.

    3. Wählen Sie für allgemeine Anwendungsfälle EC2.

    4. Wählen Sie Next (Weiter).

    5. Suchen Sie für Berechtigungsrichtlinien nach AmazonEC2ContainerServicefor EC2Role.

    6. Aktivieren Sie das Kontrollkästchen neben AmazonEC2ContainerServicefor EC2Role und wählen Sie dann Weiter.

    7. Geben Sie unter Role Name (Rollenname) den Namen ecsInstanceRole ein und wählen Sie Create role (Rolle erstellen) aus.

      Anmerkung

      Wenn Sie die verwendenAWS Management Console, um eine Rolle für Amazon EC2 zu erstellen, erstellt die Konsole ein Instance-Profil mit demselben Namen wie der Rolle.

Alternativ können Sie die verwenden,AWS CLI um dieecsInstanceRole IAM-Rolle zu erstellen. Im folgenden Beispiel wird eine IAM-Rolle mit einer Vertrauensrichtlinie und einerAWS verwalteten Richtlinie erstellt.

IAM-Rolle und Instance-Profil erstellen (AWS CLI)
  1. Definieren Sie die folgende Richtlinie und speichern Sie sie in einer Textdatei mit NamenecsInstanceRole-role-trust-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }
  2. Verwenden Sie den Befehl create-role, um dieecsInstanceRole Rolle zu erstellen. Geben Sie den Speicherort der Datei für die Vertrauensrichtlinie imassume-role-policy-document Parameter an.

    $ aws iam create-role \ --role-name ecsInstanceRole \ --assume-role-policy-document file://ecsInstanceRole-role-trust-policy.json

    Nachfolgend finden Sie eine Beispielantwort.

    { "Role": { "Path": "/", "RoleName: "ecsInstanceRole", "RoleId": "AROAT46P5RDIY4EXAMPLE", "Arn": "arn:aws:iam::123456789012:role/ecsInstanceRole". "CreateDate": "2022-12-12T23:46:37.247Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service: "ec2.amazonaws.com" } "Action": "sts:AssumeRole", } ] } }
  3. Verwenden Sie den create-instance-profileBefehl, um ein Instanzprofil mit einem Namen zu erstellenecsInstanceRole.

    Anmerkung

    Sie müssen Rollen und Instance-Profile als separate Aktionen in derAWS CLI undAWS -API erstellen.

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

    Nachfolgend finden Sie eine Beispielantwort.

    { "InstanceProfile": { "Path": "/", "InstanceProfileName": "ecsInstanceRole", "InstanceProfileId": "AIPAT46P5RDITREXAMPLE", "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole", "CreateDate": "2022-06-30T23:53:34.093Z", "Roles": [], } }
  4. Verwenden Sie den Befehl add-role-to-instance-profile, um dieecsInstanceRole Rolle zumecsInstanceRole Instanzprofil hinzuzufügen.

    aws iam add-role-to-instance-profile \ --role-name ecsInstanceRole --instance-profile-name ecsInstanceRole
  5. Verwenden Sie den attach-role-policyBefehl, um dieAmazonEC2ContainerServiceforEC2RoleAWS verwaltete Richtlinie an dieecsInstanceRole Rolle anzuhängen.

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