View a markdown version of this page

Tutoriel : Création d'un environnement informatique géré à l'aide d'Amazon ECS Managed Instances - AWS Batch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : Création d'un environnement informatique géré à l'aide d'Amazon ECS Managed Instances

Ce didacticiel explique comment créer un environnement AWS Batch informatique qui utilise les instances gérées Amazon ECS. Amazon ECS gère les instances Amazon EC2 en votre nom : vous spécifiez la capacité maximale et les contraintes d'instance facultatives, et Amazon ECS gère le provisionnement, la mise à l'échelle et la résiliation.

Conditions préalables

Avant de créer un environnement de calcul Amazon ECS Managed Instances, vous devez disposer des éléments suivants :

  • Un rôle d'infrastructure Amazon ECS  : rôle IAM assumé par Amazon ECS pour gérer les instances Amazon EC2 en votre nom. Le rôle doit avoir une politique de confiance pourecs.amazonaws.com. Pour plus d'informations, consultez la section Rôle IAM de l'infrastructure Amazon ECS dans le guide du développeur Amazon Elastic Container Service.

  • Un profil d'instance Amazon EC2  : un profil d'instance qui utilise la politique AmazonECSInstanceRolePolicyForManagedInstances gérée. La politique de confiance doit ec2.amazonaws.com permettre d'assumer le rôle.

  • Votre responsable IAM doit disposer de iam:PassRole l'autorisation pour le rôle d'infrastructure assorti de cette condition. iam:PassedToService: ecs.amazonaws.com

  • Un VPC dont les sous-réseaux disposent d'un accès Internet sortant (attribution d'adresse IP publique ou passerelle NAT).

Création d'un environnement de calcul Amazon ECS Managed Instances (console)

  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Dans la barre de navigation, choisissez l'option Région AWS à utiliser.

  3. Dans le volet de navigation de gauche, sélectionnez Environments.

  4. Choisissez Créer un environnement, puis choisissez Créer un environnement informatique.

  5. Pour le type d'environnement de calcul, choisissez ECS Managed Instances.

  6. Dans le champ Nom de l'environnement de calcul, entrez un nom unique. Le nom peut comporter jusqu'à 128 caractères et peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).

  7. Pour Maximum de processeurs virtuels, entrez le nombre maximum de processeurs virtuels que l'environnement de calcul peut atteindre.

  8. Pour Rôle d'infrastructure, choisissez le rôle d'infrastructure Amazon ECS que vous avez créé comme condition préalable.

  9. Pour le profil d'instance, choisissez le profil d'instance Amazon EC2 que vous avez créé comme condition préalable.

  10. Dans la section Réseau :

    1. Pour VPC, choisissez le VPC sur lequel les instances seront lancées.

    2. Pour Sous-réseaux, choisissez un ou plusieurs sous-réseaux. Les sous-réseaux doivent disposer d'un accès Internet sortant.

    3. Pour les groupes de sécurité, choisissez un ou plusieurs groupes de sécurité à associer aux instances.

  11. (Facultatif) Pour le type de capacité, choisissez Spot pour utiliser les instances ponctuelles afin de réaliser des économies sur les charges de travail tolérantes aux pannes. La valeur par défaut est On-Demand.

  12. (Facultatif) Pour les types d'instance autorisés, spécifiez les types d'instance qu'Amazon ECS peut lancer. Si vous n'en spécifiez aucun, tous les types d'instances disponibles sont éligibles.

  13. Choisissez Créer un environnement de calcul.

Création d'un environnement de calcul Amazon ECS Managed Instances (AWS CLI)

Utilisez la create-compute-environment commande pour créer un environnement de calcul Amazon ECS Managed Instances.

Exemple de base

L'exemple suivant crée un environnement informatique avec la configuration minimale requise. Amazon ECS peut utiliser n'importe quel type d'instance disponible.

$ 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 avec des types d'instances spécifiques

L'exemple suivant crée un environnement de Spot-backed calcul limité à des types d'instances spécifiques.

$ 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" } } }'

Sortie :

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

Avec réservations de capacité

L'exemple suivant crée un environnement de calcul qui cible les réservations On-Demand de capacité pour une capacité prévisible.

$ 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" } } } }'

Étapes suivantes

Après avoir créé votre environnement informatique, procédez comme suit pour exécuter les tâches :

  1. Créez une file d'attente de tâches et associez-y votre environnement de calcul Amazon ECS Managed Instances. Pour de plus amples informations, veuillez consulter Créer une file d'attente pour les tâches.

  2. Créez une définition de tâche à l'aide de « platformCapabilities set to » MANAGED_INSTANCES et « using ecsProperties ». Pour de plus amples informations, veuillez consulter Définitions des tâches sur les instances gérées Amazon ECS.

  3. Soumettez une tâche à la file d'attente des tâches. Pour de plus amples informations, veuillez consulter Tutoriel : soumettre une offre d'emploi.