Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::ECS::InstanceGroup

Dernière mise à jour :Aug 12, 2026

La resource ALIYUN::ECS::InstanceGroup permet de créer un groupe d'instances ECS partageant des configurations identiques.

Syntaxe

{
  "Type": "ALIYUN::ECS::InstanceGroup",
  "Properties": {
    "DedicatedHostId": String,
    "ResourceGroupId": String,
    "SystemDiskDescription": String,
    "InstanceChargeType": String,
    "RamRoleName": String,
    "SystemDiskPerformanceLevel": String,
    "ImageId": String,
    "SystemDiskDiskName": String,
    "Tags": List,
    "HostName": String,
    "LaunchTemplateName": String,
    "VSwitchId": String,
    "Period": Number,
    "ZoneIds": List,
    "LaunchTemplateId": String,
    "DeletionProtection": Boolean,
    "SecurityGroupIds": List,
    "SecurityEnhancementStrategy": String,
    "InternetChargeType": String,
    "InstanceName": String,
    "DeploymentSetId": String,
    "SubscriptionDeletionForce": Boolean,
    "InternetMaxBandwidthOut": Integer,
    "VpcId": String,
    "LaunchTemplateVersion": String,
    "PeriodUnit": String,
    "AutoReleaseTime": String,
    "PrivateIpAddress": String,
    "Description": String,
    "DiskMappings": List,
    "SystemDiskSize": Number,
    "UserData": String,
    "AutoRenew": String,
    "Ipv6Addresses": List,
    "MaxAmount": Integer,
    "SystemDiskAutoSnapshotPolicyId": String,
    "Ipv6AddressCount": Integer,
    "NetworkType": String,
    "SpotPriceLimit": String,
    "InstanceType": String,
    "AllocatePublicIP": Boolean,
    "SpotStrategy": String,
    "Password": String,
    "PasswordInherit": Boolean,
    "AutoRenewPeriod": Number,
    "KeyPairName": String,
    "IoOptimized": String,
    "ZoneId": String,
    "HpcClusterId": String,
    "SecurityGroupId": String,
    "SystemDiskCategory": String,
    "EniMappings": List,
    "SystemDiskProvisionedIops": Integer,
    "SystemDiskBurstingEnabled": Boolean,
    "SpotInterruptionBehavior": String,
    "SpotDuration": Integer,
    "UpdatePolicy": String,
    "SystemDiskEncrypted": String,
    "SystemDiskEncryptAlgorithm": String,
    "SystemDiskStorageClusterId": String,
    "SystemDiskKMSKeyId": String,
    "CreditSpecification": String,
    "PrivatePoolOptions": Map,
    "StorageSetId": String,
    "HttpTokens": String,
    "HttpEndpoint": String,
    "Tenancy": String,
    "StorageSetPartitionNumber": Integer,
    "DeploymentSetGroupNo": Integer,
    "Affinity": String,
    "UseAdditionalService": Boolean,
    "ImageFamily": String,
    "DeletionForce": Boolean,
    "UniqueSuffix": Boolean,
    "NetworkOptions": Map,
    "CpuOptions": Map,
    "NetworkInterfaceQueueNumber": Integer,
    "HostNames": List,
    "ImageOptions": Map,
    "SecurityOptions": Map,
    "SchedulerOptions": Map
  }
}

Propriétés

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

InstanceType

String

Oui

Oui

Type d'instance ECS.

Pour plus d'informations, consultez Familles d'instances.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

MaxAmount

Integer

Oui

Oui

Nombre d'instances ECS à créer simultanément.

Valeurs valides : 1 à 1000.

Remarque

Lors de la mise à jour d'une pile, si MaxAmount augmente (ou diminue), le nombre correspondant d'instances ECS est ajouté (ou supprimé). Par exemple, si MaxAmount passe de 2 à 5, trois nouvelles instances ECS sont ajoutées.

Affinity

String

Non

Non

Indique si une instance ECS est associée à un Dedicated Host.

Valeurs valides :

  • default : l'instance n'est pas associée à un Dedicated Host. Si l'instance utilise le mode économique et que le Dedicated Host d'origine manque de ressources lors du redémarrage, l'instance est placée sur un autre Dedicated Host du pool de ressources de déploiement automatique.

  • host : l'instance est associée à un Dedicated Host. Si l'instance utilise le mode économique et que le Dedicated Host d'origine manque de ressources lors du redémarrage, celui-ci échoue.

AllocatePublicIP

Boolean

Non

Non

Indique s'il faut attribuer une adresse IP publique.

Si InternetMaxBandwidthOut est égal à 0, aucune adresse IP publique n'est attribuée.

Valeurs valides :

  • true (par défaut) : attribue une adresse IP publique.

  • false : n'attribue pas d'adresse IP publique.

AutoReleaseTime

String

Non

Non

Heure de libération automatique de l'instance ECS.

L'heure doit respecter le format ISO 8601, par exemple "yyyy-MM-ddTHH:mm:ssZ". Le délai de libération ne peut pas excéder trois ans.

AutoRenew

String

Non

Oui

Indique s'il faut activer le renouvellement automatique.

Ce paramètre prend effet uniquement lorsque InstanceChargeType est défini sur PrePaid.

Valeurs valides :

  • True : active le renouvellement automatique.

  • False (par défaut) : désactive le renouvellement automatique.

Remarque

Ce paramètre met à jour uniquement les nouvelles instances ECS.

AutoRenewPeriod

Number

Non

Oui

Durée de chaque renouvellement automatique.

Ce paramètre est requis lorsque AutoRenew est défini sur True.

Valeurs valides :

  • 1 (par défaut)

  • 2

  • 3

  • 6

  • 12

Remarque

La mise à jour de ce paramètre s'applique uniquement aux instances ECS nouvellement créées.

CpuOptions

Map

Non

Non

Propriétés liées au CPU.

Pour plus d'informations, consultez Propriétés CpuOptions.

CreditSpecification

String

Non

Oui

Mode de fonctionnement des instances extensibles.

Valeurs valides :

DedicatedHostId

String

Non

Non

ID du Dedicated Host.

Aucune

DeletionForce

Boolean

Non

Non

Indique s'il faut forcer la suppression de l'instance.

Valeur par défaut : false.

DeletionProtection

Boolean

Non

Oui

Indique s'il faut protéger l'instance contre la libération via la console ou l'API DeleteInstance.

Valeurs valides :

  • true : active la protection.

  • False indique que la protection n'est pas activée.

DeploymentSetGroupNo

Integer

Non

Non

Si votre ensemble de déploiement utilise la politique AvailabilityGroup, spécifiez le numéro de groupe de cette instance dans l'ensemble de déploiement.

Valeurs valides : 1 à 7.

DeploymentSetId

String

Non

Oui

ID de l'ensemble de déploiement.

La mise à jour de ce paramètre s'applique uniquement aux instances ECS nouvellement créées.

Description

String

Non

Oui

Description.

Longueur maximale : 256 caractères.

Remarque

Les modifications apportées à ce paramètre s'appliquent uniquement aux instances ECS nouvellement créées.

DiskMappings

List

Non

Oui

Disques de données pour l'instance ECS.

Vous pouvez créer jusqu'à 16 disques de données.

La modification de ce paramètre n'affecte pas les instances existantes. Les nouvelles instances utilisent la valeur mise à jour.

Pour plus d'informations, consultez Propriétés DiskMappings.

Remarque

Les modifications apportées à ce paramètre s'appliquent uniquement aux instances ECS nouvellement créées.

EniMappings

List

Non

Oui

Interfaces réseau élastiques (ENI) attachées à l'instance.

Vous pouvez attacher jusqu'à une ENI à l'instance.

Pour plus d'informations, consultez Propriétés EniMappings.

HostName

String

Non

Non

Nom d'hôte.

Longueur minimale : 2 caractères. Un point (.) ou un trait d'union (-) ne peut pas être le premier ou le dernier caractère. Les points ou traits d'union consécutifs ne sont pas autorisés.

Pour plus d'informations, consultez Paramètres de requête.

HostNames

List

Non

Non

Spécifiez des noms d'hôte différents pour plusieurs instances.

Aucune

HpcClusterId

String

Non

Oui

ID du cluster HPC auquel appartient l'instance.

La mise à jour de ce paramètre affecte uniquement les instances ECS nouvellement créées.

HttpEndpoint

String

Non

Oui

Indique s'il faut activer l'accès aux métadonnées de l'instance.

Valeurs valides :

  • enabled (par défaut) : active la fonctionnalité.

  • Désactivé.

Remarque

Pour les modes d'accès aux métadonnées, consultez Métadonnées d'instance.

HttpTokens

String

Non

Oui

Indique s'il faut imposer IMDSv2 (mode renforcé) pour accéder aux métadonnées de l'instance.

Valeurs valides :

  • Optional (par défaut) : non imposé.

  • required : impose IMDSv2. Avec ce paramètre, le mode standard ne peut pas accéder aux métadonnées de l'instance.

Remarque

Pour les modes d'accès aux métadonnées, consultez Métadonnées d'instance.

ImageFamily

String

Non

Non

Nom de la famille d'images.

Utilisez ce paramètre pour lancer des instances avec la dernière image disponible dans la famille d'images spécifiée.

  • Si vous définissez le paramètre ImageId, vous ne pouvez pas définir ce paramètre.

  • Si vous ne définissez pas le paramètre ImageId, mais que le modèle de lancement référencé par LaunchTemplateId ou LaunchTemplateName spécifie un ImageId, vous ne pouvez pas définir ce paramètre.

  • Vous pouvez définir ce paramètre si ImageId n'est pas spécifié et que le modèle de lancement indiqué par LaunchTemplateId ou LaunchTemplateName ne spécifie pas ImageId.

  • Vous pouvez spécifier ce paramètre si ImageId n'est pas spécifié, et que ni LaunchTemplateId ni LaunchTemplateName ne sont spécifiés.

Remarque

Pour les informations sur les familles d'images officielles Alibaba Cloud, consultez Images publiques.

ImageId

String

Non

Oui

ID de l'image utilisée pour lancer l'instance ECS. Les valeurs valides incluent les images publiques, les images personnalisées et les images Alibaba Cloud Marketplace.

Vous pouvez spécifier un ID d'image publique via une correspondance floue au lieu de l'ID complet. Exemples :

  • ubuntu correspond à ubuntu_16_0402_64_20G_alibase_20170818.vhd.

  • ubuntu1432 correspond à ubuntu_14_0405_32_40G_alibase_20170711.vhd.

Pour plus d'informations, consultez Paramètres de requête.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

ImageOptions

Map

Non

Non

Propriétés liées à l'image.

Pour plus d'informations, consultez Propriétés ImageOptions.

InstanceChargeType

String

Non

Oui

Mode de facturation de l'instance.

Valeurs valides :

  • PrePaid : abonnement prépayé.

    Remarque

    Si vous sélectionnez PrePaid, assurez-vous que votre compte dispose d'un solde suffisant ou d'un crédit. Sinon, le système renvoie une erreur InvalidPayMethod.

  • PostPaid (par défaut) : paiement à l'utilisation.

Remarque

La mise à jour de ce paramètre s'applique uniquement aux nouvelles instances ECS.

InstanceName

String

Non

Oui

Nom de l'instance.

Longueur maximale : 128 caractères. Les caractères valides incluent les lettres, les chiffres, les traits de soulignement (_), les points (.) et les traits d'union (-).

Utilisez le format name_prefix[begin_number,bits]name_suffix pour attribuer des noms uniques à chaque instance ECS. Pour plus d'informations, consultez Paramètres de requête.

InternetChargeType

String

Non

Oui

Mode de facturation de la bande passante du réseau public.

Valeurs valides :

  • PayByBandwidth : facturation par bande passante.

  • PayByTraffic (par défaut) : facturation par trafic.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

InternetMaxBandwidthOut

Integer

Non

Oui

Bande passante sortante publique maximale.

Valeurs valides : 0 à 100.

Unité : Mbit/s.

Valeur par défaut : 0.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

IoOptimized

String

Non

Non

Indique s'il faut créer une instance optimisée pour les E/S.

Valeurs valides :

  • none : non optimisée pour les E/S.

  • optimized (par défaut) : optimisée pour les E/S.

Ipv6AddressCount

Integer

Non

Oui

Nombre d'adresses IPv6 générées aléatoirement pour l'ENI.

Vous ne pouvez pas spécifier simultanément Ipv6Addresses et Ipv6AddressCount.

Remarque

Ce paramètre met à jour uniquement les nouvelles instances ECS.

Ipv6Addresses

List

Non

Oui

Adresses IPv6 pour l'ENI.

Vous pouvez spécifier jusqu'à une adresse IPv6. Les modifications n'affectent pas les instances existantes. Vous ne pouvez pas spécifier simultanément Ipv6Addresses et Ipv6AddressCount.

Remarque

Ce paramètre met à jour uniquement les nouvelles instances ECS.

KeyPairName

String

Non

Oui

Nom de la paire de clés liée à l'instance ECS.

Si l'instance exécute Windows, ce paramètre est ignoré. Valeur par défaut : vide.

Si KeyPairName est spécifié, le mot de passe est tout de même défini sur l'instance, mais la connexion par mot de passe est désactivée pour les systèmes Linux.

Remarque

Les modifications apportées à ce paramètre affectent uniquement les instances ECS nouvellement créées.

LaunchTemplateId

String

Non

Oui

ID du modèle de lancement.

Aucune

LaunchTemplateName

String

Non

Oui

Nom du modèle de lancement.

Aucune

LaunchTemplateVersion

String

Non

Oui

Version du modèle de lancement.

Si aucune version n'est spécifiée, la version par défaut est utilisée.

NetworkInterfaceQueueNumber

Integer

Non

Non

Nombre de files d'attente pour l'ENI principale.

Remarque :

  • Ne peut pas dépasser le nombre maximal de files d'attente par ENI autorisé pour le type d'instance.

  • Le nombre total de files d'attente sur toutes les ENI ne peut pas dépasser le quota du type d'instance. Interrogez les champs MaximumQueueNumberPerEni et TotalEniQueueQuantity à l'aide de l'API DescribeInstanceTypes.

  • Si NetworkInterface.N.InstanceType est Primary, ne définissez pas NetworkInterfaceQueueNumber. Définissez plutôt NetworkInterface.N.QueueNumber.

NetworkOptions

Map

Non

Non

Propriétés liées au réseau.

Pour plus d'informations, consultez Propriétés NetworkOptions.

NetworkType

String

Non

Non

Type de réseau de l'instance ECS.

Valeurs valides :

  • vpc : Virtual Private Cloud (VPC).

  • classic (par défaut) : réseau classique.

Password

String

Non

Oui

Mot de passe de connexion pour l'instance ECS.

Longueur : 8 à 30 caractères. Doit contenir au moins trois des éléments suivants : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux. Caractères spéciaux pris en charge : :()~!@#$%^&*-+=|{}[]:;'<>,.?/.

Si vous spécifiez Password, appelez l'API via HTTPS pour éviter toute fuite de mot de passe.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

PasswordInherit

Boolean

Non

Non

Indique s'il faut utiliser le mot de passe préconfiguré dans l'image.

Valeurs valides :

  • true : utilise le mot de passe préconfiguré.

  • false : n'utilise pas le mot de passe préconfiguré.

Remarque

Lors de l'utilisation de ce paramètre, Password doit être vide. Assurez-vous également que l'image contient un mot de passe préconfiguré.

Period

Number

Non

Oui

Durée de l'abonnement.

Ce paramètre prend effet et est requis uniquement lorsque InstanceChargeType est défini sur PrePaid.

Si DedicatedHostId est spécifié, la valeur ne peut pas dépasser la durée d'abonnement du Dedicated Host.

  • Si PeriodUnit est Week, les valeurs valides pour Period sont 1 à 4.

  • Si PeriodUnit est Month, les valeurs valides pour Period sont 1 à 9, 12, 24, 36, 48 et 60.

Remarque

Ce paramètre met à jour uniquement les nouvelles instances ECS.

PeriodUnit

String

Non

Oui

Unité de durée de l'abonnement.

Valeurs valides :

  • Week : semaine.

  • Month (par défaut) : mois.

Remarque

La mise à jour de ce paramètre s'applique uniquement aux instances ECS nouvellement créées.

PrivateIpAddress

String

Non

Non

Adresse IP privée de l'instance.

Pour les instances de type VPC, sélectionnez l'adresse IP privée dans le bloc CIDR disponible du vSwitch.

Remarque

Si PrivateIpAddress est défini, MaxAmount doit être égal à 1.

PrivatePoolOptions

Map

Non

Non

Options de capacité de pool privé pour le lancement d'instances.

Pour plus d'informations, consultez Propriétés PrivatePoolOptions.

RamRoleName

String

Non

Oui

Nom du rôle RAM de l'instance.

Vous pouvez appeler ListRoles pour interroger les noms des rôles RAM d'instance.

ResourceGroupId

String

Non

Oui

ID du groupe de ressources auquel appartient l'instance.

Aucune

SchedulerOptions

Map

Non

Non

Propriétés liées à la planification.

Pour plus d'informations, consultez Propriétés SchedulerOptions.

SecurityEnhancementStrategy

String

Non

Non

Indique s'il faut activer le renforcement de la sécurité.

Valeurs valides :

  • Active : active le renforcement de la sécurité. S'applique uniquement aux images publiques.

  • Deactive : désactive le renforcement de la sécurité. S'applique à tous les types d'images.

SecurityGroupId

String

Non

Non

ID du groupe de sécurité pour la nouvelle instance. Les instances du même groupe de sécurité peuvent communiquer entre elles.

Vous ne pouvez pas spécifier simultanément SecurityGroupId et SecurityGroupIds.

SecurityGroupIds

List

Non

Non

Liste des ID de groupes de sécurité pour la nouvelle instance.

Vous ne pouvez pas spécifier simultanément SecurityGroupId et SecurityGroupIds.

Pour plus d'informations, consultez Limites.

SecurityOptions

Map

Non

Non

Propriétés liées au système de confiance.

Pour plus d'informations, consultez Propriétés SecurityOptions.

SpotDuration

Integer

Non

Non

Durée de réservation pour les instances spot.

Valeurs valides : 0 à 6.

Unité : heures.

Valeurs valides :

  • 0 : aucune période de protection.

  • 2 à 6 : aperçu sur invitation. Soumettez un ticket pour activer cette option.

  • 1 (par défaut).

SpotInterruptionBehavior

String

Non

Non

Comportement en cas d'interruption pour les instances spot.

Seul Terminate (par défaut) est pris en charge, ce qui libère immédiatement l'instance.

SpotPriceLimit

String

Non

Non

Prix horaire maximal pour l'instance.

Précision maximale : trois décimales. Ce paramètre prend effet uniquement lorsque SpotStrategy est défini sur SpotWithPriceLimit.

SpotStrategy

String

Non

Oui

Stratégie d'enchère pour les instances à paiement à l'utilisation.

Ce paramètre prend effet uniquement lorsque InstanceChargeType est défini sur PostPaid.

Valeurs valides :

  • NoSpot (par défaut) : instance standard à paiement à l'utilisation.

  • SpotWithPriceLimit : instance spot avec une limite de prix maximale.

  • SpotAsPriceGo : le système définit automatiquement l'enchère, jusqu'au prix maximal à paiement à l'utilisation.

StorageSetId

String

Non

Non

ID de l'ensemble de stockage.

Aucune

StorageSetPartitionNumber

Integer

Non

Non

Nombre maximal de partitions dans l'ensemble de stockage.

Valeurs valides : supérieur ou égal à 2.

SubscriptionDeletionForce

Boolean

Non

Non

Cette option s'applique uniquement aux instances par abonnement. Si true, l'instance est convertie en instance à paiement à l'utilisation avant suppression. Si false, la suppression forcée n'a pas lieu. Cette action entraîne des frais supplémentaires. À utiliser avec prudence.

Aucune

SystemDiskAutoSnapshotPolicyId

String

Non

Oui

ID de la politique de snapshot automatique pour le disque système.

Aucune

SystemDiskBurstingEnabled

Boolean

Non

Oui

Indique si le bursting est activé pour le disque système.

Valeurs valides :

  • true : active le bursting.

  • false (par défaut) : désactive le bursting.

SystemDiskCategory

String

Non

Oui

Catégorie du disque système.

Valeurs valides :

  • Cloud : disque de base.

  • cloud_efficiency : disque Ultra.

  • cloud_ssd : SSD standard.

  • cloud_essd : SSD Enterprise.

  • ephemeral_ssd : SSD local.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

SystemDiskDescription

String

Non

Oui

Description du disque système.

La mise à jour de ce paramètre s'applique uniquement aux instances ECS nouvellement créées.

SystemDiskDiskName

String

Non

Oui

Nom du disque système.

La mise à jour de ce paramètre s'applique uniquement aux nouvelles instances ECS.

SystemDiskEncryptAlgorithm

String

Non

Oui

Algorithme de chiffrement pour le disque système.

Valeurs valides :

  • AES-256.

  • SM4-128.

SystemDiskEncrypted

String

Non

Oui

Indique si le disque système est chiffré.

Valeurs valides :

  • true : chiffrer.

  • false : ne pas chiffrer.

SystemDiskKMSKeyId

String

Non

Oui

ID de clé KMS pour le disque système.

Aucune

SystemDiskPerformanceLevel

String

Non

Oui

Lors de la création d'un SSD Enterprise utilisé comme disque système, vous pouvez définir le niveau de performance du disque.

Valeurs valides :

  • PL0 : les IOPS de lecture/écriture aléatoires maximales par disque sont de 10 000.

  • PL1 (par défaut) : les IOPS de lecture/écriture aléatoires maximales par disque sont de 50 000.

  • PL2 : les IOPS de lecture/écriture aléatoires maximales par disque sont de 100 000.

  • PL3 : les IOPS de lecture/écriture aléatoires maximales par disque sont de 1 000 000.

Pour obtenir des conseils sur le choix d'un niveau de performance ESSD, consultez SSD Enterprise.

SystemDiskProvisionedIops

Integer

Non

Oui

IOPS provisionnées pour le disque système.

Aucune

SystemDiskSize

Number

Non

Oui

Taille du disque système.

Valeurs valides : 40 à 500.

Unité : GiB.

Si vous utilisez une image personnalisée, la taille du disque système doit être supérieure à la taille de l'image.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

SystemDiskStorageClusterId

String

Non

Oui

ID du cluster de stockage par blocs dédié pour le disque système.

Aucune

Tags

List

Non

Oui

Tags personnalisés.

Maximum : 20 tags. Format : [{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}].

Pour plus d'informations, consultez Propriétés Tags.

Tenancy

String

Non

Non

Indique s'il faut créer l'instance sur un Dedicated Host.

Valeurs valides :

  • default (par défaut) : crée une instance hors Dedicated Host.

  • host : crée une instance ECS sur un Dedicated Host. Si vous ne spécifiez pas DedicatedHostId, Alibaba Cloud sélectionne automatiquement un Dedicated Host pour placer l'instance.

UniqueSuffix

Boolean

Non

Non

Indique s'il faut ajouter des suffixes séquentiels à HostName et InstanceName lors de la création de plusieurs instances.

Les suffixes séquentiels commencent à 001 et s'incrémentent jusqu'à 999. Valeurs valides :

  • true : ajoute le suffixe.

  • false (valeur par défaut) : n'ajoute pas le suffixe.

Si HostName ou InstanceName suit le format de tri sans spécifier le suffixe de nommage name_suffix (par exemple, name_prefix[begin_number,bits]), alors UniqueSuffix ne prend pas effet, et les noms suivent uniquement l'ordre spécifié.

Pour plus d'informations, consultez Définir en lot des noms d'instance ou d'hôte séquentiels.

UpdatePolicy

String

Non

Oui

Stratégie de mise à jour.

Valeurs valides :

  • ForNewInstance (par défaut) : applique les mises à jour uniquement aux nouvelles instances.

  • ForAllInstances : applique les mises à jour à toutes les instances.

UseAdditionalService

Boolean

Non

Non

Indique s'il faut utiliser les configurations système VM fournies par Alibaba Cloud (Windows : NTP, KMS ; Linux : NTP, YUM).

Valeurs valides :

  • true

  • false

UserData

String

Non

Oui

Données utilisateur transmises lors de la création de l'instance ECS.

Taille maximale : 16 Ko. N'encodez pas le contenu en Base64. Échappez les caractères spéciaux.

Remarque

Ce paramètre met à jour les instances existantes uniquement si UpdatePolicy est défini sur ForAllInstances. Dans le cas contraire, la mise à jour s'applique seulement aux nouvelles instances.

VpcId

String

Non

Non

ID du Virtual Private Cloud (VPC).

Aucune

VSwitchId

String

Non

Non

ID du vSwitch.

Aucune

ZoneId

String

Non

Non

ID de la zone.

Aucune

ZoneIds

List

Non

Non

Liste des zones de disponibilité.

Aucune

Syntaxe de DiskMappings

"DiskMappings": [
  {
    "Category": String,
    "DiskName": String,
    "Description": String,
    "Device": String,
    "SnapshotId": String,
    "Size": String,
    "Encrypted": String,
    "KMSKeyId": String,
    "PerformanceLevel": String,
    "AutoSnapshotPolicyId": String,
    "ProvisionedIops": Integer,
    "BurstingEnabled": Boolean,
    "StorageClusterId": String
  }
]

Propriétés de DiskMappings

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

Size

String

Oui

Non

Taille du disque de données.

Unité : GiB.

Category

String

Non

Non

Catégorie du disque de données.

Valeurs valides :

  • cloud : disque cloud.

  • cloud_efficiency : disque ultra.

  • cloud_ssd : SSD standard.

  • cloud_essd : SSD entreprise.

  • ephemeral_ssd : SSD local.

Pour les instances optimisées pour les E/S, la valeur par défaut est cloud_efficiency.

Pour les instances non optimisées pour les E/S, la valeur par défaut est cloud.

DiskName

String

Non

Non

Nom du disque de données.

Longueur : de 2 à 128 caractères. Doit commencer par une lettre ou un caractère chinois. Ne peut pas commencer par http:// ou https://. Les caractères valides incluent les lettres, les caractères chinois, les chiffres, les traits de soulignement (_), les deux-points (:) et les traits d'union (-).

Description

String

Non

Non

Description du disque de données.

Longueur : de 2 à 256 caractères. Ne peut pas commencer par http:// ou https://.

Device

String

Non

Non

Point de montage.

Aucune

SnapshotId

String

Non

Non

ID du snapshot.

Aucune

Encrypted

String

Non

Non

Indique si le disque de données est chiffré.

Valeurs valides :

  • true : chiffrer.

  • false (par défaut) : ne pas chiffrer.

KMSKeyId

String

Non

Non

ID de la clé KMS pour le disque de données.

Aucune

AutoSnapshotPolicyId

String

Non

Non

ID de la politique de snapshot automatique.

Aucune

PerformanceLevel

String

Non

Non

Niveau de performance pour un ESSD utilisé comme disque de données.

Valeurs valides :

  • PL0 : les IOPS aléatoires en lecture/écriture maximales par disque sont de 10 000.

  • PL1 (par défaut) : les IOPS aléatoires en lecture/écriture maximales par disque sont de 50 000.

  • PL2 : les IOPS aléatoires en lecture/écriture maximales par disque sont de 100 000.

  • PL3 : les IOPS aléatoires en lecture/écriture maximales par disque sont de 1 000 000.

Pour obtenir des conseils sur le choix d'un niveau de performance ESSD, consultez SSD entreprise.

ProvisionedIops

Integer

Non

Non

IOPS provisionnées.

Aucune

BurstingEnabled

Boolean

Non

Non

Indique si le mode burst est activé.

Valeurs valides :

  • true : activer.

  • false (par défaut) : désactiver.

StorageClusterId

String

Non

Non

ID du cluster de stockage bloc dédié.

Aucune

Syntaxe de Tags

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Propriétés de Tags

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

Key

String

Oui

Non

Clé du tag.

Longueur : de 1 à 128 caractères. Ne peut pas commencer par aliyun ou acs:. Ne peut pas contenir http:// ou https://.

Value

String

Non

Non

Valeur du tag.

Longueur : de 0 à 128 caractères. Ne peut pas commencer par aliyun ou acs:. Ne peut pas contenir http:// ou https://.

Syntaxe de EniMappings

"EniMappings": [
  {
    "SecurityGroupId": String,
    "VSwitchId": String,
    "Description": String,
    "NetworkInterfaceName": String,
    "PrimaryIpAddress": String,
    "InstanceType": String,
    "Ipv6AddressCount": Integer,
    "NetworkInterfaceTrafficMode": String,
    "Ipv6Addresses": List,
    "QueueNumber": Integer,
    "SecurityGroupIds": List,
    "NetworkInterfaceId": String,
    "DeleteOnRelease": Boolean,
    "NetworkCardIndex": Integer,
    "QueuePairNumber": Integer
  }
]

Propriétés de EniMappings

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

SecurityGroupId

String

Non

Oui

ID du groupe de sécurité.

Le groupe de sécurité doit appartenir au même VPC.

VSwitchId

String

Non

Non

ID du vSwitch.

Aucune

Description

String

Non

Oui

Description de l'ENI.

Longueur : de 2 à 256 caractères. Ne peut pas commencer par http:// ou https://.

NetworkInterfaceName

String

Non

Oui

Nom de l'ENI.

Longueur : de 2 à 128 caractères. Doit commencer par une lettre ou un caractère chinois. Ne peut pas commencer par http:// ou https://. Les caractères valides incluent les lettres, les caractères chinois, les chiffres, les deux-points (:), les traits de soulignement (_) et les traits d'union (-).

PrimaryIpAddress

String

Non

Non

Adresse IP privée principale de l'ENI.

L'adresse IP spécifiée doit être une adresse disponible dans le bloc CIDR du vSwitch.

Si aucune adresse IP n'est spécifiée, une adresse disponible est attribuée aléatoirement à partir du vSwitch.

InstanceType

String

Non

Non

Type d'ENI.

Vous pouvez configurer jusqu'à deux ENI. Lors de la configuration d'une seule ENI, vous pouvez choisir une ENI principale ou secondaire. Lors de la configuration de deux ENI, vous devez configurer une ENI principale et une ENI secondaire.

Valeurs valides :

  • Primary : la carte réseau (NIC) principale.

  • Secondary (par défaut) : ENI secondaire.

Ipv6AddressCount

Integer

Non

Non

Nombre d'adresses IPv6 générées aléatoirement pour l'ENI principale.

Valeurs valides : de 1 à 10.

Remarques :

  • Ce paramètre prend effet uniquement lorsque NetworkInterface.InstanceType est défini sur Primary. Si NetworkInterface.InstanceType est défini sur Secondary ou est vide, ne définissez pas ce paramètre.

  • Après avoir défini ce paramètre, ne définissez pas Ipv6AddressCount, Ipv6Address ou NetworkInterface.Ipv6Address.

NetworkInterfaceTrafficMode

String

Non

Non

Mode de communication de la carte réseau (NIC).

Valeurs valides :

  • Standard (par défaut) : utilise TCP.

  • HighPerformance : active ERI (Elastic RDMA Interface) et utilise RDMA.

Remarque

Le nombre d'ENI avec RDMA activé ne peut pas dépasser la limite définie pour la famille d'instances. Pour plus d'informations, consultez Familles d'instances.

Ipv6Addresses

List

Non

Non

Une ou plusieurs adresses IPv6 pour l'ENI principale.

Vous pouvez spécifier jusqu'à 10 adresses IPv6.

Remarques :

  • Ce paramètre prend effet uniquement lorsque NetworkInterface.InstanceType est défini sur Primary. Si NetworkInterface.InstanceType est défini sur Secondary ou est vide, ne définissez pas ce paramètre.

  • Si vous définissez ce paramètre, la valeur de Amount doit être 1, et vous ne pouvez pas définir Ipv6AddressCount, Ipv6Address.N ou NetworkInterface.N.Ipv6AddressCount.

QueueNumber

Integer

Non

Non

Nombre de files d'attente pour l'ENI.

Remarques :

  • Valeurs valides : de 1 à 2. Lors de la configuration d'une seule ENI, vous pouvez choisir une ENI principale ou secondaire. Lors de la configuration de deux ENI, vous devez configurer une ENI principale et une ENI secondaire.

  • Ne peut pas dépasser le nombre maximal de files d'attente par ENI autorisé pour le type d'instance.

  • Le nombre total de files d'attente sur toutes les ENI ne peut pas dépasser le quota du type d'instance. Interrogez les champs MaximumQueueNumberPerEni et TotalEniQueueQuantity à l'aide de l'API DescribeInstanceTypes.

  • Si NetworkInterface.InstanceType est défini sur Primary et que ce paramètre est défini, ne définissez pas NetworkInterfaceQueueNumber.

SecurityGroupIds

List

Non

Non

Un ou plusieurs ID de groupes de sécurité pour l'ENI.

Remarques :

  • Si NetworkInterface.N.InstanceType est défini sur Primary, définissez soit ce paramètre, soit NetworkInterface.SecurityGroupId. Ce paramètre fonctionne comme SecurityGroupIds, mais ne définissez pas SecurityGroupId, SecurityGroupIds ou NetworkInterface.SecurityGroupId.

  • Si NetworkInterface.N.InstanceType est défini sur Secondary ou est vide, ce paramètre est facultatif. La valeur par défaut correspond au groupe de sécurité de l'instance ECS.

NetworkInterfaceId

String

Non

Non

ID de l'ENI attachée à l'instance.

Ce paramètre s'applique uniquement aux ENI secondaires. Après avoir spécifié une ENI secondaire existante, vous ne pouvez pas configurer d'autres paramètres de création d'ENI.

DeleteOnRelease

Boolean

Non

Non

Indique s'il faut conserver l'ENI lors de la libération de l'instance.

Valeurs valides :

  • true : ne pas conserver.

  • false : conserver.

NetworkCardIndex

Integer

Non

Non

Index de la carte réseau physique.

  • Seuls certains types d'instances prennent en charge la spécification d'un index de carte réseau physique.

  • Si NetworkInterface.N.InstanceType est Primary et que le type d'instance prend en charge les cartes réseau physiques, définissez ce paramètre sur 0.

  • Si NetworkInterface.N.InstanceType est Secondary ou vide, et que le type d'instance prend en charge les cartes réseau physiques, définissez ce paramètre en fonction du type d'instance. Pour plus d'informations, consultez Familles d'instances.

QueuePairNumber

Integer

Non

Non

Nombre de files d'attente pour l'ENI RDMA.

Ce champ est de type Long. Une perte de précision peut survenir lors de la sérialisation/désérialisation. Assurez-vous que la valeur ne dépasse pas 9007199254740991.

Syntaxe de PrivatePoolOptions

"PrivatePoolOptions": [
  {
    "Id": String,
    "MatchCriteria": String
  }
]

Propriétés de PrivatePoolOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

Id

String

Non

Non

ID du pool privé. Il s'agit de l'ID d'un service de capacité élastique ou d'un service de capacité réservée.

Aucune

MatchCriteria

String

Non

Non

Une fois le service de capacité élastique ou le service de capacité réservée activé, il crée une capacité de pool privé pour le lancement d'instances.

Valeurs valides :

  • Open : mode ouvert. Correspond automatiquement à la capacité de pool privé de type ouvert. Si aucune capacité correspondante n'existe, lance l'instance en utilisant les ressources du pool public. Ne définissez pas PrivatePoolOptions.Id dans ce mode.

  • Target : mode cible. Lance l'instance en utilisant la capacité de pool privé spécifiée. Si la capacité n'est pas disponible, le lancement de l'instance échoue. Dans ce mode, PrivatePoolOptions.Id est obligatoire.

  • None (par défaut) : aucun mode. Le lancement de l'instance n'utilise pas la capacité de pool privé.

Dans l'un des scénarios suivants, l'option de capacité de pool privé pour le démarrage de l'instance peut uniquement être définie sur None ou laissée non spécifiée.

  • Création d'une instance spot.

  • Création d'une instance ECS en réseau classique.

  • Création d'une instance ECS sur un hôte dédié (DDH).

Syntaxe de NetworkOptions

"NetworkOptions": {
  "EnableJumboFrame": Boolean
}

Propriétés de NetworkOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

EnableJumboFrame

Boolean

Non

Non

Indique s'il faut activer les trames jumbo pour l'instance.

Valeurs valides :

  • false : désactive les trames jumbo. La MTU pour toutes les ENI (y compris principales et secondaires) est de 1500.

  • true : active les trames jumbo. La MTU pour toutes les ENI (y compris principales et secondaires) est de 8500.

Valeur par défaut : true.

Remarque

Seuls certains types d'instances de la génération 8 et ultérieures prennent en charge les trames jumbo. Pour plus d'informations, consultez Trames jumbo.

Syntaxe de CpuOptions

"CpuOptions": {
  "ThreadsPerCore": Integer,
  "Core": Integer
}

Propriétés de CpuOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

ThreadsPerCore

Integer

Non

Non

Nombre de threads CPU.

Nombre de vCPU = CpuOptions.Core × CpuOptions.ThreadsPerCore.

Core

Integer

Non

Non

Nombre de cœurs CPU.

Ce paramètre ne prend pas en charge les valeurs personnalisées. Utilisez uniquement la valeur par défaut.

Valeur par défaut : consultez Modifier les options CPU.

Syntaxe de ImageOptions

"ImageOptions": {
  "LoginAsNonRoot": Boolean
}

Propriétés de ImageOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

LoginAsNonRoot

Boolean

Non

Non

Indique si les instances lancées avec cette image prennent en charge la connexion en tant qu'utilisateur ecs-user.

Valeurs valides :

  • true : oui.

  • false : non.

Syntaxe de SecurityOptions

"SecurityOptions": {
  "TrustedSystemMode": String
}

Propriétés de SecurityOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contraintes

TrustedSystemMode

String

Non

Non

Mode du système de confiance.

Valeur valide : vTPM. Ce mode est pris en charge par les familles d'instances g7, c7 et r7, ainsi que par les familles d'instances à sécurité renforcée g7t, c7t et r7t. Définissez ce paramètre lors de la création d'une instance ECS appartenant à l'une de ces familles. Si vous utilisez le système de confiance Alibaba Cloud, définissez cette valeur sur vTPM pour permettre une vérification de confiance au démarrage de l'instance. Ce paramètre n'est pas nécessaire si vous n'utilisez pas ce système. Toutefois, si l'instance ECS créée utilise le mode de calcul confidentiel enclave (SecurityOptions.ConfidentialComputingMode=Enclave), le système de confiance est également activé automatiquement. Pour créer une instance ECS avec système de confiance via OpenAPI, appelez l'opération RunInstances. L'opération CreateInstance ne prend pas en charge le paramètre SecurityOptions.TrustedSystemMode.

Remarque

Si vous spécifiez l'instance comme instance de confiance lors de sa création, seul un disque système compatible avec le système de confiance pourra être utilisé lors d'un remplacement ultérieur.

Pour plus d'informations sur le système de confiance, consultez la rubrique Présentation des capacités de calcul de confiance.

Syntaxe de SchedulerOptions

"SchedulerOptions": {
  "ManagedPrivateSpaceId": String,
  "DedicatedHostClusterId": String
}

Propriétés de SchedulerOptions

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

DedicatedHostClusterId

String

Non

Non

ID du cluster d'hôtes dédiés où réside l'instance ECS. Le système sélectionne automatiquement un hôte dédié dans ce cluster pour déployer l'instance.

Remarque

Ce paramètre n'est effectif que lorsque Tenancy est défini sur host.

Lorsque vous spécifiez simultanément un hôte dédié (DedicatedHostId) et un cluster d'hôtes dédiés (SchedulerOptions.DedicatedHostClusterId) :

  • Si l'hôte dédié appartient au cluster indiqué, l'instance est déployée en priorité sur cet hôte spécifique.

  • Dans le cas contraire, la création de l'instance échoue.

Vous pouvez obtenir les ID des clusters d'hôtes dédiés à l'aide de l'opération DescribeDedicatedHostClusters.

ManagedPrivateSpaceId

String

Non

Non

ID du pool de ressources privées gérées.

Aucune

Valeurs de retour

Fn::GetAtt

  • InstanceIds : identifiants uniques des instances ECS, générés automatiquement par le système pour y accéder.

  • PrivateIps : liste des adresses IP privées attribuées aux instances de type VPC. Cette propriété s'applique uniquement lorsque NetworkType est vpc. Exemple : tableau JSON au format ["172.16.XX.XX", "172.16.XX.XX", … "172.16.XX.XX"], contenant jusqu'à 100 adresses IP séparées par des virgules (,).

  • InnerIps : liste des adresses IP privées attribuées aux instances de type classique. Cette propriété s'applique uniquement lorsque NetworkType est classic. Exemple : tableau JSON au format ["10.1.XX.XX", "10.1.XX.XX", …, "10.1.XX.XX"], contenant jusqu'à 100 adresses IP séparées par des virgules (,).

  • PublicIps : liste des adresses IP publiques attribuées aux instances de type classique. Cette propriété s'applique uniquement lorsque NetworkType est classic. Exemple : tableau JSON au format ["42.1.XX.XX", "42.1.XX.XX", … "42.1.XX.XX"], contenant jusqu'à 100 adresses IP séparées par des virgules (,).

  • HostNames : liste des noms d'hôte de toutes les instances.

  • OrderId : liste des ID de commande associés aux instances.

  • ZoneIds : identifiants des zones où les instances sont déployées.

  • RelatedOrderIds : liste des ID de commande connexes pour les instances ECS créées.

  • Ipv6AddressIds : liste des ID d'adresses IPv6 pour les instances ECS créées.

    Remarque

    Le type de retour est une liste à deux dimensions. Si une instance ne possède aucune adresse IPv6, l'élément correspondant dans la liste est vide. Si aucune instance n'a d'adresse IP, la valeur retournée est null.

  • Ipv6Addresses : liste des adresses IPv6 pour les instances ECS créées.

    Remarque

    Le type de retour est une liste à deux dimensions. Si une instance ne possède aucune adresse IPv6, l'élément correspondant dans la liste est vide. Si aucune instance n'a d'adresse IPv6, la valeur retournée est null.

Exemples

Scénario 1 : Création de deux instances ECS avec connexion sans mot de passe.

Création rapide

ROSTemplateFormatVersion: '2015-09-01'
Description: Creates VPC ECS instance
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description:
      en: Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud
      zh-cn: Existing virtual private cloud instance ID
    Label:
      en: VPC ID
      zh-cn: Virtual private cloud instance ID
  VSwitchZoneId:
    AssociationProperty: ALIYUN::ECS::Instance:ZoneId
    Type: String
    Description:
      zh-cn: vSwitch zone
      en: VSwitch Availability Zone
    Label:
      zh-cn: vSwitch zone
      en: VSwitch Availability Zone
  VSwitchId:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
      ZoneId: ${VSwitchZoneId}
    Type: String
    Description:
      en: Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query
      zh-cn: Existing business network switch instance ID
    Label:
      en: VSwitch ID
      zh-cn: Switch instance ID
  SecurityGroupId:
    Type: String
    AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
    Description:
      en: Please search the business security group ID starting with(sg-xxx)from console-ECS-Network & Security
      zh-cn: Existing business security group instance ID
    Label:
      en: Business Security Group ID
      zh-cn: Business security group ID
  InstanceType:
    Type: String
    Description:
      zh-cn: Specify specifications available in the vSwitch zone.
      en: Fill in the specifications that can be used under the VSwitch availability zone.
    Label:
      zh-cn: Instance type
      en: Instance Type
    AssociationProperty: ALIYUN::ECS::Instance::InstanceType
    AssociationPropertyMetadata:
      ZoneId: ${VSwitchZoneId}
  SystemDiskCategory:
    Type: String
    Label:
      en: System Disk Type
      zh-cn: System disk type
    Description:
      en: System Disk Type
      zh-cn: System disk type
    AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
    AssociationPropertyMetadata:
      ZoneId: ${VSwitchZoneId}
      InstanceType: ${InstanceType}
Resources:
  OpsEcsInstance:
    Type: ALIYUN::ECS::InstanceGroup
    Properties:
      MaxAmount: 1
      HostName: OpsEcsInstance
      UserData:
        Fn::Sub:
          - |
            #!/bin/bash
            RootPassword=${RootPassword}
            ProdIP=${ProdIP}
            SSHConfig() {
            echo '[ ! -f /root/.ssh/id_rsa.pub ] && ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa &>/dev/null' >> /tmp/auto_ssh.sh
            echo 'while read line;do' >> /tmp/auto_ssh.sh
            echo '        ip=`echo $line | cut -d " " -f1`' >> /tmp/auto_ssh.sh
            echo '        user_name=`echo $line | cut -d " " -f2`' >> /tmp/auto_ssh.sh
            echo '        pass_word=`echo $line | cut -d " " -f3`' >> /tmp/auto_ssh.sh
            echo 'expect <<EOF' >> /tmp/auto_ssh.sh
            echo '        spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $user_name@$ip' >> /tmp/auto_ssh.sh
            echo '        expect {' >> /tmp/auto_ssh.sh
            echo '                  "yes/no" { send "yes\n";exp_continue}' >> /tmp/auto_ssh.sh
            echo '                  "password" { send "$pass_word\n"}' >> /tmp/auto_ssh.sh
            echo '        }' >> /tmp/auto_ssh.sh
            echo '        expect eof' >> /tmp/auto_ssh.sh
            echo 'EOF' >> /tmp/auto_ssh.sh
            echo 'done < /tmp/host_ip.txt' >> /tmp/auto_ssh.sh
            }
            SetHostsConfig() {
            echo "`ifconfig eth0 | awk '/inet /{print $2}'` root ${RootPassword}" >> /tmp/host_ip.txt
            echo "${ProdIP} root ${RootPassword}" >> /tmp/host_ip.txt
            sh /tmp/auto_ssh.sh
            }
            main() {
            yum install -y expect
            SSHConfig
            SetHostsConfig
            rm -rf /tmp/host_ip.txt
            }
            main
          - ProdIP:
              Fn::Select:
                - '0'
                - Fn::GetAtt:
                    - ProdEcsInstance
                    - PrivateIps
            RootPassword: Admin@123!
      VpcId:
        Ref: VpcId
      SecurityGroupId:
        Ref: SecurityGroupId
      VSwitchId:
        Ref: VSwitchId
      ImageId: centos_7
      AllocatePublicIP: false
      InstanceType:
        Ref: InstanceType
      SystemDiskSize: 40
      SystemDiskCategory:
        Ref: SystemDiskCategory
      Password: Admin@123!
  ProdEcsInstance:
    Type: ALIYUN::ECS::InstanceGroup
    Properties:
      MaxAmount: 1
      HostName: ProdEcsInstance
      SystemDiskCategory:
        Ref: SystemDiskCategory
      VpcId:
        Ref: VpcId
      SecurityGroupId:
        Ref: SecurityGroupId
      SystemDiskSize: 40
      ImageId: centos_7
      VSwitchId:
        Ref: VSwitchId
      Password: Admin@123!
      InstanceType:
        Ref: InstanceType
      AllocatePublicIP: false
Outputs: {}                  
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Creates VPC ECS instance",
  "Parameters": {
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": {
        "en": "Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud",
        "zh-cn": "Existing virtual private cloud instance ID"
      },
      "Label": {
        "en": "VPC ID",
        "zh-cn": "Virtual private cloud instance ID"
      }
    },
    "VSwitchZoneId": {
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId",
      "Type": "String",
      "Description": {
        "zh-cn": "vSwitch zone",
        "en": "VSwitch Availability Zone"
      },
      "Label": {
        "zh-cn": "vSwitch zone",
        "en": "VSwitch Availability Zone"
      }
    },
    "VSwitchId": {
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}",
        "ZoneId": "${VSwitchZoneId}"
      },
      "Type": "String",
      "Description": {
        "en": "Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query",
        "zh-cn": "Existing business network switch instance ID"
      },
      "Label": {
        "en": "VSwitch ID",
        "zh-cn": "Switch instance ID"
      }
    },
    "SecurityGroupId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}"
      },
      "Description": {
        "en": "Please search the business security group ID starting with(sg-xxx)from console-ECS-Network & Security",
        "zh-cn": "Existing business security group instance ID"
      },
      "Label": {
        "en": "Business Security Group ID",
        "zh-cn": "Business security group ID"
      }
    },
    "InstanceType": {
      "Type": "String",
      "Description": {
        "zh-cn": "Specify specifications available in the vSwitch zone.",
        "en": "Fill in the specifications that can be used under the VSwitch availability zone."
      },
      "Label": {
        "zh-cn": "Instance type",
        "en": "Instance Type"
      },
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
      "AssociationPropertyMetadata": {
        "ZoneId": "${VSwitchZoneId}"
      }
    },
    "SystemDiskCategory": {
      "Type": "String",
      "Label": {
        "en": "System Disk Type",
        "zh-cn": "System disk type"
      },
      "Description": {
        "en": "System Disk Type",
        "zh-cn": "System disk type"
      },
      "AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory",
      "AssociationPropertyMetadata": {
        "ZoneId": "${VSwitchZoneId}",
        "InstanceType": "${InstanceType}"
      }
    }
  },
  "Resources": {
    "OpsEcsInstance": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Properties": {
        "MaxAmount": 1,
        "HostName": "OpsEcsInstance",
        "UserData": {
          "Fn::Sub": [
            "#!/bin/bash\nRootPassword=${RootPassword}\nProdIP=${ProdIP}\nSSHConfig() {\necho '[ ! -f /root/.ssh/id_rsa.pub ] && ssh-keygen -t rsa -P \"\" -f ~/.ssh/id_rsa &>/dev/null' >> /tmp/auto_ssh.sh\necho 'while read line;do' >> /tmp/auto_ssh.sh\necho '        ip=`echo $line | cut -d \" \" -f1`' >> /tmp/auto_ssh.sh\necho '        user_name=`echo $line | cut -d \" \" -f2`' >> /tmp/auto_ssh.sh\necho '        pass_word=`echo $line | cut -d \" \" -f3`' >> /tmp/auto_ssh.sh\necho 'expect <<EOF' >> /tmp/auto_ssh.sh\necho '        spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $user_name@$ip' >> /tmp/auto_ssh.sh\necho '        expect {' >> /tmp/auto_ssh.sh\necho '                  \"yes/no\" { send \"yes\\n\";exp_continue}' >> /tmp/auto_ssh.sh\necho '                  \"password\" { send \"$pass_word\\n\"}' >> /tmp/auto_ssh.sh\necho '        }' >> /tmp/auto_ssh.sh\necho '        expect eof' >> /tmp/auto_ssh.sh\necho 'EOF' >> /tmp/auto_ssh.sh\necho 'done < /tmp/host_ip.txt' >> /tmp/auto_ssh.sh\n}\nSetHostsConfig() {\necho \"`ifconfig eth0 | awk '/inet /{print $2}'` root ${RootPassword}\" >> /tmp/host_ip.txt\necho \"${ProdIP} root ${RootPassword}\" >> /tmp/host_ip.txt\nsh /tmp/auto_ssh.sh\n}\nmain() {\nyum install -y expect\nSSHConfig\nSetHostsConfig\nrm -rf /tmp/host_ip.txt\n}\nmain\n",
            {
              "ProdIP": {
                "Fn::Select": [
                  "0",
                  {
                    "Fn::GetAtt": [
                      "ProdEcsInstance",
                      "PrivateIps"
                    ]
                  }
                ]
              },
              "RootPassword": "Admin@123!"
            }
          ]
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "ImageId": "centos_7",
        "AllocatePublicIP": false,
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "SystemDiskSize": 40,
        "SystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "Password": "Admin@123!"
      }
    },
    "ProdEcsInstance": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Properties": {
        "MaxAmount": 1,
        "HostName": "ProdEcsInstance",
        "SystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        },
        "SystemDiskSize": 40,
        "ImageId": "centos_7",
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "Password": "Admin@123!",
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "AllocatePublicIP": false
      }
    }
  },
  "Outputs": {}
}

Scénario 2 : Création d'instances ECS par lot et mise à jour des configurations.

À propos d'UpdatePolicy

Après avoir créé un groupe d'instances ECS à l'aide de ALIYUN::ECS::InstanceGroup, utilisez la propriété UpdatePolicy pour contrôler l'application des mises à jour de configuration sur les instances existantes.

Syntaxe d'UpdatePolicy

"UpdatePolicy": {
  "RollingUpdateForOrigInstances": Map
}

Propriétés d'UpdatePolicy

Nom de la propriété

Type

Obligatoire

Modifiable

Description

Contrainte

RollingUpdateForOrigInstances

Map

Non

Oui

Stratégie de contrôle pour la mise à jour des instances ECS existantes.

Cette politique ne s'applique pas aux nouvelles instances ECS.

Consultez la section Propriétés de RollingUpdateForOrigInstances.

Syntaxe de RollingUpdateForOrigInstances

"RollingUpdateForOrigInstances": {
  "MaxBatchSize": Integer,
  "PauseTime": Integer
}

Propriétés de RollingUpdateForOrigInstances

Nom de la propriété

Type

Obligatoire

Mises à jour autorisées

Description

Contrainte

MaxBatchSize

Integer

Oui

Oui

Nombre d'instances ECS mises à jour par lot.

Valeurs valides : de 1 à 1000.

PauseTime

Integer

Non

Oui

Durée de pause entre les lots, en secondes. La valeur par défaut est 0.

Valeurs valides : de 0 à 3600.

Créez un groupe de cinq instances ECS avec des configurations identiques à l'aide du modèle suivant.

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  Instance:
    Type: ALIYUN::ECS::InstanceGroup
    Properties:
      MaxAmount: 5
      InstanceType: xxxx
      ImageId: centos
      VpcId: vpc-2xxxx
      VSwitchId: vsw-xxxx
      SecurityGroupId: sg-xxxxx
      Password: Ros1gregrge2345
      InstanceChargeType: PostPaid
      NetworkType: vpc
      SystemDiskCategory: xxx
      SystemDiskSize: 100
      InternetMaxBandwidthOut: 5
      AllocatePublicIP: true
{
    "ROSTemplateFormatVersion": "2015-09-01",
    "Resources": {
        "Instance": {
            "Type": "ALIYUN::ECS::InstanceGroup",
            "Properties": {
                "MaxAmount": 5,
                "InstanceType": "xxxx",
                "ImageId": "centos",
                "VpcId": "vpc-2xxxx",
                "VSwitchId": "vsw-xxxx",
                "SecurityGroupId": "sg-xxxxx",
                "Password": "Ros1gregrge2345",
                "InstanceChargeType": "PostPaid",
                "NetworkType": "vpc",
                "SystemDiskCategory": "xxx",
                "SystemDiskSize": 100,
                "InternetMaxBandwidthOut": 5,
                "AllocatePublicIP": true
            }
        }
    }
}

Une fois la pile créée avec succès, mettez à jour les configurations des instances ECS existantes à l'aide de la propriété UpdatePolicy.

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  Instance:
    Type: ALIYUN::ECS::InstanceGroup
    UpdatePolicy:
      RollingUpdateForOrigInstances:
        MaxBatchSize: 2
        PauseTime: 0
    Properties:
      MaxAmount: 10
      InstanceType: xxxx
      ImageId: centos
      VpcId: vpc-2xxxx
      VSwitchId: vsw-xxxx
      SecurityGroupId: sg-xxxxx
      Password: Ros1gregrge2345
      InstanceChargeType: PostPaid
      NetworkType: vpc
      SystemDiskCategory: xxx
      SystemDiskSize: 100
      InternetMaxBandwidthOut: 5
      AllocatePublicIP: true
{
    "ROSTemplateFormatVersion": "2015-09-01",
    "Resources": {
        "Instance": {
            "Type": "ALIYUN::ECS::InstanceGroup",
            "UpdatePolicy": {
                "RollingUpdateForOrigInstances": {
                    "MaxBatchSize": 2,
                    "PauseTime": 0
                }
            },
            "Properties": {
                "MaxAmount": 10,
                "InstanceType": "xxxx",
                "ImageId": "centos",
                "VpcId": "vpc-2xxxx",
                "VSwitchId": "vsw-xxxx",
                "SecurityGroupId": "sg-xxxxx",
                "Password": "Ros1gregrge2345",
                "InstanceChargeType": "PostPaid",
                "NetworkType": "vpc",
                "SystemDiskCategory": "xxx",
                "SystemDiskSize": 100,
                "InternetMaxBandwidthOut": 5,
                "AllocatePublicIP": true
            }
        }
    }
}

Avec MaxBatchSize défini sur 2, les cinq instances initiales sont mises à jour en trois lots (2, 2 et 1) lors de la mise à jour de la pile. Les cinq instances supplémentaires sont créées simultanément.

Scénario 3 : Créer deux instances ECS et les attacher à un groupe de serveurs Classic Load Balancer (CLB).

Création rapide

ROSTemplateFormatVersion: '2015-09-01'
            Description:
              zh-cn: 创建SLB与2个ECS实例,配置网络与安全组,将ECS实例加入SLB后端。
              en: Create an SLB (Server Load Balancer) with two ECS (Elastic Compute Service) instances, configure the network and security groups, then add the ECS instances to the SLB backend.
            Parameters:
              SystemDiskCategory:
                AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
                AssociationPropertyMetadata:
                  InstanceType: ${ECSInstanceType}
                  ZoneId: ${ZoneId}
                Type: String
                Label:
                  zh-cn: 系统盘类型
                  en: System Disk Category
              AddressType:
                Default: internet
                Label:
                  zh-cn: 网络类型
                  en: Address Type
                Type: String
                Description:
                  zh-cn: 负载均衡实例的网络类型,可选值:internet:公网访问,intranet:内网访问。
                  en: 'Network type of LoadBalancer. Optional value: Internet: public network access, Intranet: Intranet access.'
                AllowedValues:
                  - internet
                  - intranet
              ECSInternetChargeType:
                AssociationPropertyMetadata:
                  LocaleKey: InternetChargeType
                Description:
                  zh-cn: 访问公网计费方式。
                  en: The charge type of public internet ECS instance.
                Default: PayByTraffic
                Label:
                  zh-cn: 公网付费方式
                  en: Internet Charge Type
                AllowedValues:
                  - PayByBandwidth
                  - PayByTraffic
                Type: String
              ECSInstanceType:
                AssociationProperty: ALIYUN::ECS::Instance::ECSInstanceType
                AssociationPropertyMetadata:
                  ZoneId: ${ZoneId}
                Type: String
                Description:
                  zh-cn: <font color='blue'><b>1.选择机型前请先确认当前可用区下该机型是否有货,部分机型需要提前报备</b></font><br><font color='blue'><b>2.可选机型列表</font><br></b></font>[ecs.n1.large <font color='green'>2vCPU 4GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8vCPU 16GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16vCPU 32GiB</font>]
                  en: <font color='blue'><b>1.Before selecting the model please confirm that the current available zone under the model is in stock, some models need to be reported in advance</b></font><br><font color='blue'><b>2.List of optional models</font><br></b></font>[ecs.n1.large <font color='green'>2vCPU 4GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8vCPU 16GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16vCPU 32GiB</font>]
                Label:
                  zh-cn: 实例规格
                  en: Instance Type
              Password:
                ConstraintDescription:
                  zh-cn: 长度8-30,必须包含大写字母, 小写字母, 数字, 特殊符号三种;特殊字符包括:()`~!@#$%^&*_-+=|{}[]:;' <>,.?/
                  en: 'Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/'
                Description:
                  zh-cn: 长度8-30,必须包含大写字母, 小写字母, 数字, 特殊符号三个;<br>特殊字符包括:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
                  en: The 8-30 long login password of instance, consists of the uppercase, lowercase letter and number. <br> special characters include()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
                MinLength: '8'
                Label:
                  zh-cn: 实例密码
                  en: Instance Password
                AllowedPattern: '[0-9A-Za-z\_\-&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
                NoEcho: true
                MaxLength: '30'
                Type: String
              ImageId:
                Default: centos_7_04_64_20G_alibase_201701015.vhd
                AssociationProperty: ALIYUN::ECS::Image::ImageId
                AssociationPropertyMetadata:
                  InstanceType: ${ECSInstanceType}
                  SupportedImageOwnerAlias:
                    - system
                    - self
                    - others
                Type: String
                Label:
                  zh-cn: 镜像ID
                  en: Image ID
              Bandwidth:
                Description:
                  zh-cn: 固定带宽计费方式的公网类型实例的带宽峰值。
                  en: The bandwidth peak of a public network type instance of fixed bandwidth billing.
                Default: 1
                MaxValue: 1000
                MinValue: 1
                Label:
                  zh-cn: 带宽峰值
                  en: The Peak Bandwidth
                Type: Number
              SLBInternetChargeType:
                AssociationPropertyMetadata:
                  LocaleKey: InternetChargeType
                Description:
                  zh-cn: 公网类型实例的付费方式。
                  en: The charge type of public internet SLB instance.
                Default: paybytraffic
                Label:
                  zh-cn: 公网付费方式
                  en: Internet Charge Type
                AllowedValues:
                  - paybybandwidth
                  - paybytraffic
                Type: String
              LoadBalancerSpec:
                Default: slb.s1.small
                Type: String
                Description:
                  zh-cn: 实例规格,详见:</b><a href='https://www.alibabacloud.com/help/document_detail/85939.html' target='_blank'><b><font color='blue'>性能保障型</b></font></a>
                  en: Instance specifications, see detail:</b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html' target='_blank'><b><font color='blue'>Performance support type</b></font></a>
                Label:
                  zh-cn: 实例规格
                  en: Instance Specification
              ZoneId:
                AssociationProperty: ALIYUN::ECS::Instance::ZoneId
                Type: String
                Description:
                  zh-cn: 可用区ID,需确认所选可用区下是否支持ECS, VPC, VSwitch等资源。
                  en: The available zone ID, you should confirm the zone support ECS, VPC, VSwitch or not.
                Label:
                  zh-cn: 可用区ID
                  en: Zone ID
            Outputs:
              BackendServerInstanceId:
                Description:
                  zh-cn: 创建ECS的实例IDs
                  en: The instance IDs of create EcsInstanceGroup
                Value:
                  Fn::GetAtt:
                    - EcsInstanceGroup
                    - InstanceIds
              BackendServerPublicIp:
                Description:
                  zh-cn: 创建ECS的实例公共IPs。
                  en: The instance public IPs of create EcsInstanceGroup.
                Value:
                  Fn::GetAtt:
                    - EcsInstanceGroup
                    - PublicIps
              SlbIpAddress:
                Description:
                  zh-cn: 负载均衡器的IP地址。
                  en: The IP address of the load balancer.
                Value:
                  Fn::GetAtt:
                    - LoadBalancer
                    - IpAddress
              LoadBalancerId:
                Description:
                  zh-cn: 已创建负载平衡的ID。
                  en: The ID of load balance created.
                Value:
                  Fn::GetAtt:
                    - LoadBalancer
                    - LoadBalancerId
            Resources:
              SecurityGroup:
                Type: ALIYUN::ECS::SecurityGroup
                Properties:
                  VpcId:
                    Ref: Vpc
                  SecurityGroupName: MySecurityGroup
              Attachment:
                Type: ALIYUN::SLB::BackendServerAttachment
                Properties:
                  BackendServers:
                    - ServerId:
                        Fn::Select:
                          - '0'
                          - Fn::GetAtt:
                              - EcsInstanceGroup
                              - InstanceIds
                      Weight: 100
                    - ServerId:
                        Fn::Select:
                          - '1'
                          - Fn::GetAtt:
                              - EcsInstanceGroup
                              - InstanceIds
                      Weight: 100
                  LoadBalancerId:
                    Ref: LoadBalancer
              Vpc:
                Type: ALIYUN::ECS::VPC
                Properties:
                  CidrBlock: 192.168.0.0/16
              EcsInstanceGroup:
                Type: ALIYUN::ECS::InstanceGroup
                Properties:
                  SystemDiskCategory:
                    Ref: SystemDiskCategory
                  VpcId:
                    Fn::GetAtt:
                      - Vpc
                      - VpcId
                  SecurityGroupId:
                    Fn::GetAtt:
                      - SecurityGroup
                      - SecurityGroupId
                  ImageId:
                    Ref: ImageId
                  IoOptimized: optimized
                  InternetChargeType:
                    Ref: ECSInternetChargeType
                  VSwitchId:
                    Ref: VSwitch
                  Password:
                    Ref: Password
                  InstanceType:
                    Ref: ECSInstanceType
                  MaxAmount: 2
              VSwitch:
                Type: ALIYUN::ECS::VSwitch
                Properties:
                  VpcId:
                    Ref: Vpc
                  CidrBlock: 192.168.1.0/24
                  ZoneId:
                    Ref: ZoneId
              LoadBalancer:
                Type: ALIYUN::SLB::LoadBalancer
                Properties:
                  InternetChargeType:
                    Ref: SLBInternetChargeType
                  Bandwidth:
                    Ref: Bandwidth
                  AddressType:
                    Ref: AddressType
                  LoadBalancerSpec:
                    Ref: LoadBalancerSpec
            Metadata:
              ALIYUN::ROS::Interface:
                ParameterGroups:
                  - Parameters:
                      - ZoneId
                      - ECSInternetChargeType
                      - ECSInstanceType
                      - ImageId
                      - SystemDiskCategory
                      - Password
                    Label:
                      default:
                        zh-cn: 云服务器
                        en: ECS
                  - Parameters:
                      - LoadBalancerSpec
                      - AddressType
                      - SLBInternetChargeType
                      - Bandwidth
                    Label:
                      default:
                        zh-cn: 负载均衡
                        en: SLB
            
{
              "ROSTemplateFormatVersion": "2015-09-01",
              "Description": {
                "zh-cn": "创建SLB与2个ECS实例,配置网络与安全组,将ECS实例加入SLB后端。",
                "en": "Create an SLB (Server Load Balancer) with two ECS (Elastic Compute Service) instances, configure the network and security groups, then add the ECS instances to the SLB backend."
              },
              "Parameters": {
                "SystemDiskCategory": {
                  "AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory",
                  "AssociationPropertyMetadata": {
                    "InstanceType": "${ECSInstanceType}",
                    "ZoneId": "${ZoneId}"
                  },
                  "Type": "String",
                  "Label": {
                    "zh-cn": "系统盘类型",
                    "en": "System Disk Category"
                  }
                },
                "AddressType": {
                  "Default": "internet",
                  "Label": {
                    "zh-cn": "网络类型",
                    "en": "Address Type"
                  },
                  "Type": "String",
                  "Description": {
                    "zh-cn": "负载均衡实例的网络类型,可选值:internet:公网访问,intranet:内网访问。",
                    "en": "Network type of LoadBalancer. Optional value: Internet: public network access, Intranet: Intranet access."
                  },
                  "AllowedValues": [
                    "internet",
                    "intranet"
                  ]
                },
                "ECSInternetChargeType": {
                  "AssociationPropertyMetadata": {
                    "LocaleKey": "InternetChargeType"
                  },
                  "Description": {
                    "zh-cn": "访问公网计费方式。",
                    "en": "The charge type of public internet ECS instance."
                  },
                  "Default": "PayByTraffic",
                  "Label": {
                    "zh-cn": "公网付费方式",
                    "en": "Internet Charge Type"
                  },
                  "AllowedValues": [
                    "PayByBandwidth",
                    "PayByTraffic"
                  ],
                  "Type": "String"
                },
                "ECSInstanceType": {
                  "AssociationProperty": "ALIYUN::ECS::Instance::ECSInstanceType",
                  "AssociationPropertyMetadata": {
                    "ZoneId": "${ZoneId}"
                  },
                  "Type": "String",
                  "Description": {
                    "zh-cn": "<font color='blue'><b>1.选择机型前请先确认当前可用区下该机型是否有货,部分机型需要提前报备</b></font><br><font color='blue'><b>2.可选机型列表</font><br></b></font>[ecs.n1.large <font color='green'>2vCPU 4GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8vCPU 16GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16vCPU 32GiB</font>]",
                    "en": "<font color='blue'><b>1.Before selecting the model please confirm that the current available zone under the model is in stock, some models need to be reported in advance</b></font><br><font color='blue'><b>2.List of optional models</font><br></b></font>[ecs.n1.large <font color='green'>2vCPU 4GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8vCPU 16GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16vCPU 32GiB</font>]"
                  },
                  "Label": {
                    "zh-cn": "实例规格",
                    "en": "Instance Type"
                  }
                },
                "Password": {
                  "ConstraintDescription": {
                    "zh-cn": "长度8-30,必须包含大写字母, 小写字母, 数字, 特殊符号三种;特殊字符包括:()`~!@#$%^&*_-+=|{}[]:;' <>,.?/",
                    "en": "Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
                  },
                  "Description": {
                    "zh-cn": "长度8-30,必须包含大写字母, 小写字母, 数字, 特殊符号三个;<br>特殊字符包括:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/",
                    "en": "The 8-30 long login password of instance, consists of the uppercase, lowercase letter and number. <br> special characters include()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
                  },
                  "MinLength": "8",
                  "Label": {
                    "zh-cn": "实例密码",
                    "en": "Instance Password"
                  },
                  "AllowedPattern": "[0-9A-Za-z\\_\\-&:;'<>,=%`~!@#\\(\\)\\$\\^\\*\\+\\|\\{\\}\\[\\]\\.\\?\\/]+$",
                  "NoEcho": true,
                  "MaxLength": "30",
                  "Type": "String"
                },
                "ImageId": {
                  "Default": "centos_7_04_64_20G_alibase_201701015.vhd",
                  "AssociationProperty": "ALIYUN::ECS::Image::ImageId",
                  "AssociationPropertyMetadata": {
                    "InstanceType": "${ECSInstanceType}",
                    "SupportedImageOwnerAlias": [
                      "system",
                      "self",
                      "others"
                    ]
                  },
                  "Type": "String",
                  "Label": {
                    "zh-cn": "镜像ID",
                    "en": "Image ID"
                  }
                },
                "Bandwidth": {
                  "Description": {
                    "zh-cn": "固定带宽计费方式的公网类型实例的带宽峰值。",
                    "en": "The bandwidth peak of a public network type instance of fixed bandwidth billing."
                  },
                  "Default": 1,
                  "MaxValue": 1000,
                  "MinValue": 1,
                  "Label": {
                    "zh-cn": "带宽峰值",
                    "en": "The Peak Bandwidth"
                  },
                  "Type": "Number"
                },
                "SLBInternetChargeType": {
                  "AssociationPropertyMetadata": {
                    "LocaleKey": "InternetChargeType"
                  },
                  "Description": {
                    "zh-cn": "公网类型实例的付费方式。",
                    "en": "The charge type of public internet SLB instance."
                  },
                  "Default": "paybytraffic",
                  "Label": {
                    "zh-cn": "公网付费方式",
                    "en": "Internet Charge Type"
                  },
                  "AllowedValues": [
                    "paybybandwidth",
                    "paybytraffic"
                  ],
                  "Type": "String"
                },
                "LoadBalancerSpec": {
                  "Default": "slb.s1.small",
                  "Type": "String",
                  "Description": {
                    "zh-cn": "实例规格,详见:</b><a href='https://www.alibabacloud.com/help/document_detail/85939.html' target='_blank'><b><font color='blue'>性能保障型</b></font></a>",
                    "en": "Instance specifications, see detail:</b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html' target='_blank'><b><font color='blue'>Performance support type</b></font></a>"
                  },
                  "Label": {
                    "zh-cn": "实例规格",
                    "en": "Instance Specification"
                  }
                },
                "ZoneId": {
                  "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
                  "Type": "String",
                  "Description": {
                    "zh-cn": "可用区ID,需确认所选可用区下是否支持ECS, VPC, VSwitch等资源。",
                    "en": "The available zone ID, you should confirm the zone support ECS, VPC, VSwitch or not."
                  },
                  "Label": {
                    "zh-cn": "可用区ID",
                    "en": "Zone ID"
                  }
                }
              },
              "Outputs": {
                "BackendServerInstanceId": {
                  "Description": {
                    "zh-cn": "创建ECS的实例IDs",
                    "en": "The instance IDs of create EcsInstanceGroup"
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "EcsInstanceGroup",
                      "InstanceIds"
                    ]
                  }
                },
                "BackendServerPublicIp": {
                  "Description": {
                    "zh-cn": "创建ECS的实例公共IPs。",
                    "en": "The instance public IPs of create EcsInstanceGroup."
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "EcsInstanceGroup",
                      "PublicIps"
                    ]
                  }
                },
                "SlbIpAddress": {
                  "Description": {
                    "zh-cn": "负载均衡器的IP地址。",
                    "en": "The IP address of the load balancer."
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "LoadBalancer",
                      "IpAddress"
                    ]
                  }
                },
                "LoadBalancerId": {
                  "Description": {
                    "zh-cn": "已创建负载平衡的ID。",
                    "en": "The ID of load balance created."
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "LoadBalancer",
                      "LoadBalancerId"
                    ]
                  }
                }
              },
              "Resources": {
                "SecurityGroup": {
                  "Type": "ALIYUN::ECS::SecurityGroup",
                  "Properties": {
                    "VpcId": {
                      "Ref": "Vpc"
                    },
                    "SecurityGroupName": "MySecurityGroup"
                  }
                },
                "Attachment": {
                  "Type": "ALIYUN::SLB::BackendServerAttachment",
                  "Properties": {
                    "BackendServers": [
                      {
                        "ServerId": {
                          "Fn::Select": [
                            "0",
                            {
                              "Fn::GetAtt": [
                                "EcsInstanceGroup",
                                "InstanceIds"
                              ]
                            }
                          ]
                        },
                        "Weight": 100
                      },
                      {
                        "ServerId": {
                          "Fn::Select": [
                            "1",
                            {
                              "Fn::GetAtt": [
                                "EcsInstanceGroup",
                                "InstanceIds"
                              ]
                            }
                          ]
                        },
                        "Weight": 100
                      }
                    ],
                    "LoadBalancerId": {
                      "Ref": "LoadBalancer"
                    }
                  }
                },
                "Vpc": {
                  "Type": "ALIYUN::ECS::VPC",
                  "Properties": {
                    "CidrBlock": "192.168.0.0/16"
                  }
                },
                "EcsInstanceGroup": {
                  "Type": "ALIYUN::ECS::InstanceGroup",
                  "Properties": {
                    "SystemDiskCategory": {
                      "Ref": "SystemDiskCategory"
                    },
                    "VpcId": {
                      "Fn::GetAtt": [
                        "Vpc",
                        "VpcId"
                      ]
                    },
                    "SecurityGroupId": {
                      "Fn::GetAtt": [
                        "SecurityGroup",
                        "SecurityGroupId"
                      ]
                    },
                    "ImageId": {
                      "Ref": "ImageId"
                    },
                    "IoOptimized": "optimized",
                    "InternetChargeType": {
                      "Ref": "ECSInternetChargeType"
                    },
                    "VSwitchId": {
                      "Ref": "VSwitch"
                    },
                    "Password": {
                      "Ref": "Password"
                    },
                    "InstanceType": {
                      "Ref": "ECSInstanceType"
                    },
                    "MaxAmount": 2
                  }
                },
                "VSwitch": {
                  "Type": "ALIYUN::ECS::VSwitch",
                  "Properties": {
                    "VpcId": {
                      "Ref": "Vpc"
                    },
                    "CidrBlock": "192.168.1.0/24",
                    "ZoneId": {
                      "Ref": "ZoneId"
                    }
                  }
                },
                "LoadBalancer": {
                  "Type": "ALIYUN::SLB::LoadBalancer",
                  "Properties": {
                    "InternetChargeType": {
                      "Ref": "SLBInternetChargeType"
                    },
                    "Bandwidth": {
                      "Ref": "Bandwidth"
                    },
                    "AddressType": {
                      "Ref": "AddressType"
                    },
                    "LoadBalancerSpec": {
                      "Ref": "LoadBalancerSpec"
                    }
                  }
                }
              },
              "Metadata": {
                "ALIYUN::ROS::Interface": {
                  "ParameterGroups": [
                    {
                      "Parameters": [
                        "ZoneId",
                        "ECSInternetChargeType",
                        "ECSInstanceType",
                        "ImageId",
                        "SystemDiskCategory",
                        "Password"
                      ],
                      "Label": {
                        "default": {
                          "zh-cn": "云服务器",
                          "en": "ECS"
                        }
                      }
                    },
                    {
                      "Parameters": [
                        "LoadBalancerSpec",
                        "AddressType",
                        "SLBInternetChargeType",
                        "Bandwidth"
                      ],
                      "Label": {
                        "default": {
                          "zh-cn": "负载均衡",
                          "en": "SLB"
                        }
                      }
                    }
                  ]
                }
              }
            }

Pour consulter d'autres exemples, reportez-vous aux modèles publics contenant cette ressource.