View a markdown version of this page

Tutorial: Erstellen Sie eine verwaltete Rechenumgebung mit Amazon ECS Managed Instances - 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.

Tutorial: Erstellen Sie eine verwaltete Rechenumgebung mit Amazon ECS Managed Instances

Dieses Tutorial führt Sie durch die Erstellung einer AWS Batch Rechenumgebung, die Amazon ECS Managed Instances verwendet. Amazon ECS verwaltet die Amazon EC2-Instances in Ihrem Namen — Sie geben die maximale Kapazität und optionale Instance-Einschränkungen an, und Amazon ECS kümmert sich um Bereitstellung, Skalierung und Kündigung.

Voraussetzungen

Bevor Sie eine Amazon ECS Managed Instances-Rechenumgebung erstellen, müssen Sie über Folgendes verfügen:

  • Eine Amazon ECS-Infrastrukturrolle — eine IAM-Rolle, die Amazon ECS übernimmt, um Amazon EC2-Instances in Ihrem Namen zu verwalten. Für die Rolle muss eine Vertrauensrichtlinie gelten für. ecs.amazonaws.com Weitere Informationen finden Sie im Amazon Elastic Container Service Developer Guide unter Amazon ECS-Infrastruktur-IAM-Rolle.

  • Ein Amazon EC2-Instanzprofil — ein Instanzprofil, das die AmazonECSInstanceRolePolicyForManagedInstances verwaltete Richtlinie verwendet. Die Vertrauensrichtlinie muss es ermöglichenec2.amazonaws.com, die Rolle zu übernehmen.

  • Ihr IAM-Principal muss über die iam:PassRole Berechtigung für die Infrastrukturrolle mit der Bedingung iam:PassedToService: ecs.amazonaws.com verfügen.

  • Eine VPC mit Subnetzen, die über ausgehenden Internetzugang verfügen (entweder öffentliche IP-Zuweisung oder ein NAT-Gateway).

Erstellen einer Amazon ECS Managed Instances Rechenumgebung (Konsole)

  1. Öffnen Sie die AWS Batch Konsole unter https://console.aws.amazon.com/batch/.

  2. Wählen Sie in der Navigationsleiste die AWS-Region zu verwendende aus.

  3. Wählen Sie im linken Navigationsbereich Umgebungen aus.

  4. Wählen Sie Umgebung erstellen und dann Computerumgebung erstellen aus.

  5. Wählen Sie für den Umgebungstyp Rechenumgebung“ die Option ECS Managed Instances aus.

  6. Geben Sie für den Namen der Computerumgebung einen eindeutigen Namen ein. Der Name kann bis zu 128 Zeichen lang sein und Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten.

  7. Geben Sie für Maximale vCPUs die maximale Anzahl von vCPUs ein, auf die die Rechenumgebung skaliert werden kann.

  8. Wählen Sie für die Infrastrukturrolle die Amazon ECS-Infrastrukturrolle aus, die Sie als Voraussetzung erstellt haben.

  9. Wählen Sie für Instance-Profil das Amazon EC2-Instance-Profil aus, das Sie als Voraussetzung erstellt haben.

  10. Im Abschnitt Netzwerk:

    1. Wählen Sie für VPC die VPC aus, in der Instances gestartet werden.

    2. Wählen Sie für Subnetze ein oder mehrere Subnetze aus. Die Subnetze müssen über ausgehenden Internetzugang verfügen.

    3. Wählen Sie für Sicherheitsgruppen eine oder mehrere Sicherheitsgruppen aus, die Sie den Instances zuordnen möchten.

  11. (Optional) Wählen Sie als Kapazitätstyp Spot, um Spot-Instances für Kosteneinsparungen bei fehlertoleranten Workloads zu verwenden. Der Standardwert ist On-Demand.

  12. (Optional) Geben Sie für Zulässige Instance-Typen an, welche Instance-Typen Amazon ECS starten kann. Wenn Sie keine angeben, kommen alle verfügbaren Instance-Typen in Frage.

  13. Wählen Sie Computerumgebung erstellen aus.

Erstellen einer Rechenumgebung für Amazon ECS Managed Instances (AWS CLI)

Verwenden Sie den create-compute-environment Befehl, um eine Amazon ECS Managed Instances-Rechenumgebung zu erstellen.

Einfaches Beispiel

Im folgenden Beispiel wird eine Rechenumgebung mit der erforderlichen Mindestkonfiguration erstellt. Amazon ECS kann jeden verfügbaren Instance-Typ verwenden.

$ aws batch create-compute-environment \ --compute-environment-name my-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 256, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] } } } }'

Spot mit bestimmten Instance-Typen

Im folgenden Beispiel wird eine Spot-backed Rechenumgebung erstellt, die auf bestimmte Instanztypen beschränkt ist.

$ aws batch create-compute-environment \ --compute-environment-name my-spot-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 1000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT" } } }'

Ausgabe:

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "computeEnvironmentArn": "arn:aws:batch:us-east-1:123456789012:compute-environment/my-spot-managed-instances-ce" }

Mit Kapazitätsreservierungen

Im folgenden Beispiel wird eine Rechenumgebung erstellt, die auf On-Demand Kapazitätsreservierungen abzielt, um vorhersehbare Kapazitäten zu erhalten.

$ aws batch create-compute-environment \ --compute-environment-name my-reserved-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 512, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.xlarge", "m5.2xlarge"] }, "capacityReservations": { "reservationGroupArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation-group/my-reservation-group", "reservationPreference": "RESERVATIONS_FIRST" } } } }'

Nächste Schritte

Nachdem Sie Ihre Rechenumgebung erstellt haben, führen Sie die folgenden Schritte aus, um Jobs auszuführen:

  1. Erstellen Sie eine Auftragswarteschlange und verknüpfen Sie Ihre Amazon ECS Managed Instances-Rechenumgebung damit. Weitere Informationen finden Sie unter Eine Jobwarteschlange erstellen.

  2. Erstellen Sie eine Jobdefinition mit platformCapabilities Set to MANAGED_INSTANCES und usingecsProperties. Weitere Informationen finden Sie unter Auftragsdefinitionen auf von Amazon ECS verwalteten Instances.

  3. Senden Sie einen Job an die Job-Warteschlange. Weitere Informationen finden Sie unter Tutorial: Einen Job einreichen.