Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::ECS::InstanceGroup

Dernière mise à jour :Oct 10, 2026

Le type ALIYUN::ECS::InstanceGroup permet de créer un groupe d'instances ECS partageant la même configuration.

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

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

InstanceType

String

Oui

Oui

Type d'instance ECS.

Pour plus d'informations, consultez la rubrique Families of instances.

Remarque

Lorsque le paramètre UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

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 la valeur de 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 ne dispose pas de ressources suffisantes lors du redémarrage de l'instance, celle-ci est placée sur un autre Dedicated Host dans le 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 ne dispose pas de ressources suffisantes lors du redémarrage de l'instance, le redémarrage é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". L'heure de libération ne peut pas dépasser 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

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

AutoRenewPeriod

Number

Non

Oui

Durée de chaque renouvellement automatique.

Ce paramètre est obligatoire 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 ne s'applique qu'aux nouvelles instances ECS ajoutées.

CpuOptions

Map

Non

Non

Propriétés liées au CPU.

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

CreditSpecification

String

Non

Oui

Définit le mode de fonctionnement d'une instance à performances extensibles.

Valeurs valides :

  • Standard : mode standard.

  • Unlimited : mode illimité.

Pour connaître les limites de performance, consultez la rubrique Vue d'ensemble des instances à performances extensibles.

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 sa libération via la console ou l'API DeleteInstance.

Valeurs valides :

true : active la protection.

false : désactive la protection.

DeploymentSetGroupNo

Integer

Non

Non

Si votre ensemble de déploiement utilise la politique de haute disponibilité (AvailabilityGroup), spécifiez le numéro de groupe pour 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 ne s'applique qu'aux nouvelles instances ECS ajoutées.

Description

String

Non

Oui

Description.

Longueur maximale : 256 caractères.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajouté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 la section Propriétés DiskMappings.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajouté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 la section 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 la rubrique Paramètres de requête.

HostNames

List

Non

Non

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

Aucune

HpcClusterId

String

Non

Oui

ID du cluster HPC auquel appartient l'instance.

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajouté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)

  • disabled.

Remarque

Pour connaître les modes d'accès aux métadonnées, consultez la rubrique Métadonnées d'instance.

HttpTokens

String

Non

Oui

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

Valeurs valides :

  • optional (par défaut) : non appliqué.

  • required : applique IMDSv2. Une fois cette valeur définie, le mode standard ne peut plus accéder aux métadonnées de l'instance.

Remarque

Pour connaître les modes d'accès aux métadonnées, consultez la rubrique 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 le paramètre LaunchTemplateId ou LaunchTemplateName spécifié définit un paramètre ImageId, vous ne pouvez pas définir ce paramètre.

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

Remarque

Pour obtenir des informations sur les familles d'images pour les images officielles Alibaba Cloud, consultez la rubrique 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 en utilisant 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 la rubrique Paramètres de requête.

Remarque

Lorsque le paramètre UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

ImageOptions

Map

Non

Non

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

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

InstanceChargeType

String

Non

Oui

Mode de facturation sélectionné par le payeur pour l'instance.

Valeurs valides :

  • PrePaid : le paiement est collecté à l'avance pour un abonnement.

    Remarque

    Si vous sélectionnez PrePaid, vérifiez que votre compte prend en charge le paiement par solde ou par crédit. Sinon, le système renvoie une erreur InvalidPayMethod.

  • PostPaid (par défaut) : paiement à l'utilisation. Cette mise à jour de paramètre s'applique uniquement aux nouvelles instances ECS.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

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 la rubrique Paramètres de requête.

InternetChargeType

String

Non

Oui

Mode de facturation pour la bande passante d'accès au réseau public.

Valeurs valides :

  • PayByBandwidth : paiement par bande passante.

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

Remarque

Lorsque le paramètre UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

InternetMaxBandwidthOut

Integer

Non

Oui

Bande passante publique sortante maximale.

Valeurs valides : 0 à 100.

Unité : Mbit/s.

Valeur par défaut : 0.

Remarque

Lorsque le paramètre UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

IoOptimized

String

Non

Non

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

Valeurs valides :

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

  • optimized (par défaut) : optimisé 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 à la fois Ipv6Addresses et Ipv6AddressCount.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

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 à la fois Ipv6Addresses et Ipv6AddressCount.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

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 toujours défini sur l'instance, mais la connexion par mot de passe est désactivée pour les systèmes Linux.

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajouté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 pour le type d'instance. Interrogez les champs MaximumQueueNumberPerEni et TotalEniQueueQuantity à l'aide de l'API DescribeInstanceTypes.

  • Si NetworkInterface.N.InstanceType est défini sur 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 la section Propriétés NetworkOptions.

NetworkType

String

Non

Non

Type de réseau de l'instance ECS.

Valeurs valides :

  • vpc : cloud privé virtuel (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 le paramètre Password est spécifié, veuillez utiliser le protocole HTTPS pour appeler l'API afin d'éviter toute fuite de mot de passe.

Remarque

Lorsque le paramètre UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

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 dispose d'un mot de passe préconfiguré.

Period

Number

Non

Oui

Durée de l'abonnement.

Ce paramètre prend effet et doit être spécifié 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 défini sur Week, les valeurs valides pour Period sont comprises entre 1 et 4.

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

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

PeriodUnit

String

Non

Oui

Unité de durée de l'abonnement.

Valeurs valides :

  • Week

  • Month (par défaut)

Remarque

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

PrivateIpAddress

String

Non

Non

Adresse IP privée de l'instance.

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

Remarque

Si PrivateIpAddress est défini, la valeur de MaxAmount ne peut être que 1.

PrivatePoolOptions

Map

Non

Non

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

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

RamRoleName

String

Non

Oui

Nom du rôle RAM de l'instance.

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

ResourceGroupId

String

Non

Oui

ID du groupe de ressources dans lequel réside l'instance.

Aucune

SchedulerOptions

Map

Non

Non

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

Pour plus d'informations, consultez la section 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 d'un même groupe de sécurité peuvent communiquer entre elles.

Vous ne pouvez pas spécifier à la fois 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 à la fois SecurityGroupId et SecurityGroupIds.

SecurityOptions

Map

Non

Non

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

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

SpotDuration

Integer

Non

Non

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

Plage valide : 0 à 6.

Unité : heures.

Valeurs valides :

  • 0 : aucune période de protection.

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

  • 1 (par défaut).

SpotInterruptionBehavior

String

Non

Non

Mode d'interruption pour les instances spot.

Seule la valeur Terminate (par défaut) est prise en charge, ce qui libère l'instance immédiatement.

SpotPriceLimit

String

Non

Non

Prix horaire maximum 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ères pour les instances à la demande.

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

Valeurs valides :

  • NoSpot (par défaut) : instance à la demande standard.

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

  • SpotAsPriceGo : le système définit automatiquement l'enchère, jusqu'au prix maximum à la demande.

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 lorsque la ressource est une subscription instance. Si la valeur est true, l'instance est convertie en instance de paiement à l'utilisation avant sa suppression. Si la valeur est false, aucune suppression forcée n'est effectuée. Cette action entraîne des frais supplémentaires. Utilisez-la avec précaution.

Aucun

SystemDiskAutoSnapshotPolicyId

String

Non

Oui

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

Aucun

SystemDiskBurstingEnabled

Boolean

Non

Oui

Indique si la fonctionnalité de bursting est activée 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 basique.

  • cloud_efficiency : Ultra disk.

  • cloud_ssd : SSD standard.

  • cloud_essd : Enterprise SSD.

  • ephemeral_ssd : Local SSD.

Remarque

Lorsque UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

SystemDiskDescription

String

Non

Oui

Description du disque système.

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

SystemDiskDiskName

String

Non

Oui

Nom du disque système.

La mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ECS ajoutées.

SystemDiskEncryptAlgorithm

String

Non

Oui

Encryption algorithm 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 : chiffre le disque.

  • false : ne chiffre pas le disque.

SystemDiskKMSKeyId

String

Non

Oui

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

Aucun

SystemDiskPerformanceLevel

String

Non

Oui

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

Valeurs valides :

  • PL0 : le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 10 000.

  • PL1 (par défaut) : le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 50 000.

  • PL2 : le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 100 000.

  • PL3 : le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 1 000 000.

Pour obtenir des conseils sur la sélection d'un niveau de performance ESSD, consultez Enterprise SSD.

SystemDiskProvisionedIops

Integer

Non

Oui

IOPS provisionnés pour le disque système.

Aucun

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

Lorsque UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

SystemDiskStorageClusterId

String

Non

Oui

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

Aucun

Tags

List

Non

Oui

Tags personnalisés.

Maximum : 20 tags. Format :[{"Key":"tagKey","Value":"tag value"},{"Key":"tagKey2","Value":"tag value 2"}]. Pour plus d'informations, consultez Tags properties.

Tenancy

String

Non

Non

Indique si l'instance doit être créée sur un Dedicated Host.

Valeurs valides :

  • default (par défaut) : crée une instance non dédiée à un 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 augmentent 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 Batch set sequential instance names or hostnames.

UpdatePolicy

String

Non

Oui

Stratégie de mise à jour.

Valeurs valides :

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

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

UseAdditionalService

Boolean

Non

Non

Indique s'il faut utiliser les configurations système de virtual machine 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.

Valeurs valides :

  • cloud : disque basique.

  • cloud_efficiency : Ultra disk.

  • cloud_ssd : SSD standard.

  • cloud_essd : Enterprise SSD.

  • ephemeral_ssd : Local SSD.

Remarque

Lorsque UpdatePolicy est défini sur ForAllInstances, les instances existantes sont également mises à jour ; sinon, la mise à jour de ce paramètre ne s'applique qu'aux nouvelles instances ajoutées.

VpcId

String

Non

Non

ID du virtual private cloud (VPC).

Aucun

VSwitchId

String

Non

Non

ID du vSwitch.

Aucun

ZoneId

String

Non

Non

ID de la zone.

Aucun

ZoneIds

List

Non

Non

Liste des zones de disponibilité.

Aucun

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

Property

Type

Required

Editable

Description

Constraints

Size

String

Yes

No

Taille du disque de données.

Unité : GiB.

AutoSnapshotPolicyId

String

No

No

ID de la politique de snapshot automatique.

Aucun

BurstingEnabled

Boolean

No

No

Indique si le mode bursting est activé.

Valeurs valides :

  • true : Activer.

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

Category

String

No

No

Catégorie du disque de données.

Valeurs valides :

  • cloud : Disque cloud.

  • cloud_efficiency : Disque ultra.

  • cloud_ssd : SSD standard.

  • cloud_essd : SSD Enterprise.

  • 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.

Description

String

No

No

Description du disque de données.

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

Device

String

No

No

Point de montage.

Aucun

DiskName

String

No

No

Nom du disque de données.

Longueur : 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 tirets (-).

Encrypted

String

No

No

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

Valeurs valides :

  • true : Chiffrer.

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

KMSKeyId

String

No

No

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

Aucun

PerformanceLevel

String

No

No

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

Valeurs valides :

  • PL0 : Le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 10 000.

  • PL1 (par défaut) : Le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 50 000.

  • PL2 : Le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 100 000.

  • PL3 : Le nombre maximal d'IOPS en lecture/écriture aléatoire par disque est de 1 000 000.

Pour obtenir des conseils sur la sélection d'un niveau de performance ESSD, consultez la rubrique ESSDs.

ProvisionedIops

Integer

No

No

IOPS provisionnés.

Aucun

SnapshotId

String

No

No

ID du snapshot.

Aucun

StorageClusterId

String

No

No

ID du cluster de stockage par bloc dédié.

Aucun

Syntaxe de Tags

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

Propriétés de Tags

Property

Type

Required

Editable

Description

Constraints

Key

String

Yes

No

Clé du tag.

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

Value

String

No

No

Valeur du tag.

Longueur : 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 EniMappings

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

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.

Description

String

Non

Oui

Description de l'ENI.

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

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. Lorsque vous configurez deux ENI, vous devez configurer une ENI principale et une ENI secondaire.

Valeurs valides :

  • Primary : Contrôleur d'interface réseau (NIC) principal.

  • 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 : 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 ni NetworkInterface.Ipv6Address.

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 ni NetworkInterface.N.Ipv6AddressCount.

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.

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.

NetworkInterfaceName

String

Non

Oui

Nom de l'ENI.

Longueur : 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 (-).

NetworkInterfaceTrafficMode

String

Non

Non

Mode de communication du contrôleur d'interface réseau (NIC).

Valeurs valides :

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

  • HighPerformance : Activer ERI (Elastic RDMA Interface) et utiliser RDMA.

Remarque

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

PrimaryIpAddress

String

Non

Non

Adresse IP privée principale de l'ENI.

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

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

QueueNumber

Integer

Non

Non

Nombre de files d'attente pour l'ENI.

Remarques :

  • Valeurs valides : 1 à 2. Lors de la configuration d'une seule ENI, vous pouvez choisir une ENI principale ou secondaire. Lorsque vous configurez 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.

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 se produire lors de la sérialisation ou de la désérialisation de la valeur. Assurez-vous que la valeur ne dépasse pas 9007199254740991.

SecurityGroupId

String

Non

Oui

ID du groupe de sécurité.

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

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 ni NetworkInterface.SecurityGroupId.

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

VSwitchId

String

Non

Non

ID du vSwitch.

Aucune

Syntaxe PrivatePoolOptions

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

Propriétés PrivatePoolOptions

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

Id

String

Non

Non

ID du pool privé. Il s'agit de l'ID d'un service Elastic Capacity ou Reserved Capacity.

Aucune

MatchCriteria

String

Non

Non

Une fois le service Elastic Capacity ou Reserved Capacity activé, il crée une capacité de pool privé pour le lancement d'instances.

Valeurs valides :

  • Open : Mode ouvert. Correspond automatiquement à la capacité du pool privé de type ouvert. S'il n'existe aucune correspondance pour la capacité du pool privé, 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é du pool privé spécifiée. Si la capacité n'est pas disponible, le lancement de l'instance échoue. Dans ce mode, vous devez spécifier PrivatePoolOptions.Id.

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

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

  • Créer une instance spot.

  • Créer une instance ECS de réseau classique.

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

Syntaxe NetworkOptions

"NetworkOptions": {
  "EnableJumboFrame": Boolean
}

Propriétés NetworkOptions

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

EnableJumboFrame

Boolean

Non

Non

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

Valeurs valides :

  • false : Désactiver les jumbo frames. La MTU pour toutes les ENI (y compris principales et secondaires) est de 1500.

  • true : Activer les jumbo frames. 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 génération 8 et ultérieures prennent en charge les jumbo frames. Pour plus d'informations, consultez Jumbo frames.

Syntaxe CpuOptions

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

Propriétés CpuOptions

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

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 : Voir Modifier les options CPU.

NestedVirtualization

String

Non

Non

Indique si la virtualisation imbriquée est activée.

Valeurs valides :

  • enabled : Activer la virtualisation imbriquée.

  • disabled : Désactiver la virtualisation imbriquée.

ThreadsPerCore

Integer

Non

Non

Nombre de threads CPU.

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

Syntaxe ImageOptions

"ImageOptions": {
  "LoginAsNonRoot": Boolean
}

Propriétés ImageOptions

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

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

Property

Type

Required

Editable

Description

Constraints

TrustedSystemMode

String

No

No

Le mode de système de confiance.

Valeur valide : vTPM.

Le mode de système de confiance est pris en charge par les familles d'instances g7, c7 et r7, ainsi que par la famille d'instances renforcées sur le plan de la sécurité, notamment g7t, c7t et r7t.

Définissez ce paramètre lorsque vous créez une instance ECS appartenant à l'une de ces familles d'instances. Si vous utilisez le Alibaba Cloud Trusted System, définissez ce paramètre sur vTPM. Cela permet au Alibaba Cloud Trusted System d'effectuer une vérification de confiance au démarrage de l'instance. Vous n'avez pas besoin de définir ce paramètre si vous n'utilisez pas le Alibaba Cloud Trusted System. Toutefois, si l'instance ECS que vous créez utilise le mode de confidential computing enclave (SecurityOptions.ConfidentialComputingMode=Enclave), le système de confiance est également activé pour l'instance ECS. Pour créer une instance ECS avec un système de confiance à l'aide de l'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 une trusted instance lors de sa création, vous ne pouvez utiliser que des images prenant en charge le système de confiance lorsque vous remplacez le disque système.

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

Property

Type

Required

Editable

Description

Constraints

DedicatedHostClusterId

String

No

No

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

Ce paramètre prend effet uniquement lorsque Tenancy est défini sur host.

Lorsque vous spécifiez à la fois 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 d'hôtes dédiés, l'instance est d'abord déployée sur l'hôte dédié spécifié.

  • Si l'hôte dédié n'appartient pas au cluster d'hôtes dédiés, la création de l'instance échoue.

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

ManagedPrivateSpaceId

String

No

No

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

Aucun

Valeurs de retour

Fn::GetAtt

  • InstanceIds : liste dans laquelle chaque ID d'instance ECS est un identifiant unique global généré par le système pour accéder à une instance.

  • PrivateIps : liste des adresses IP privées pour chaque instance connectée au VPC.

    Remarque

    Cette valeur de retour prend effet lorsque NetworkType est vpc. Il s'agit d'un tableau JSON formaté, tel que ["172.16.XX.XX", "172.16.XX.XX", … "172.16.XX.XX"], contenant au maximum 100 adresses IP séparées par des virgules (,).

  • InnerIps : liste des adresses IP privées pour les instances de réseau classique.

    Remarque

    Cette valeur de retour prend effet lorsque NetworkType est classic. Il s'agit d'un tableau JSON formaté, tel que ["10.1.XX.XX", "10.1.XX.XX", …, "10.1.XX.XX"], contenant au maximum 100 adresses IP séparées par des virgules (,).

  • PublicIps : liste des adresses IP publiques pour les instances de réseau classique.

    Remarque

    Cette valeur de retour prend effet lorsque NetworkType est classic. Il s'agit d'un tableau JSON formaté, tel que ["42.1.XX.XX", "42.1.XX.XX", … "42.1.XX.XX"], contenant au maximum 100 adresses IP séparées par des virgules (,).

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

  • OrderId : liste des ID de commande pour les instances.

  • ZoneIds : ID des zones.

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

    Remarque

    Le type de retour est une liste bidimensionnelle. Si une instance ne possède pas d'adresse IPv6, l'élément de liste correspondant est vide. Si aucune instance ne possède d'adresse IP, null est renvoyé.

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

    Remarque

    Le type de retour est une liste bidimensionnelle. Si une instance ne possède pas d'adresse IPv6, l'élément de liste correspondant est vide. Si aucune instance ne possède d'adresse IP, null est renvoyé.

Exemples

Scénario 1 : Créer deux instances ECS avec une connexion Secure Shell 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éer des instances ECS par lot et mettre à jour les configurations

À propos de UpdatePolicy

Après avoir créé un groupe d'instances ECS à l'aide de ALIYUN::ECS::InstanceGroup, utilisez le paramètre UpdatePolicy pour contrôler la manière dont les mises à jour de configuration sont appliquées aux instances existantes.

Syntaxe de UpdatePolicy

"UpdatePolicy": {
  "RollingUpdateForOrigInstances": Map
}

Propriétés de UpdatePolicy

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

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.

Pour plus d'informations, consultez les propriétés de RollingUpdateForOrigInstances.

Syntaxe de RollingUpdateForOrigInstances

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

Propriétés de RollingUpdateForOrigInstances

Propriété

Type

Obligatoire

Modifiable

Description

Contraintes

MaxBatchSize

Integer

Oui

Oui

Nombre d'instances ECS mises à jour par lot.

Valeurs valides : 1 à 1000.

PauseTime

Integer

Non

Oui

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

Valeurs valides : 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 du paramètre 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
            }
        }
    }
}

Si MaxBatchSize est défini sur 2 et que MaxAmount passe de 5 avant la mise à jour à 10 après la mise à jour, alors lors de la mise à jour de la pile de ressources, les 5 machines existantes seront modifiées en 3 lots : 2 / 2 / 1. Les 5 nouvelles machines seront créées en une seule fois.

Scénario 3 : Créer deux instances ECS et les associer à un groupe de serveurs d'équilibrage de charge classique (CLB) pour l'équilibrage de charge

Création rapide

ROSTemplateFormatVersion: '2015-09-01'
            Description:
              zh-cn: Create an SLB with two ECS instances, configure the network and security group, and add the ECS instances to the SLB backend.
              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: System disk category
                  en: System Disk Category
              AddressType:
                Default: internet
                Label:
                  zh-cn: Network type
                  en: Address Type
                Type: String
                Description:
                  zh-cn: The network type of the load balancer. Valid values: internet (public network access) and intranet (internal network access).
                  en: 'Network type of LoadBalancer. Optional value: Internet: public network access, Intranet: Intranet access.'
                AllowedValues:
                  - internet
                  - intranet
              ECSInternetChargeType:
                AssociationPropertyMetadata:
                  LocaleKey: InternetChargeType
                Description:
                  zh-cn: The billing method for public network access.
                  en: The charge type of public internet ECS instance.
                Default: PayByTraffic
                Label:
                  zh-cn: Internet billing method
                  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. Before selecting an instance type, confirm that it is available in the current zone. Some instance types require prior approval.</b></font><br><font color='blue'><b>2. Available instance types</font><br></b></font>[ecs.n1.large <font color='green'>2 vCPUs 4 GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8 vCPUs 16 GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16 vCPUs 32 GiB</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: Instance type
                  en: Instance Type
              Password:
                ConstraintDescription:
                  zh-cn: The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
                  en: 'Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/'
                Description:
                  zh-cn: The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.<br>Special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
                  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: Instance password
                  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: Image ID
                  en: Image ID
              Bandwidth:
                Description:
                  zh-cn: The peak bandwidth of a public network instance billed by fixed bandwidth.
                  en: The bandwidth peak of a public network type instance of fixed bandwidth billing.
                Default: 1
                MaxValue: 1000
                MinValue: 1
                Label:
                  zh-cn: Peak bandwidth
                  en: The Peak Bandwidth
                Type: Number
              SLBInternetChargeType:
                AssociationPropertyMetadata:
                  LocaleKey: InternetChargeType
                Description:
                  zh-cn: The billing method for a public network instance.
                  en: The charge type of public internet SLB instance.
                Default: paybytraffic
                Label:
                  zh-cn: Internet billing method
                  en: Internet Charge Type
                AllowedValues:
                  - paybybandwidth
                  - paybytraffic
                Type: String
              LoadBalancerSpec:
                Default: slb.s1.small
                Type: String
                Description:
                  zh-cn: Instance type. For more information, see </b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html' target='_blank'><b><font color='blue'>performance-guaranteed instance types</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: Instance type
                  en: Instance Specification
              ZoneId:
                AssociationProperty: ALIYUN::ECS::Instance::ZoneId
                Type: String
                Description:
                  zh-cn: The zone ID. Make sure that ECS, VPC, and vSwitch resources are supported in the selected zone.
                  en: The available zone ID, you should confirm the zone support ECS, VPC, VSwitch or not.
                Label:
                  zh-cn: Zone ID
                  en: Zone ID
            Outputs:
              BackendServerInstanceId:
                Description:
                  zh-cn: IDs of the created ECS instances
                  en: The instance IDs of create EcsInstanceGroup
                Value:
                  Fn::GetAtt:
                    - EcsInstanceGroup
                    - InstanceIds
              BackendServerPublicIp:
                Description:
                  zh-cn: Public IP addresses of the created ECS instances.
                  en: The instance public IPs of create EcsInstanceGroup.
                Value:
                  Fn::GetAtt:
                    - EcsInstanceGroup
                    - PublicIps
              SlbIpAddress:
                Description:
                  zh-cn: The IP address of the load balancer.
                  en: The IP address of the load balancer.
                Value:
                  Fn::GetAtt:
                    - LoadBalancer
                    - IpAddress
              LoadBalancerId:
                Description:
                  zh-cn: The ID of the created load balancer.
                  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: ECS
                        en: ECS
                  - Parameters:
                      - LoadBalancerSpec
                      - AddressType
                      - SLBInternetChargeType
                      - Bandwidth
                    Label:
                      default:
                        zh-cn: load balancing
                        en: SLB
{
              "ROSTemplateFormatVersion": "2015-09-01",
              "Description": {
                "zh-cn": "Create an SLB with two ECS instances, configure the network and security group, and add the ECS instances to the SLB backend.",
                "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": "System disk category",
                    "en": "System Disk Category"
                  }
                },
                "AddressType": {
                  "Default": "internet",
                  "Label": {
                    "zh-cn": "Network type",
                    "en": "Address Type"
                  },
                  "Type": "String",
                  "Description": {
                    "zh-cn": "The network type of the load balancer. Valid values: internet (public network access) and intranet (internal network access).",
                    "en": "Network type of LoadBalancer. Optional value: Internet: public network access, Intranet: Intranet access."
                  },
                  "AllowedValues": [
                    "internet",
                    "intranet"
                  ]
                },
                "ECSInternetChargeType": {
                  "AssociationPropertyMetadata": {
                    "LocaleKey": "InternetChargeType"
                  },
                  "Description": {
                    "zh-cn": "The billing method for public network access.",
                    "en": "The charge type of public internet ECS instance."
                  },
                  "Default": "PayByTraffic",
                  "Label": {
                    "zh-cn": "Internet billing method",
                    "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. Before selecting an instance type, confirm that it is available in the current zone. Some instance types require prior approval.</b></font><br><font color='blue'><b>2. Available instance types</font><br></b></font>[ecs.n1.large <font color='green'>2 vCPUs 4 GiB</font>]<br></b>[ecs.n1.xlarge <font color='green'>8 vCPUs 16 GiB</font>]<br></b>[ecs.n1.3xlarge <font color='green'>16 vCPUs 32 GiB</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": "Instance type",
                    "en": "Instance Type"
                  }
                },
                "Password": {
                  "ConstraintDescription": {
                    "zh-cn": "The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/",
                    "en": "Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/"
                  },
                  "Description": {
                    "zh-cn": "The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.<br>Special characters include: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/",
                    "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": "Instance password",
                    "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": "Image ID",
                    "en": "Image ID"
                  }
                },
                "Bandwidth": {
                  "Description": {
                    "zh-cn": "The peak bandwidth of a public network instance billed by fixed bandwidth.",
                    "en": "The bandwidth peak of a public network type instance of fixed bandwidth billing."
                  },
                  "Default": 1,
                  "MaxValue": 1000,
                  "MinValue": 1,
                  "Label": {
                    "zh-cn": "Peak bandwidth",
                    "en": "The Peak Bandwidth"
                  },
                  "Type": "Number"
                },
                "SLBInternetChargeType": {
                  "AssociationPropertyMetadata": {
                    "LocaleKey": "InternetChargeType"
                  },
                  "Description": {
                    "zh-cn": "The billing method for a public network instance.",
                    "en": "The charge type of public internet SLB instance."
                  },
                  "Default": "paybytraffic",
                  "Label": {
                    "zh-cn": "Internet billing method",
                    "en": "Internet Charge Type"
                  },
                  "AllowedValues": [
                    "paybybandwidth",
                    "paybytraffic"
                  ],
                  "Type": "String"
                },
                "LoadBalancerSpec": {
                  "Default": "slb.s1.small",
                  "Type": "String",
                  "Description": {
                    "zh-cn": "Instance type. For more information, see </b><a href='https://www.alibabacloud.com/help/doc-detail/85939.html' target='_blank'><b><font color='blue'>performance-guaranteed instance types</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": "Instance type",
                    "en": "Instance Specification"
                  }
                },
                "ZoneId": {
                  "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
                  "Type": "String",
                  "Description": {
                    "zh-cn": "The zone ID. Make sure that ECS, VPC, and vSwitch resources are supported in the selected zone.",
                    "en": "The available zone ID, you should confirm the zone support ECS, VPC, VSwitch or not."
                  },
                  "Label": {
                    "zh-cn": "Zone ID",
                    "en": "Zone ID"
                  }
                }
              },
              "Outputs": {
                "BackendServerInstanceId": {
                  "Description": {
                    "zh-cn": "IDs of the created ECS instances",
                    "en": "The instance IDs of create EcsInstanceGroup"
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "EcsInstanceGroup",
                      "InstanceIds"
                    ]
                  }
                },
                "BackendServerPublicIp": {
                  "Description": {
                    "zh-cn": "Public IP addresses of the created ECS instances.",
                    "en": "The instance public IPs of create EcsInstanceGroup."
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "EcsInstanceGroup",
                      "PublicIps"
                    ]
                  }
                },
                "SlbIpAddress": {
                  "Description": {
                    "zh-cn": "The IP address of the load balancer.",
                    "en": "The IP address of the load balancer."
                  },
                  "Value": {
                    "Fn::GetAtt": [
                      "LoadBalancer",
                      "IpAddress"
                    ]
                  }
                },
                "LoadBalancerId": {
                  "Description": {
                    "zh-cn": "The ID of the created load balancer.",
                    "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": "ECS",
                          "en": "ECS"
                        }
                      }
                    },
                    {
                      "Parameters": [
                        "LoadBalancerSpec",
                        "AddressType",
                        "SLBInternetChargeType",
                        "Bandwidth"
                      ],
                      "Label": {
                        "default": {
                          "zh-cn": "load balancing",
                          "en": "SLB"
                        }
                      }
                    }
                  ]
                }
              }
            }

Pour plus d'exemples, consultez les modèles publics contenant cette ressource.