View a markdown version of this page

Umgebungen auf von Amazon ECS verwalteten Instances berechnen - 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.

Umgebungen auf von Amazon ECS verwalteten Instances berechnen

AWS Batch Rechenumgebungen auf Amazon ECS Managed Instances verwenden einen internen managedInstancesProvider KonfigurationsblockcomputeResources. Diese Struktur entspricht dem Amazon ECS-Kapazitätsanbieter-Modell und ist eigenständig. Die gesamte Konfiguration für Netzwerke, Instanzprofile und Instance-Auswahl befindet sich in diesem Block.

In der folgenden Liste werden die Parameter der Rechenumgebung für Amazon ECS Managed Instances-Rechenumgebungen beschrieben.

type(oberste Ebene)

Der Wert muss MANAGED sein.

"type": "MANAGED"
computeResources.type

Der Wert muss ECS_MANAGED_INSTANCES sein. Im Gegensatz zu Fargate- und Amazon EC2-Rechenumgebungen wird die Spot-Kapazität nicht als separater Typ ausgedrückt (es gibt keinen ECS_MANAGED_INSTANCES_SPOT Typ). Verwenden Sie stattdessen capacityOptionType inside, managedInstancesProvider.instanceLaunchTemplate um die On-Demand Spot-Kapazität anzugeben.

"type": "ECS_MANAGED_INSTANCES"
computeResources.maxvCpus

Die maximale Anzahl von vCPUs, auf die die Rechenumgebung skaliert werden kann. Funktioniert genauso wie maxvCpus für Fargate-Rechenumgebungen — es begrenzt den gesamten vCPU-Verbrauch aller ausgeführten Jobs.

Wichtig

Derzeit maxvCpus basiert AWS Batch die Auswertung auf der Gesamtzahl der von laufenden Jobs angeforderten vCPUs, nicht auf der Gesamtzahl der vCPUs der zugrunde liegenden Amazon EC2-Instances. Amazon ECS Managed Instances verwendet die Zuweisung von Instanzen mit mehreren Mandanten. Daher kann die tatsächlich bereitgestellte Instanz-vCPU-Kapazität die Gesamtzahl der Job-vCPUs überschreiten. Die Rechenumgebung stellt möglicherweise mehr Instanzkapazität bereit, als der maxvCpus Wert vermuten lässt. Dieses Verhalten könnte in einem zukünftigen Update verbessert werden.

computeResources.managedInstancesProvider

Erforderlich für Rechenumgebungen mit Amazon ECS Managed Instances. Enthält die gesamte Amazon ECS Instances-specific Managed-Konfiguration. Weitere Informationen finden Sie ManagedInstancesProvider in der Amazon Elastic Container Service API-Referenz. Die folgenden Felder sind verfügbar:

infrastructureRoleArn

Erforderlich Der ARN der IAM-Rolle, die Amazon ECS annimmt, um Amazon EC2-Instances in Ihrem Namen zu verwalten. Für diese Rolle muss eine Vertrauensrichtlinie gelten für. ecs.amazonaws.com Ihr IAM-Principal muss die iam:PassRole Genehmigung für diese Rolle mit der Bedingung iam:PassedToService: ecs.amazonaws.com haben.

propagateTags

Optional. Steuert, ob die Tags des Kapazitätsanbieters an die Amazon EC2-Instances weitergegeben werden, die dieser startet. Gültige Werte sind CAPACITY_PROVIDER und NONE.

instanceLaunchTemplate

Erforderlich Enthält die Konfiguration für den Instance-Start:

ec2InstanceProfileArn

Erforderlich Der ARN des Amazon EC2-Instance-Profils für die verwalteten Instances. Dieses Instanzprofil muss die AmazonECSInstanceRolePolicyForManagedInstances verwaltete Richtlinie mit einer Vertrauensrichtlinie für ec2.amazonaws.com verwenden.

networkConfiguration

Erforderlich Gibt die VPC-Konfiguration für die verwalteten Instanzen an.

  • subnets – Erforderlich. Die VPC-Subnetze, in denen Instances gestartet werden. Instances benötigen externen Netzwerkzugriff, um mit dem Amazon ECS-Serviceendpunkt zu kommunizieren. Wenn Ihre Subnetze keine öffentlichen IP-Adressen bereitstellen, müssen sie über ein NAT-Gateway für den ausgehenden Internetzugang verfügen.

  • securityGroups – Erforderlich. Die VPC-Sicherheitsgruppen, die den Instances zugeordnet werden sollen.

instanceRequirements

Optional. Gibt Einschränkungen an, nach denen Amazon EC2-Instance-Typen Amazon ECS starten kann. Wenn nicht angegeben, sind alle verfügbaren Instance-Typen geeignet.

  • allowedInstanceTypes— Eine Liste bestimmter Instance-Typen oder Instance-Familien (z. B. m5.large oderg5). Wenn angegeben, werden nur diese Instanztypen verwendet.

capacityOptionType

Optional. Das Preismodell für Kapazitäten. Gültige Werte sind ON_DEMAND (Standard) und SPOT. Mit SPOT bringt Amazon ECS Spot-Instances auf den Markt, die bei fehlertoleranten Workloads zu erheblichen Kosteneinsparungen führen können.

storageConfiguration

Optional. Konfiguriert das EBS-Root-Volume für Instances.

  • storageSizeGiB— Die Größe des Root-Volumes in GiB.

monitoring

Optional. Die Ebene der CloudWatch Überwachung für die Instanzen. Gültige Werte sind BASIC und DETAILED.

fipsEnabled

Optional. Wenn diese Option auf gesetzt isttrue, wird die FIPS 140-2-Konformität auf den verwalteten Instanzen aktiviert. Nicht in allen verfügbar. AWS-Regionen

capacityReservations

Optional. Zielt auf On-Demand Kapazitätsreservierungen (ODCRs) ab, um eine vorhersehbare Kapazitätsverfügbarkeit zu gewährleisten.

  • reservationGroupArn— Der ARN der Kapazitätsreservierungsgruppe, die angestrebt werden soll.

  • reservationPreference— Steuert, wie Kapazitätsreservierungen verwendet werden. Gültige Werte sind RESERVATIONS_ONLY (nur Reservierungen starten), RESERVATIONS_FIRST (Reservierungen bevorzugen, auf On-Demand zurückgreifen) und RESERVATIONS_EXCLUDED (Reservierungen nicht verwenden).

instanceMetadataTagsPropagation

Optional. Steuert, ob auf den verwalteten Instances über den Instance-Metadaten-Service (IMDS) auf den Tags zugegriffen werden kann.

localStorageConfiguration

Optional. Konfiguriert lokale Instance-Speicher-Volumes (lokale NVMe-SSDs) für die verwalteten Instanzen.

  • useLocalStorage— Ob Instance-Speicher-Volumes für Container verfügbar sind, die auf den verwalteten Instances ausgeführt werden.

infrastructureOptimization

Optional. Steuert, wie Amazon ECS inaktive Instances verwaltet.

  • scaleInAfter— Die Anzahl der Sekunden, in denen eine Instance inaktiv sein muss, bevor Amazon ECS sie beendet. Gültige Werte sind -1 (um Scale-In zu deaktivieren) oder 03600 (Sekunden Leerlaufzeit vor der Beendigung).

computeResources.capacityTags

Optional. Tags, die auf den Amazon ECS-Kapazitätsanbieter und die von der Rechenumgebung verwalteten Amazon EC2-Instances angewendet werden sollen. Nur gültig für ECS_MANAGED_INSTANCES Rechenumgebungen. Ihr IAM-Principal muss über die batch:SetCapacityTags Berechtigung für die Rechenumgebungsressource verfügen, um dieses Feld anzugeben. Weitere Informationen finden Sie unter Steuern Sie den Zugriff auf Kapazitäts-Tags mit Batch: SetCapacityTags.

Diese Tags sind von der obersten Ebene der tags Rechenumgebungsressource selbst getrennt. Wird capacityTags für die Kostenverteilung und Organisation der zugrunde liegenden Infrastrukturressourcen verwendet.

Parameter gelten nicht für Amazon ECS Managed Instances

Die folgenden computeResources Parameter sind für Amazon ECS Managed Instances-Rechenumgebungen nicht gültig und dürfen nicht angegeben werden:

  • allocationStrategy

  • bidPercentage

  • desiredvCpus

  • minvCpus

  • imageId

  • instanceTypes

  • instanceRole

  • ec2Configuration

  • ec2KeyPair

  • launchTemplate

  • placementGroup

  • spotIamFleetRole

  • subnets(managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnetsstattdessen verwenden)

  • securityGroupIds(managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroupsstattdessen verwenden)

Aktualisierung der Rechenumgebungen mit Amazon ECS Managed Instances

Alle Attribute der Rechenumgebung von Amazon ECS Managed Instances können aktualisiert werdencapacityOptionType, mit Ausnahme des Typs der Rechenumgebung undfipsEnabled. Aktualisierungen werden an den zugrunde liegenden Amazon ECS-Kapazitätsanbieter weitergeleitet. Neue Instances verwenden die aktualisierte Konfiguration. Bestehende Instanzen laufen weiter, bis ihre Aufgaben abgeschlossen sind, und werden dann auf natürliche Weise entladen.

Folgendes kann nach der Erstellung nicht geändert werden:

  • Der Typ der Rechenumgebung (ECS_MANAGED_INSTANCESkann nicht in FARGATEEC2, oder andere Typen geändert werden)

  • capacityOptionType— Nach der Erstellung können Sie nicht zwischen On-Demand und Spot wechseln

  • fipsEnabled— Der FIPS-Modus kann nach der Erstellung nicht geändert werden

Beispiele

Minimale Konfiguration

Das folgende Beispiel zeigt die Mindestkonfiguration, die zum Erstellen einer Amazon ECS Managed Instances-Rechenumgebung erforderlich ist. Amazon ECS wählt Instance-Typen automatisch aus allen verfügbaren Typen aus.

{ "computeEnvironmentName": "my-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "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"] } } } } }

GPU-Workload mit bestimmten Instance-Typen

Im folgenden Beispiel wird eine Rechenumgebung erstellt, die auf NVIDIA-GPU-Instanztypen für maschinelles Lernen beschränkt ist.

{ "computeEnvironmentName": "my-gpu-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "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": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"] }, "capacityOptionType": "ON_DEMAND" } } } }

Spotkapazität für kostensensitive Workloads

Das folgende Beispiel erstellt eine Spot-backed Rechenumgebung für fehlertolerante Batch-Workloads.

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 5000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT", "storageConfiguration": { "storageSizeGiB": 100 } } } } }