Erstellen eines Kapazitätsanbieters für Amazon ECS Managed Instances - Amazon Elastic Container Service

Erstellen eines Kapazitätsanbieters für Amazon ECS Managed Instances

Amazon ECS Managed Instances verwendet Kapazitätsanbieter, um die Rechenkapazität für Ihre Workloads zu verwalten. Standardmäßig bietet Amazon ECS einen Standardkapazitätsanbieter, der automatisch die kostenoptimiertesten Allzweck-Instance-Typen auswählt. Sie können jedoch benutzerdefinierte Kapazitätsanbieter erstellen, um Instance-Attribute wie Instance-Typen, CPU-Hersteller, Accelerator-Typen und andere Anforderungen anzugeben.

Benutzerdefinierte Kapazitätsanbieter verwenden eine attributbasierte Auswahl des Instance-Typs, mit der Sie Instance-Anforderungen als eine Reihe von Attributen ausdrücken können. Diese Anforderungen werden automatisch in alle passenden Instance-Typen von Amazon EC2 übersetzt, was die Erstellung und Wartung von Instance-Typ-Konfigurationen vereinfacht. Weitere Informationen zu den Instance-Anforderungen und der attributbasierten Auswahl finden Sie unter Attributebasierte Auswahl des Instance-Typs für Amazon EC2 Fleet im Amazon-EC2-Benutzerhandbuch.

Voraussetzungen

Überprüfen Sie zu Beginn, ob Sie die folgenden Schritte ausgeführt haben:

Erfahren Sie, wie Sie Ihre Instances auswählen. Weitere Informationen finden Sie unter Bewährte Methoden zur Instance-Auswahl für Amazon ECS Managed Instances.

Konsolenverfahren

So erstellen Sie einen Kapazitätsanbieter für Amazon ECS Managed Instances (Amazon-ECS-Konsole)
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

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

  3. Klicken Sie im Navigationsbereich auf Cluster.

  4. Wählen Sie auf der Clusters-Seite den Cluster-Namen aus.

  5. Wählen Sie auf der Cluster-Seite die Registerkarte Infrastruktur.

  6. Wählen Sie im Abschnitt Kapazitätsanbieter die Option Kapazitätsanbieter erstellen aus.

  7. Konfigurieren Sie unter Konfiguration des Kapazitätsanbieters Folgendes:

    • Geben Sie unter Name des Kapazitätsanbieters, einen eindeutigen Namen für den Kapazitätsanbieter ein.

    • Wählen Sie für Kapazitätsanbietertyp Amazon ECS Managed Instances aus.

  8. Konfigurieren Sie unter Instance-Konfiguration Folgendes:

    • Wählen Sie für Instance-Profil die Instance-Profilrolle aus, die für Amazon ECS Managed Instances erstellt wurde.

    • Wählen Sie für Infrastrukturrolle die Infrastrukturrolle aus, die für Amazon ECS Managed Instances erstellt wurde.

  9. Geben Sie unter Instance-Anforderungen die Attribute für Ihre Instances an. Sie können eine beliebige Kombination der folgenden Elemente konfigurieren:

    • Anzahl der vCPUs – Geben Sie die Anzahl der vCPUs an (z. B. 4 oder 8-16 für einen Bereich).

    • Arbeitsspeicher (MiB) – Geben Sie die Menge an Arbeitsspeicher in MiB an (z. B. 8192 oder 16384-32768 für einen Bereich).

    • Instance-Typen – Geben Sie bestimmte Instance-Typen an (z. B. m5.large,m5.xlarge,c5.large).

    • CPU-Hersteller – Wählen Sie aus intel, amd oder amazon-web-services.

    • Accelerator-Typen – Geben Sie Accelerator-Typen wie gpu, fpga oder inference an.

    • Anzahl der Accelerators – Geben Sie die Anzahl der Accelerators an (z. B. 1 oder 2-4 für einen Bereich).

  10. Wählen Sie unter Erweiterte Konfiguration eine der folgenden Überwachungsoptionen aus:

    • Wählen Sie Basic, damit CloudWatch Statussüberprüfungsmetriken sendet.

    • Wählen Sie Detailliert aus, damit CloudWatch alle Metriken sendet.

  11. (Optional) Um Ihren Kapazitätsanbieter leichter identifizieren zu können, erweitern Sie Tags und konfigurieren Sie dann Ihre Tags.

    Um die Tag-Weitergabe vom Kapazitätsanbieter an verwaltete Ressourcen wie Instances zu aktivieren, die vom Kapazitätsanbieter gestartet wurden, wählen Sie unter Tags weitergeben von die Option Kapazitätsanbieter aus.

    [Markierung hinzufügen] Wählen Sie Add tag (Markierung hinzufügen), und führen Sie die folgenden Schritte aus:

    • Geben Sie bei Key (Schlüssel) den Schlüsselnamen ein.

    • Geben Sie bei Value (Wert) den Wert des Schlüssels ein.

  12. Wählen Sie Erstellen aus.

AWS CLI-Verfahren

Sie können einen Kapazitätsanbieter für Amazon ECS Managed Instances mit der AWS CLI erstellen. Verwenden Sie die neuesten Version der AWS CLI. Weitere Informationen zur Aktualisierung auf die neueste Version finden Sie unter Installieren oder Aktualisieren auf die neueste Version der AWS CLI.

So erstellen Sie einen Kapazitätsanbieter für Amazon ECS Managed Instances (AWS CLI)
  1. Führen Sie den folgenden Befehl aus:

    aws ecs create-capacity-provider --cli-input-json file://capacity-provider-definition.json

    Das folgendes capacity-provider-definition.json kann verwendet werden, um grundlegende Instance-Anforderungen und die Instance-Speichergröße festzulegen, und die Tag-Propagierung zu aktivieren:

    { "name": "my-managed-instances-provider", "cluster": "my-cluster", "tags": [ { "key": "version", "value": "test" } ], "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "instanceRequirements": { "memoryMiB": { "max": 8, "min": 2 }, "vCpuCount": { "max": 16384, "min": 4096 } } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, "storageConfiguration": { "storageSizeGiB": 100 }, "propagateTags": "CAPACITY_PROVIDER" } }
  2. Stellen Sie sicher, dass Ihr Kapazitätsanbieter erfolgreich erstellt wurde:

    aws ecs describe-capacity-providers \ --capacity-providers my-managed-instances-provider

    Ausgabe:

    { "capacityProviders": [ { "capacityProviderArn": "arn:aws:ecs:region:aws_account_id:capacity-provider/my-managed-instances-provider", "cluster": "my-cluster" "name": "my-managed-capacity-provider", "status": "ACTIVE", "type": "MANAGED_INSTANCES", "tags": [ { "key": "version", "value": "test" } ], "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "instanceRequirements": { "memoryMiB": { "max": 8, "min": 2 }, "vCpuCount": { "max": 16384, "min": 4096 } } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, "storageConfiguration": { "storageSizeGiB": 100 }, "propagateTags": "CAPACITY_PROVIDER" } } ] }

Beispielkonfigurationen

Die folgenden Beispiele zeigen gängige Kapazitätsanbieter-Konfigurationen für verschiedene Anwendungsfälle:

Beispiel Allzweck-Workloads

Diese Konfiguration wählt kostenoptimierte Instances mit 2–8 vCPUs und 4–16 GiB Arbeitsspeicher aus:

{ "name": "my-managed-capacity-provider", "cluster": "my-cluster", "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "instanceRequirements": { "memoryMiB": { "max": 8, "min": 2 }, "vCpuCount": { "max": 16384, "min": 4096 }, "cpuManufacturers": ["intel", "amd"] } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, } }
Beispiel GPU-Beschleunigte Workloads

Diese Konfiguration wählt GPU-Instances für Machine-Learning-Workloads aus:

{ "name": "ml-gpu-provider", "cluster": "my-cluster", "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "instanceRequirements": { "allowedInstanceTypes": [ "p3.2xlarge", "p3.8xlarge", "g4dn.xlarge", "g4dn.2xlarge" ], "acceleratorTypes": ["gpu"], "acceleratorCount": { "max": 4, "min": 1 } } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] } } }
Beispiel Workloads mit hohem Arbeitsspeicher

Diese Konfiguration wählt arbeitsspeicheroptimierte Instances für die Datenverarbeitung aus:

{ "name": "high-memory-provider", "cluster": "my-cluster", "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "instanceRequirements": { "allowedInstanceTypes": [ "r5.2xlarge", "r5.4xlarge", "r5.8xlarge", "x1e.xlarge" ], "memoryMiB": { "max": 131072, "min": 32768 } } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] } } }

Nächste Schritte

Nachdem Sie Ihren Kapazitätsanbieter erstellt haben, können Sie ihn verwenden, um Services zu erstellen oder Aufgaben auszuführen: