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 :
|
|
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 :
|
|
AutoReleaseTime |
String |
Non |
Non |
Heure de libération automatique de l'instance ECS. |
L'heure doit respecter le format ISO 8601, par exemple |
|
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 :
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 :
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 :
|
|
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 :
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 :
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.
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 :
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 :
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 |
|
InternetChargeType |
String |
Non |
Oui |
Mode de facturation de la bande passante du réseau public. |
Valeurs valides :
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 :
|
|
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 :
|
|
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 :
|
|
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 :
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.
Remarque
Ce paramètre met à jour uniquement les nouvelles instances ECS. |
|
PeriodUnit |
String |
Non |
Oui |
Unité de durée de l'abonnement. |
Valeurs valides :
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 :
|
|
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 :
|
|
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 :
|
|
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 :
|
|
SystemDiskCategory |
String |
Non |
Oui |
Catégorie du disque système. |
Valeurs valides :
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 :
|
|
SystemDiskEncrypted |
String |
Non |
Oui |
Indique si le disque système est chiffré. |
Valeurs valides :
|
|
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 :
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 : 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 :
|
|
UniqueSuffix |
Boolean |
Non |
Non |
Indique s'il faut ajouter des suffixes séquentiels à |
Les suffixes séquentiels commencent à 001 et s'incrémentent jusqu'à 999. Valeurs valides :
Si 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 :
|
|
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 :
|
|
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 :
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 |
|
Description |
String |
Non |
Non |
Description du disque de données. |
Longueur : de 2 à 256 caractères. Ne peut pas commencer par |
|
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 :
|
|
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 :
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 :
|
|
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 |
|
Value |
String |
Non |
Non |
Valeur du tag. |
Longueur : de 0 à 128 caractères. Ne peut pas commencer par |
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 |
|
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 |
|
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 :
|
|
Ipv6AddressCount |
Integer |
Non |
Non |
Nombre d'adresses IPv6 générées aléatoirement pour l'ENI principale. |
Valeurs valides : de 1 à 10. Remarques :
|
|
NetworkInterfaceTrafficMode |
String |
Non |
Non |
Mode de communication de la carte réseau (NIC). |
Valeurs valides :
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 :
|
|
QueueNumber |
Integer |
Non |
Non |
Nombre de files d'attente pour l'ENI. |
Remarques :
|
|
SecurityGroupIds |
List |
Non |
Non |
Un ou plusieurs ID de groupes de sécurité pour l'ENI. |
Remarques :
|
|
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 :
|
|
NetworkCardIndex |
Integer |
Non |
Non |
Index de la carte réseau physique. |
|
|
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 :
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
|
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 :
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 = |
|
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 :
|
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 Lorsque vous spécifiez simultanément un hôte dédié (
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.
RemarqueLe 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.
RemarqueLe 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.
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).
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.