Cette rubrique explique comment configurer des règles de nommage afin de générer des noms d'instance ou des noms d'hôte séquentiels et uniques pour Elastic Compute Service (ECS) lors des montées en charge. Utilisez ces noms pour gérer vos instances ECS efficacement.
Informations générales
Auto Scaling peut exécuter des règles de mise à l'échelle pour créer une ou plusieurs instances ECS simultanément ou par lots successifs. Configurez des règles de nommage pour les instances ECS créées lors des montées en charge dans les modèles de lancement ou les configurations de mise à l'échelle.
-
La méthode de configuration des règles de nommage varie selon les scénarios. Cette rubrique utilise la méthode adaptée au Scénario 1 pour illustrer la procédure de configuration.
Scénario
Méthode
Références
Scénario 1 : Toutes les instances ECS créées dans un groupe de mise à l'échelle lors des montées en charge doivent avoir des noms ou des noms d'hôte séquentiels uniques.
Configurez le format de nommage selon les règles définies dans les configurations de mise à l'échelle. Dans ce scénario, vous ne pouvez pas utiliser un modèle de lancement pour configurer le format de nommage des instances ECS.
ImportantLes noms d'instance ou les noms d'hôte sont générés de manière séquentielle, mais pas nécessairement de façon consécutive. Par exemple, les noms d'hôte des instances ECS créées dans un groupe de mise à l'échelle lors d'une montée en charge peuvent être ess-node-0999, ess-node-1000 et ess-node-1002. L'instance ess-node-1001 n'a pas démarré comme prévu. Elle est donc considérée comme défectueuse et supprimée. En conséquence, Auto Scaling crée une autre instance ECS nommée ess-node-1002.
Scénario 2 : Les noms d'instance ou les noms d'hôte des instances ECS impliquées dans un seul événement de mise à l'échelle doivent être uniques et ordonnés. Il n'est pas nécessaire que les noms d'instance ou les noms d'hôte de toutes les instances ECS du groupe de mise à l'échelle soient uniques.
Configurez le format de nommage des instances ECS selon l'ordre de classement spécifié.
Scénario 3 : Aucune exigence n'est imposée concernant les noms ou les noms d'hôte des instances ECS créées lors des montées en charge dans un groupe de mise à l'échelle.
Définissez un nom ou un nom d'hôte personnalisé pour les instances ECS.
Par exemple, vous pouvez spécifier « hostname » comme nom d'hôte pour toutes les instances ECS créées lors des montées en charge.
S.O.
Méthode 1 : Configurer la règle de nommage pour les instances ECS dans la console Auto Scaling
-
Créez un groupe de mise à l'échelle.
Pour plus d'informations, consultez la rubrique Créer un groupe de mise à l'échelle ECS.
-
Créez et activez une configuration de mise à l'échelle.
Pour plus d'informations, consultez la rubrique Créer une configuration de mise à l'échelle (instance ECS). Dans la section Advanced Settings, configurez les paramètres Instance Name et Host pour spécifier le format de nommage.
Dans cet exemple, le paramètre Instance Name est défini sur
ess-node-(AUTO_INCREMENT)[0,3]et le paramètre Host est défini suress-node-(AUTO_INCREMENT)[0,3]-ecshost.RemarqueDans cet exemple, les noms d'instance ou les noms d'hôte augmentent de manière séquentielle. Pour plus d'informations, consultez la section (Recommandé) Incrémenter par valeur fixe. Si vous souhaitez générer dynamiquement des noms d'instance ou des noms d'hôte séquentiels, reportez-vous à la section Tri dynamique par valeur séquentielle étendue.
-
Activez le groupe de mise à l'échelle.
Pour plus d'informations, consultez la rubrique Créer un groupe de mise à l'échelle ECS.
-
Créez et exécutez une règle de mise à l'échelle.
-
Créez une règle de mise à l'échelle.
Pour plus d'informations, consultez la rubrique Créer une règle de mise à l'échelle.
Dans cet exemple, une règle de mise à l'échelle simple est créée. Auto Scaling crée trois instances ECS lors de l'exécution de la règle.
-
Exécutez la règle de mise à l'échelle.
Pour plus d'informations, consultez la rubrique Exécuter une règle de mise à l'échelle.
Une fois la montée en charge terminée, trois instances ECS portant les noms d'instance et noms d'hôte suivants sont ajoutées au groupe de mise à l'échelle :
Noms d'instance : ess-node-000, ess-node-001 et ess-node-002
Noms d'hôte : ess-node-000-ecshost, ess-node-001-ecshost et ess-node-002-ecshost
-
Méthode 2 : Configurer la règle de nommage pour les instances ECS en appelant des opérations API
-
Appelez l'opération API CreateScalingGroup pour créer un groupe de mise à l'échelle.
Pour plus d'informations, consultez la rubrique CreateScalingGroup.
-
Appelez l'opération API CreateScalingConfiguration pour créer une configuration de mise à l'échelle.
Pour plus d'informations, consultez la rubrique CreateScalingConfiguration. Dans la section Request Parameters, configurez les paramètres InstanceName et HostName.
Dans cet exemple, le paramètre InstanceName est défini sur
ess-node-(AUTO_INCREMENT)[0,3]et le paramètre HostName est défini suress-node-(AUTO_INCREMENT)[0,3]-ecshost.RemarqueDans cet exemple, les noms d'instance ou les noms d'hôte augmentent de manière séquentielle. Pour plus d'informations, consultez la section (Recommandé) Incrémenter par valeur fixe. Si vous souhaitez générer dynamiquement des noms d'instance ou des noms d'hôte séquentiels, reportez-vous à la section Tri dynamique par valeur séquentielle étendue.
-
Appelez l'opération API EnableScalingGroup pour activer le groupe de mise à l'échelle.
Pour plus d'informations, consultez la rubrique EnableScalingGroup.
-
Créez et exécutez une règle de mise à l'échelle.
-
Appelez l'opération API CreateScalingRule pour créer une règle de mise à l'échelle.
Pour plus d'informations, consultez la rubrique CreateScalingRule.
Dans cet exemple, une règle de mise à l'échelle simple est créée. Auto Scaling crée trois instances ECS lors de l'exécution de la règle.
-
Appelez l'opération API ExecuteScalingRule pour exécuter la règle de mise à l'échelle.
Pour plus d'informations, consultez la rubrique ExecuteScalingRule.
Une fois la montée en charge terminée, trois instances ECS portant les noms d'instance et noms d'hôte suivants sont ajoutées au groupe de mise à l'échelle :
Noms d'instance : ess-node-000, ess-node-001 et ess-node-002
Noms d'hôte : ess-node-000-ecshost, ess-node-001-ecshost et ess-node-002-ecshost
-
(Recommandé) Incrémenter par valeur fixe
Les noms d'instance et les noms d'hôte doivent respecter le format suivant : name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.
Les règles de nommage pour les noms d'instance et les noms d'hôte suivent la même logique. Le tableau ci-dessous décrit uniquement le format des noms d'hôte.
Tableau 1. Paramètres
Champ | Obligatoire | Description | Exemple |
name_prefix | Oui | Le préfixe du nom d'hôte. | ess-node- |
(AUTO_INCREMENT) | Oui | La valeur fixe qui spécifie le mode de tri. | (AUTO_INCREMENT) |
[begin_number,bits] | Oui | Les valeurs séquentielles des noms d'hôte. Après avoir configuré ce paramètre, les valeurs séquentielles des noms d'hôte augmentent selon la valeur fixe spécifiée. Important Le champ [begin_number,bits] ne doit pas contenir d'espaces. Par défaut, les noms séquentiels des hôtes augmentent selon une valeur fixe. Si Auto Scaling échoue à démarrer une instance ECS dans un groupe de mise à l'échelle lors d'une montée en charge, il supprime l'instance du groupe et en crée une nouvelle. Dans ce cas, les noms d'hôte des instances ECS du groupe de mise à l'échelle peuvent présenter un motif d'incrémentation discontinue.
Remarque Nous vous recommandons de définir le champ bits sur 3 ou plus. Sinon, la limite supérieure des valeurs séquentielles risque d'être atteinte rapidement. Si Auto Scaling doit créer davantage d'instances ECS après l'atteinte de cette limite, une erreur est signalée et la montée en charge s'arrête. Vous devez alors reconfigurer les règles de génération des noms d'hôte. | [0,6] |
name_suffix | Non | Le suffixe du nom d'hôte. | -ecshost |
Tableau 2. Exemples de noms d'hôte
Exemple | Nom d'hôte existant avec la valeur séquentielle maximale | Noms d'hôte des trois instances ECS ajoutées | Description |
ess-node-(AUTO_INCREMENT)[0,3]-ecshost | S.O. | ess-node-000-ecshost, ess-node-001-ecshost et ess-node-002-ecshost | Le nombre de chiffres de toutes les valeurs séquentielles correspond à la valeur bits. Lors de la première création d'instances par Auto Scaling dans un groupe de mise à l'échelle, la valeur séquentielle commence à la valeur begin_number et augmente séquentiellement en fonction du nombre d'instances créées. |
| S.O. | ess-node-000000-ecshost, ess-node-000001-ecshost et ess-node-000002-ecshost | Si vous ne configurez pas le champ begin_number ou bits, la valeur par défaut du champ begin_number est 0 et celle du champ bits est 6. |
ess-node-(AUTO_INCREMENT)[99,1]-ecshost | ess-node-000099-ecshost | ess-node-000100-ecshost, ess-node-000101-ecshost et ess-node-000102-ecshost |
|
ess-node-(AUTO_INCREMENT)[0,2]-ecshost | ess-node-99-ecshost | Une erreur est signalée et la montée en charge s'arrête. |
|
ess-node-(AUTO_INCREMENT)[0,4] | ess-node-0998-ecshost | ess-node-0999, ess-node-1000 et ess-node-1002 |
|
Tri dynamique par valeur séquentielle étendue
Les noms d'instance et les noms d'hôte doivent respecter le format suivant : name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix.
Les règles de nommage pour les noms d'instance et les noms d'hôte suivent la même logique. Le tableau ci-dessous décrit uniquement le format des noms d'hôte.
Tableau 3. Paramètres
Champ | Obligatoire | Description | Exemple |
name_prefix | Oui | Le préfixe du nom d'hôte. | ess-node- |
(ess_extend_begin,ess_extend_bits) | Oui | La valeur séquentielle étendue du nom d'hôte. Lorsque la valeur séquentielle de base des noms d'hôte existants dans un groupe de mise à l'échelle atteint la valeur maximale, la valeur séquentielle étendue est incrémentée d'une unité. Ensuite, la valeur séquentielle de base repart de 0 jusqu'à atteindre sa limite supérieure.
Important Si Auto Scaling doit créer davantage d'instances ECS lorsque les limites supérieures des valeurs séquentielles de base et étendues sont atteintes, une erreur est renvoyée et la montée en charge s'arrête. Vous devez alors reconfigurer les règles de génération des noms d'hôte. Le champ (ess_extend_begin,ess_extend_bits) ne doit pas contenir d'espaces. Si le nombre de chiffres de la valeur ess_extend_begin spécifiée est supérieur à la valeur bits, le champ bits est automatiquement défini sur 3. | (0,3) |
[begin_number,bits] | Oui | La valeur séquentielle de base du nom d'hôte. Après avoir configuré ce champ, les valeurs séquentielles de base des noms d'hôte augmentent jusqu'à la valeur maximale. Ensuite, la valeur séquentielle étendue est incrémentée d'une unité et la valeur séquentielle de base repart de 0 jusqu'à atteindre sa limite supérieure. Important Par défaut, les noms d'hôte augmentent de manière séquentielle. Si Auto Scaling échoue à démarrer une instance ECS dans un groupe de mise à l'échelle lors d'une montée en charge, il supprime l'instance du groupe et en crée une nouvelle. Dans ce cas, les noms d'hôte des instances ECS du groupe de mise à l'échelle peuvent présenter un motif d'incrémentation discontinue.
Important
Le champ [begin_number,bits] ne doit pas contenir d'espaces. Si le nombre de chiffres de la valeur begin_number spécifiée est supérieur à la valeur bits, le champ bits est automatiquement défini sur 6. | [0,6] |
name_suffix | Non | Le suffixe du nom d'hôte. | -ecshost |
Tableau 4. Exemples de noms d'hôte
Exemple | Nom d'hôte existant avec la valeur séquentielle maximale | Noms d'hôte des trois instances ECS ajoutées | Description |
ess-node-(0,3)[0,3]-ecshost | S.O. | ess-node-000000-ecshost, ess-node-000001-ecshost et ess-node-000002-ecshost | Lors de la première création d'instances par Auto Scaling dans un groupe de mise à l'échelle, les valeurs séquentielles des noms d'hôte sont déterminées selon les règles suivantes :
|
| S.O. | ess-node-000000000-ecshost, ess-node-000000001-ecshost et ess-node-000000002-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-08-ecshost | ess-node-10-ecshost, ess-node-11-ecshost et ess-node-12-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-Z9-ecshost | Une erreur est signalée et la montée en charge s'arrête. |
|
ess-node-(0,1)[0,3] | ess-node-0099-ecshost | ess-node-0100, ess-node-0101 et ess-node-0103 |
|
ess-node-(0,1)[99,1]-ecshost | ess-node-0000099-ecshost | ess-node-0000100-ecshost, ess-node-0000101-ecshost et ess-node-0000102-ecshost |
|