Amazon Elastic Compute Cloud
Guide de l'utilisateur pour les instances Linux

Groupes de placement

Lorsque vous lancez une nouvelle instance EC2, le service EC2 tente de placer l'instance de façon à ce que toutes vos instances soient réparties sur la matériel sous-jacent pour minimiser les échecs corrélés. Vous pouvez utiliser des groupes de placement pour influencer le placement d'un groupe d'instances interdépendantes afin de répondre aux besoins de votre charge de travail. Selon le type de charge de travail, vous pouvez créer un groupe de placement à l'aide de l'une des stratégies de placement suivantes :

  • Cluster – regroupe des instances rapprochées à l'intérieur d'une Zone de disponibilité. Cette stratégies permet aux charges de travail d'atteindre les performances réseau à faible latence nécessaires à une communication de nœud à nœud étroitement couplée, typique des applications HPC.

  • Partition – répartit les instances entre les partitions logiques de façon à ce que des groupes d'instances d'une partition ne partagent pas le matériel sous-jacent avec des groupes d'instances d'autres partitions. Cette stratégie est généralement utilisée par les grandes charges de travail distribuées et répliquées telles que Hadoop, Cassandra, et Kafka.

  • Répartition – place strictement un petit groupe d'instances sur un matériel sous-jacent distinct pour réduire les défaillances corrélées.

Il n'y a aucuns frais pour la création d'un groupe de placement.

Groupes de placement du cluster

Un groupe de placement du cluster est un regroupement logique d'instances dans une même zone de disponibilité. Un groupe de placement peut s'étendre sur plusieurs VPC appairés dans la même région. Le principal avantage d'un groupe de placement de cluster, en plus d'une limite de flux de 10 Gbits/s, est la nature sans blocage, sans trop d'abonnements, entièrement bi-sectionnelle de la connectivité. En d'autres termes, tous les nœuds au sein du groupe de placement peuvent parler à tous les autres nœuds du groupe de placement au débit de ligne complète avec flux à 10 Gbit/s et regroupement à 100 Gbit/s sans aucun ralentissement à cause d'un trop grand nombre d'abonnements.

L'image ci-après illustre les instances placées dans un groupe de placement du cluster.


                Groupe de placement du cluster

Les groupes de placement de cluster sont recommandés pour les applications qui bénéficient d'une latence réseau faible, d'un débit du réseau élevé, ou des deux, et si la majeure partie du trafic réseau a lieu entre les instances du groupe. Pour assurer la plus faible latence et les meilleures performances réseau de paquets par seconde pour votre groupe de placement, choisissez un type d'instance qui prend en charge la mise en réseau améliorée. Pour plus d'informations, consultez Gestion de réseau améliorée.

Nous vous recommandons de lancer en une seule demande de lancement le nombre d'instances dont vous avez besoin dans le groupe de placement et d'utiliser le même type d'instance pour toutes les instances de ce groupe de placement. Si vous essayez d'ajouter ultérieurement des instances supplémentaires au groupe de placement, ou si vous essayez de lancer plusieurs types d'instance dans le groupe de placement, vous augmentez les risques d'obtenir une erreur de capacité insuffisante.

Si vous arrêtez une instance dans un groupe de placement, puis que vous la relancez, elle s'exécute encore au sein de celui-ci. Par contre, le démarrage échoue si la capacité est insuffisante pour l'instance.

Si vous recevez une erreur de capacité lorsque vous lancez une instance dans un groupe de placement dont des instances sont déjà en cours d'exécution, arrêtez et démarrez toutes les instances dans le groupe de placement, puis réessayez le lancement. Le redémarrage des instances peut entraîner leur migration vers un matériel disposant d'une capacité suffisante pour toutes les instances demandées.

Groupes de placement par partition

Les groupes de placement de partitions permettent de réduire la probabilité de défaillances de matériel corrélé pour votre application. Lorsque vous utilisez des groupes de placement de partitions, Amazon EC2 divise chaque groupe en segments logiques, appelés partitions. Amazon EC2 assure que chaque partition dans un groupe de placement dispose de son propre ensemble de racks, Chaque rack est doté de son propre réseau et de sa propre alimentation. Aucune partition dans un même groupe de placement ne dispose du même portant, ce qui vous permet ainsi d'isoler l'impact d'échecs matériels dans votre application.

L'image suivante est une représentation visuelle simplifiée d'un groupe de placement de partitions dans une seule Zone de disponibilité. Elle représente des instances placées dans un groupe de placement par partition composé de trois partitions—Partition 1, Partition 2 et Partition 3. Chaque partition comprend plusieurs instances. Les instances d'une partition ne partagent pas de portants avec les instances des autres partitions, ce qui vous permet de limiter l'impact des pannes matérielles à une seule partition.


                Groupe de placement par partition composé de trois partitions

Il est possible d'utiliser les groupes de placement par partition afin de déployer des charges de travail distribuées et répliquées volumineuses (telles que HDFS, HBase et Cassandra) sur différents portants. Lorsque vous lancez des instances dans un groupe de placement par partition, Amazon EC2 tente de distribuer uniformément les instances sur toutes les partitions que vous spécifiez. Vous avez également la possibilité de lancer des instances d'une partition donnée afin de mieux contrôler l'emplacement des instances.

Un groupe de placement par partition peut disposer de partitions dans plusieurs Zones de disponibilité de la même région. Un groupe de placement par partition peut contenir jusqu'à sept partitions par zone de disponibilité. Seules les restrictions de votre compte limitent le nombre d'instances pouvant être lancées dans un groupe de placement par partition.

En outre, les groupes de placement par partition offrent une visibilité des partitions, ce qui vous permet de savoir quelles instances se trouvent dans quelles partitions. Vous pouvez partager ces informations avec des applications prenant en compte la topologie, telles que HDFS, HBase et Cassandra. Ces applications utilisent ces informations pour prendre des décisions informées sur la réplication des données dans le but d'accroître la disponibilité et la durabilité de ces dernières.

Si vous exécutez ou lancez une instance dans un groupe de placement par partition et que le matériel nécessaire au traitement de la demande est insuffisant, la demande échoue. Amazon EC2 met à disposition davantage de matériel distinct au fil du temps, de sorte que vous pouvez renouveler votre demande plus tard.

Groupes de placement par répartition

Un groupe de placement par répartition est un groupe d'instances placées chacune sur des portants différents, chacun de ces derniers doté de son propre réseau et de sa propre alimentation.

L'image ci-après représente sept instances au sein d'une seule zone de disponibilité qui sont placées dans un groupe de placement par répartition. Les sept instances sont placées sur sept portants différents.


                Groupe de placement par répartition

Les groupes de placement par répartition sont recommandés pour les applications ayant un petit nombre d'instances critiques, qui doivent être séparées les unes des autres. Le lancement d'instances dans un groupe de placement par répartition réduit le risque de défaillances simultanées, qui peuvent se produire lorsque les instances partagent les mêmes portants. Les groupes de placement par répartition fournissent un accès à des portants différents et sont par conséquent adaptés à l'association de différents types d'instance et au lancement d'instances au fil du temps.

Un groupe de placement par répartition peut également s'étendre sur plusieurs Zones de disponibilité dans la même région. Vous pouvez disposer de jusqu'à sept instances en cours d'exécution par Zone de disponibilité et par groupe.

Si vous exécutez ou lancez une instance dans un groupe de placement par répartition et que le matériel nécessaire à la satisfaction de la requête est insuffisant, la requête échoue. Amazon EC2 met à disposition davantage de matériel distinct au fil du temps, vous pouvez donc renouveler votre demande plus tard.

Règles et restrictions des groupes de placement

Règles et restrictions générales

Avant d'utiliser des groupes de placement, vous devez être conscient des règles suivantes :

  • Le nom que vous spécifiez pour un groupe de placement doit être unique au sein de votre compte AWS pour la région.

  • Vous ne pouvez pas fusionner des groupes de placement.

  • Une instance peut être lancée dans un seul groupe de placement à la fois ; elle ne peut pas s'étendre sur plusieurs groupes de placement.

  • Réservation de capacité à la demande et les Instances réservées zonales fournissent une réservation de capacité pour les instances EC2 dans une zone de disponibilité spécifique. La réservation de capacité peut être utilisée par les instances d'un groupe de placement. Toutefois, il n'est pas possible de réserver explicitement de la capacité pour un groupe de placement.

  • Les instances avec une location d'hôte host ne peuvent pas être lancées dans des groupes de placement.

Règles et restrictions des groupes de placement du cluster

Les règles suivantes s'appliquent aux groupes de placement du cluster :

  • Les types d'instance suivants sont les seuls que vous pouvez utiliser quand vous lancez une instance dans un groupe de placement de cluster :

    • Usage général : A1, M4, M5, M5a, M5ad, M5d

    • Calcul optimisé : C3, C4, C5, C5d, C5n et cc2.8xlarge

    • Mémoire optimisée : cr1.8xlarge, R3, R4, R5, R5a, R5ad, R5d, X1, X1e et z1d

    • Stockage optimisé : D2, H1, hs1.8xlarge, I2, I3 et I3en

    • Calcul accéléré : F1, G2, G3, G4dn, P2, P3 et P3dn

  • Un groupe de placement du cluster ne peut pas s'étendre sur plusieurs zones de disponibilité.

  • La vitesse de débit réseau maximale du trafic entre deux instances au sein d'un groupe de placement du cluster est limitée par la plus lente des deux instances. Pour les applications très exigeantes en débit, choisissez un type d'instance avec une connectivité réseau qui correspond à vos besoins.

  • Pour les instances pour lesquelles la mise en réseau améliorée est active, les règles suivantes s'appliquent :

    • Les instances se trouvant dans un groupe de placement du cluster peuvent utiliser jusqu'à 10 Gbit/s pour le trafic à flux unique. Les instances qui ne se trouvent pas dans un groupe de placement du cluster peuvent utiliser jusqu'à 5 Gbit/s pour le trafic à flux unique.

    • Le trafic vers et depuis des compartiments Amazon S3 de la même région via l'espace d'adressage IP public ou un point de terminaison d'un VPC peut utiliser la totalité de la bande passante cumulée disponible pour l'instance.

  • Vous pouvez lancer plusieurs types d'instance dans un groupe de placement du cluster. Toutefois, cela réduit la probabilité de disponibilité de la capacité requise pour que votre lancement réussisse. Nous vous recommandons d'utiliser le même type d'instance pour toutes les instances d'un groupe de placement du cluster.

  • Le trafic réseau vers Internet et via une connexion AWS Direct Connect à destination de ressources sur site est limité à 5 Gbits/s.

Règles et restrictions des groupes de placement par partition

Les règles suivantes s'appliquent aux groupes de placement par partition :

  • Un groupe de placement par partition prend en charge jusqu'à sept partitions par zone de disponibilité. Seules les restrictions de votre compte limitent le nombre d'instances pouvant être lancées dans un groupe de placement par partition.

  • Lorsque vous lancez des instances dans un groupe de placement par partition, Amazon EC2 tente de distribuer uniformément les instances sur toutes les partitions. Toutefois, Amazon EC2 ne garantit pas une distribution uniforme des instances entre toutes les partitions.

  • Un groupe de placement par partition avec des Instances dédiées peut comprendre deux partitions au maximum.

  • Les groupes de placement par partition ne sont pas pris en charge pour les Hôtes dédiés.

Règles et restrictions des groupes de placement par répartition

Les règles suivantes s'appliquent aux groupes de placement par répartition :

  • Un groupe de placement par répartition, prend en charge un maximum de 7 instances en cours d'exécution pour une même zone de disponibilité. Par exemple, dans une région possédant trois zones de disponibilité, vous pouvez exécuter un total de 21 instances dans le groupe (sept par zone). Si vous essayez de lancer une huitième instance dans la même zone de disponibilité et dans le même groupe de placement par répartition, le lancement échoue. Si vous avez besoin de plus de sept instances dans une zone de disponibilité, nous vous recommandons d'utiliser plusieurs groupes de placement par répartition. Cela n'apporte aucune garantie concernant la répartition des instances entre les groupes, mais cela permet de limiter l'impact de certains types d'incidents pour la répartition dans chaque groupe.

  • Les groupes de placement par répartition ne sont pas pris en charge pour les Instances dédiées ou Hôtes dédiés.

Création d'un groupe de placement

Vous pouvez créer un groupe de placement à l'aide de la console Amazon EC2 ou de la ligne de commande.

Pour créer un groupe de placement (console)

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Groupes de placement, puis Créer un groupe de placement.

  3. Spécifiez le nom du groupe.

  4. Choisissez une stratégie pour le groupe. Si vous choisissez Partition, spécifiez le nombre de partitions au sein du groupe.

  5. Sélectionnez Create.

Pour créer un groupe de placement (ligne de commande)

Pour créer un groupe de placement par partition (AWS CLI)

  • Utilisez la commande create-placement-group et spécifiez le paramètre --strategy avec la valeur partition et le paramètre --partition-count. Dans cet exemple, le groupe de placement par partition est nommé HDFS-Group-A et créé avec cinq partitions.

    aws ec2 create-placement-group --group-name HDFS-Group-A --strategy partition --partition-count 5

Lancement d'instances dans un groupe de placement

Vous pouvez créer une AMI spécifiquement pour les instances qui seront lancées dans un groupe de placement. Pour ce faire, lancez une instance et installez les logiciels et les applications requis sur l'instance. Créez ensuite une AMI à partir de l'instance. Pour plus d'informations, consultez Création d'une AMI Linux basée sur Amazon EBS.

Pour lancer des instances dans un groupe de placement (console)

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Choisissez Launch Instances. Exécutez l'assistant selon les instructions en veillant à procéder comme suit :

    • Sur la page Sélection d'une Amazon Machine Image (AMI), sélectionnez une AMI. Pour sélectionner une AMI que vous avez créée, choisissez Mes AMI.

    • Sur la page Choisir un type d'instance, sélectionnez un type d'instance pouvant être lancé dans un groupe de placement.

    • Sur la page Configurer les détails de l'instance, les champs suivants s'appliquent aux groupes de placement :

      • Pour le Number of instances (Nombre d'instances), saisissez le nombre total d'instances dont vous aurez besoin dans le groupe de placement, car vous ne pourrez peut-être pas ajouter des instances ultérieurement dans celui-ci.

      • Pour le Groupe de placement, cochez la case Add instance to placement group (Ajouter l'instance au groupe de placement) Si vous ne voyez pas la liste Placement group (Groupe de placement) sur cette page, vérifiez que vous avez sélectionné un type d'instance pouvant être lancé dans un groupe de placement, sinon cette option n'est pas disponible.

      • Pour Placement group name (Nom de groupe de placement), vous pouvez choisir d'ajouter les instances à un groupe de placement existant ou à un nouveau groupe de placement que vous créez.

      • Choisissez une stratégie adaptée pour Placement group strategy (Stratégie de groupe de placement). Si vous choisissez la partition, choisissez Auto distribution (Distribution automatique) dans Target partition (Partition cible) afin qu'Amazon EC2 s'efforce de distribuer également les instances sur toutes les partitions du groupe. Sinon, vous pouvez spécifier la partition dans laquelle lancer les instances.

Pour lancer des instances dans un groupe de placement (ligne de commande)

  1. Créez une AMI pour vos instances à l'aide de l'une des commandes suivantes :

  2. Lancez des instances dans votre groupe de placement à l'aide de l'une des options suivantes :

Pour lancer des instances d'une partition donnée d'un groupe de placement par partition (AWS CLI)

  • Utilisez la commande run-instances et spécifiez le nom du groupe de placement et la partition à l'aide du paramètre --placement "GroupName = HDFS-Group-A, PartitionNumber = 3". Dans cet exemple, le groupe de placement est nommé HDFS-Group-A et il contient 3 partitions.

    aws ec2 run-instances --placement "GroupName = HDFS-Group-A, PartitionNumber = 3"

Description des instances dans un groupe de placement

Vous pouvez obtenir des informations sur le placement de vos instances à l'aide de la console Amazon EC2 ou de la ligne de commande. Le groupe de placement est visible à l'aide de la console. Actuellement, il est possible d'obtenir le nombre de partitions des instances dans un groupe de placement par partition uniquement à l'aide de l'API ou de l'AWS CLI.

Pour afficher le groupe de placement d'une instance (console)

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'instance puis, dans le volet des détails, examinez Groupe de placement. Le champ est vide si l'instance ne figure pas dans un groupe de placement. Sinon, le nom du groupe de placement s'affiche. Si le groupe de placement est un groupe de placement par partition, inspectez Partition number (Nombre de partitions) pour le nombre de partitions de l'instance.

Pour afficher le nombre de partitions d'une instance dans un groupe de placement par partition (AWS CLI)

  • Utilisez la commande describe-instances et spécifiez le paramètre --instance-id.

    aws ec2 describe-instances --instance-id i-0123a456700123456

    La réponse inclut les informations sur le placement, notamment le nom du groupe de placement et le nombre de partitions correspondant à l'instance.

    "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 3, "Tenancy": "default" }

Pour filtrer les instances pour un groupe de placement par partition et un nombre de partitions donnés (AWS CLI)

  • Utilisez la commande describe-instances et spécifiez le paramètre --filters avec les filtres placement-group-name et placement-partition-number. Dans cet exemple, le groupe de placement est nommé HDFS-Group-A et il contient 7 partitions.

    aws ec2 describe-instances --filters "Name = placement-group-name, Values = HDFS-Group-A" "Name = placement-partition-number, Values = 7"

    La réponse répertorie toutes les instances qui figurent dans la partition désignée au sein du groupe de placement spécifié. Voici un exemple de sortie présentant uniquement l'ID et le type d'instance ainsi que les informations sur le placement pour les instances retournées.

    "Instances": [ { "InstanceId": "i-0a1bc23d4567e8f90", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } { "InstanceId": "i-0a9b876cd5d4ef321", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } ],

Modification du groupe de placement d'une instance

Vous pouvez déplacer une instance existante vers un groupe de placement, déplacer une instance d'un groupe de placement à un autre, ou supprimer une instance d'un groupe de placement. Avant de commencer, vérifiez que l'instance est à l'état stopped.

Vous pouvez changer le groupe de placement d'une instance à l'aide de la ligne de commande ou d'un kit SDK AWS.

Pour déplacer une instance vers un groupe de placement (ligne de commande)

  1. Arrêtez l'instance à l'aide de l'une des commandes suivantes :

  2. Utilisez la commande modify-instance-placement (AWS CLI) et indiquez le nom du groupe de placement vers lequel déplacer l'instance.

    aws ec2 modify-instance-placement --instance-id i-0123a456700123456 --group-name MySpreadGroup

    Vous pouvez également utiliser la commande Edit-EC2InstancePlacement (Outils AWS pour Windows PowerShell).

  3. Redémarrez l'instance à l'aide de l'une des commandes suivantes :

Pour supprimer une instance d'un groupe de placement (ligne de commande)

  1. Arrêtez l'instance à l'aide de l'une des commandes suivantes :

  2. Utilisez la commande modify-instance-placement (AWS CLI) et indiquez une chaîne vide pour le nom du groupe.

    aws ec2 modify-instance-placement --instance-id i-0123a456700123456 --group-name ""

    Vous pouvez également utiliser la commande Edit-EC2InstancePlacement (Outils AWS pour Windows PowerShell).

  3. Redémarrez l'instance à l'aide de l'une des commandes suivantes :

Suppression d'un groupe de placement

Si vous avez besoin de supprimer un groupe de placement ou si vous n'en avez plus besoin, vous pouvez le supprimer. Avant de supprimer un groupe de placement, vous devez mettre fin à toutes les instances que vous avez lancées au sein de celui-ci, ou les déplacer vers un autre groupe de placement.

Pour résilier ou déplacer des instances et supprimer un groupe de placement (console)

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez toutes les instances du groupe de placement et mettez fin à celles-ci. Vous pouvez vérifier que l'instance est dans un groupe de placement avant de mettre fin à celle-ci en contrôlant la valeur de Groupe de placement dans le volet des détails.

    Vous pouvez également exécuter la procédure figurant dans Modification du groupe de placement d'une instance pour déplacer les instances vers un autre groupe de placement.

  4. Dans le panneau de navigation, choisissez Groupes de placement.

  5. Sélectionnez le groupe de placement et choisissez Supprimer le groupe de placement.

  6. Lorsque vous êtes invité à confirmer l'opération, choisissez Supprimer.

Pour résilier des instances et supprimer un groupe de placement (ligne de commande)

Vous pouvez utiliser l'un des ensembles de commandes suivants. Pour obtenir plus d'informations sur les CLI (interface ligne de commande), consultez le didacticiel Accès à Amazon EC2.