El tipo ALIYUN::ECS::InstanceGroup crea un grupo de instancias de ECS con la misma configuración.
Sintaxis
{
"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
}
}
Propiedades
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
InstanceType | String | Sí | Sí | Tipo de instancia de ECS. | Para más información, consulte Instance families. Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
MaxAmount | Integer | Sí | Sí | Número de instancias de ECS que se crean de forma simultánea. | Valores válidos: de 1 a 1000. Nota Al actualizar una pila, si MaxAmount aumenta o disminuye, se agrega o se elimina el número correspondiente de instancias de ECS. Por ejemplo, si MaxAmount cambia de 2 a 5, se agregan tres instancias de ECS nuevas. |
Affinity | String | No | No | Indica si una instancia de ECS está asociada con un Dedicated Host. | Valores válidos:
|
AllocatePublicIP | Boolean | No | No | Indica si se asigna una dirección IP pública. | Si InternetMaxBandwidthOut es 0, no se asigna ninguna dirección IP pública. Valores válidos:
|
AutoReleaseTime | String | No | No | Hora de liberación automática de la instancia de ECS. | La hora debe seguir el formato ISO 8601; por ejemplo, |
AutoRenew | String | No | Sí | Indica si se habilita la renovación automática. | Este parámetro solo surte efecto cuando InstanceChargeType es Valores válidos:
Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
AutoRenewPeriod | Number | No | Sí | Duración de cada renovación automática. | Este parámetro es obligatorio cuando AutoRenew es True. Valores válidos:
Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
CpuOptions | Map | No | No | Propiedades relacionadas con la CPU. | Para más información, consulte CpuOptions properties. |
CreditSpecification | String | No | Sí | Establezca el modo de operación para una instancia de rendimiento ampliable. | Valores válidos:
Para conocer los límites de rendimiento, consulte Burstable instance overview. |
DedicatedHostId | String | No | No | ID del Dedicated Host. | Ninguna |
DeletionForce | Boolean | No | No | Indica si se fuerza la eliminación de la instancia. | Valor predeterminado: false. |
DeletionProtection | Boolean | No | Sí | Indica si se protege la instancia contra su liberación desde la consola o mediante la API DeleteInstance. | Valores válidos: true: habilita la protección. false: deshabilita la protección. |
DeploymentSetGroupNo | Integer | No | No | Si su conjunto de despliegue utiliza la política de alta disponibilidad (AvailabilityGroup), especifique el número de grupo de esta instancia dentro del conjunto de despliegue. | Valores válidos: de 1 a 7. |
DeploymentSetId | String | No | Sí | ID del conjunto de despliegue. | La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
Description | String | No | Sí | Descripción. | Longitud máxima: 256 caracteres. Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
DiskMappings | List | No | Sí | Discos de datos de la instancia de ECS. | Puede crear hasta 16 discos de datos. Modificar este parámetro no afecta a las instancias existentes. Las instancias nuevas utilizan el valor actualizado. Para más información, consulte DiskMappings properties. Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
EniMappings | List | No | Sí | Interfaces de red elásticas (ENI) adjuntas a la instancia. | Puede adjuntar como máximo una ENI a la instancia. Para más información, consulte EniMappings properties. |
HostName | String | No | No | Nombre de host. | Longitud mínima: 2 caracteres. Un punto (.) o un guion (-) no pueden ser el primer ni el último carácter. No se permiten puntos ni guiones consecutivos. Para más información, consulte Request parameters. |
HostNames | List | No | No | Especifique nombres de host distintos para varias instancias. | Ninguna |
HpcClusterId | String | No | Sí | ID del clúster HPC al que pertenece la instancia. | La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
HttpEndpoint | String | No | Sí | Indica si se habilita el acceso a los metadatos de la instancia. | Valores válidos:
Nota Para conocer los modos de acceso a los metadatos, consulte Instance metadata. |
HttpTokens | String | No | Sí | Indica si se exige IMDSv2 (modo reforzado) para acceder a los metadatos de la instancia. | Valores válidos:
Nota Para conocer los modos de acceso a los metadatos, consulte Instance metadata. |
ImageFamily | String | No | No | Nombre de la familia de imágenes. | Utilice este parámetro para iniciar instancias con la última imagen disponible en la familia de imágenes especificada.
Nota Para consultar la información sobre familias de imágenes oficiales de Alibaba Cloud, vea Public images. |
ImageId | String | No | Sí | ID de la imagen utilizada para iniciar la instancia de ECS. Los valores válidos incluyen imágenes públicas, imágenes personalizadas e imágenes de Alibaba Cloud Marketplace. | Puede especificar el ID de una imagen pública mediante coincidencia aproximada en lugar del ID completo. Ejemplos:
Para más información, consulte Request parameters. Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
ImageOptions | Map | No | No | Propiedades relacionadas con la imagen. | Para más información, consulte ImageOptions properties. |
InstanceChargeType | String | No | Sí | Método de facturación seleccionado por el pagador para la instancia. | Valores válidos:
Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
InstanceName | String | No | Sí | Nombre de la instancia. | Longitud máxima: 128 caracteres. Los caracteres válidos incluyen letras, dígitos, guiones bajos (_), puntos (.) y guiones (-). Utilice el formato |
InternetChargeType | String | No | Sí | Método de facturación para el ancho de banda de acceso a la red pública. | Valores válidos:
Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
InternetMaxBandwidthOut | Integer | No | Sí | Ancho de banda público saliente máximo. | Valores válidos: de 0 a 100. Unidad: Mbit/s. Valor predeterminado: 0. Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
IoOptimized | String | No | No | Indica si se crea una instancia optimizada para E/S. | Valores válidos:
|
Ipv6AddressCount | Integer | No | Sí | Número de direcciones IPv6 generadas aleatoriamente para la ENI. | No puede especificar Ipv6Addresses e Ipv6AddressCount al mismo tiempo. Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
Ipv6Addresses | List | No | Sí | Direcciones IPv6 de la ENI. | Puede especificar como máximo una dirección IPv6. Los cambios no afectan a las instancias existentes. No puede especificar Ipv6Addresses e Ipv6AddressCount al mismo tiempo. Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
KeyPairName | String | No | Sí | Nombre de la key pair vinculada a la instancia de ECS. | Si la instancia ejecuta Windows, este parámetro se ignora. Valor predeterminado: vacío. Si se especifica KeyPairName, la contraseña se configura igualmente en la instancia, pero se deshabilita el inicio de sesión con contraseña en sistemas Linux. Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
LaunchTemplateId | String | No | Sí | ID de la plantilla de inicio. | Ninguna |
LaunchTemplateName | String | No | Sí | Nombre de la plantilla de inicio. | Ninguna |
LaunchTemplateVersion | String | No | Sí | Versión de la plantilla de inicio. | Si no se especifica ninguna versión, se utiliza la versión predeterminada. |
NetworkInterfaceQueueNumber | Integer | No | No | Número de colas de la ENI principal. | Nota:
|
NetworkOptions | Map | No | No | Propiedades relacionadas con la red. | Para más información, consulte NetworkOptions properties. |
NetworkType | String | No | No | Tipo de red de la instancia de ECS. | Valores válidos:
|
Password | String | No | Sí | Contraseña de inicio de sesión de la instancia de ECS. | Longitud: de 8 a 30 caracteres. Debe contener como mínimo tres de los siguientes elementos: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. Caracteres especiales compatibles: Si se especifica el parámetro Password, utilice el protocolo HTTPS para llamar a la API y evitar la filtración de la contraseña. Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
PasswordInherit | Boolean | No | No | Indica si se utiliza la contraseña preconfigurada en la imagen. | Valores válidos:
Nota Al usar este parámetro, Password debe estar vacío. Asegúrese también de que la imagen tenga una contraseña preconfigurada. |
Period | Number | No | Sí | Duración de la suscripción. | Este parámetro surte efecto y debe especificarse únicamente cuando InstanceChargeType es PrePaid. Si se especifica DedicatedHostId, el valor no puede superar la duración de la suscripción del Dedicated Host.
Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
PeriodUnit | String | No | Sí | Unidad de duración de la suscripción. | Valores válidos:
Nota La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
PrivateIpAddress | String | No | No | Dirección IP privada de la instancia. | Para instancias de tipo VPC, seleccione la dirección Nota Si se establece PrivateIpAddress, el valor de MaxAmount solo puede ser 1. |
PrivatePoolOptions | Map | No | No | Opciones de capacidad del pool privado para iniciar instancias. | Para más información, consulte PrivatePoolOptions properties. |
RamRoleName | String | No | Sí | Nombre del rol de RAM de la instancia. | Puede llamar a ListRoles para consultar los nombres de los roles de RAM de la instancia. |
ResourceGroupId | String | No | Sí | ID del | Ninguna |
SchedulerOptions | Map | No | No | Propiedades relacionadas con la programación. | Para más información, consulte SchedulerOptions properties. |
SecurityEnhancementStrategy | String | No | No | Indica si se habilita el | Valores válidos:
|
SecurityGroupId | String | No | No | ID del security group de la nueva instancia. Las instancias del mismo security group pueden comunicarse entre sí. | No puede especificar SecurityGroupId y SecurityGroupIds al mismo tiempo. |
SecurityGroupIds | List | No | No | Lista de ID de security group para la nueva instancia. | No puede especificar SecurityGroupId y SecurityGroupIds al mismo tiempo. |
SecurityOptions | Map | No | No | Propiedades relacionadas con el sistema de confianza. | Para más información, consulte SecurityOptions properties. |
SpotDuration | Integer | No | No | Duración de la reserva para instancias spot. | Rango válido: de 0 a 6. Unidad: horas. Valores válidos:
|
SpotInterruptionBehavior | String | No | No |
| Solo se admite Terminate (predeterminado), que libera la instancia de inmediato. |
SpotPriceLimit | String | No | No | Precio máximo por hora de la instancia. | Precisión máxima: tres decimales. Este parámetro solo surte efecto cuando SpotStrategy es SpotWithPriceLimit. |
SpotStrategy | String | No | Sí | Estrategia de puja para instancias pay-as-you-go. | Este parámetro solo surte efecto cuando InstanceChargeType es PostPaid. Valores válidos:
|
StorageSetId | String | No | No | ID del conjunto de almacenamiento. | Ninguna |
StorageSetPartitionNumber | Integer | No | No | Número máximo de particiones en el conjunto de almacenamiento. | Valores válidos: mayor o igual que 2. |
SubscriptionDeletionForce | Boolean | No | No | Esta opción aplica únicamente cuando el recurso es una | Ninguna |
SystemDiskAutoSnapshotPolicyId | String | No | Sí | ID de la política de instantáneas automáticas del disco del sistema. | Ninguna |
SystemDiskBurstingEnabled | Boolean | No | Sí | Indica si el bursting está habilitado para el disco del sistema. | Valores válidos:
|
SystemDiskCategory | String | No | Sí | Categoría del disco del sistema. | Valores válidos:
Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
SystemDiskDescription | String | No | Sí | Descripción del disco del sistema. | La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
SystemDiskDiskName | String | No | Sí | Nombre del disco del sistema. | La actualización de este parámetro solo surte efecto en las instancias de ECS recién agregadas. |
SystemDiskEncryptAlgorithm | String | No | Sí |
| Valores válidos:
|
SystemDiskEncrypted | String | No | Sí | Indica si el disco del sistema está cifrado. | Valores válidos:
|
SystemDiskKMSKeyId | String | No | Sí | ID de la clave de KMS del disco del sistema. | Ninguna |
SystemDiskPerformanceLevel | String | No | Sí | Al crear un SSD empresarial para usarlo como disco del sistema, puede establecer el nivel de rendimiento del disco. | Valores válidos:
Para obtener orientación sobre cómo seleccionar un nivel de rendimiento ESSD, consulte Enterprise SSD. |
SystemDiskProvisionedIops | Integer | No | Sí | IOPS aprovisionadas para el disco del sistema. | Ninguna |
SystemDiskSize | Number | No | Sí | Tamaño del disco del sistema. | Valores válidos: de 40 a 500. Unidad: GiB. Si utiliza una imagen personalizada, el tamaño del disco del sistema debe ser mayor que el tamaño de la imagen. Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
SystemDiskStorageClusterId | String | No | Sí | ID del clúster de block storage dedicado para el disco del sistema. | Ninguna |
Tags | List | No | Sí | Etiquetas personalizadas. | Máximo: 20 etiquetas. Formato: |
Tenancy | String | No | No | Indica si la instancia se crea en un Dedicated Host. | Valores válidos:
|
UniqueSuffix | Boolean | No | No | Indica si se agregan sufijos secuenciales a | Los sufijos secuenciales comienzan en 001 y aumentan hasta 999. Valores válidos:
Si |
UpdatePolicy | String | No | Sí | Estrategia de actualización. | Valores válidos:
|
UseAdditionalService | Boolean | No | No | Indica si se utilizan las configuraciones de sistema de la | Valores válidos:
|
UserData | String | No | Sí | Datos de usuario transmitidos al crear la instancia de ECS. | Tamaño máximo: 16 KB. No codifique el contenido en Base64. Escape los caracteres especiales. Valores válidos:
Nota Cuando UpdatePolicy se establece en ForAllInstances, también se actualizan las instancias existentes. De lo contrario, la actualización de este parámetro solo surte efecto en las instancias recién agregadas. |
VpcId | String | No | No | ID de la nube privada virtual (VPC). | Ninguna |
VSwitchId | String | No | No | ID del vSwitch. | Ninguna |
ZoneId | String | No | No | ID de la zona. | Ninguna |
ZoneIds | List | No | No | Lista de zonas de disponibilidad. | Ninguna |
Sintaxis 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
}
]
Propiedades de DiskMappings
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
Size | String | Sí | No | Tamaño del disco de datos. | Unidad: GiB. |
AutoSnapshotPolicyId | String | No | No | ID de la política de instantáneas automáticas. | Ninguna |
BurstingEnabled | Boolean | No | No | Indica si el bursting está habilitado. | Valores válidos:
|
Category | String | No | No | Categoría del disco de datos. | Valores válidos:
Para las instancias optimizadas para E/S, el valor predeterminado es cloud_efficiency. Para las instancias no optimizadas para E/S, el valor predeterminado es cloud. |
Description | String | No | No | Descripción del disco de datos. | Longitud: de 2 a 256 caracteres. No puede comenzar con |
Device | String | No | No | Destino de montaje. | Ninguna |
DiskName | String | No | No | Nombre del disco de datos. | Longitud: de 2 a 128 caracteres. Debe comenzar con una letra o un carácter chino. No puede empezar con |
Encrypted | String | No | No | Indica si el disco de datos está cifrado. | Valores válidos:
|
KMSKeyId | String | No | No | ID de la clave de KMS para el disco de datos. | Ninguna |
PerformanceLevel | String | No | No | Nivel de rendimiento de un ESSD utilizado como disco de datos. | Valores válidos:
Para obtener orientación sobre cómo elegir un nivel de rendimiento de ESSD, consulte ESSDs. |
ProvisionedIops | Integer | No | No | IOPS aprovisionadas. | Ninguna |
SnapshotId | String | No | No | ID de la instantánea. | Ninguna |
StorageClusterId | String | No | No | ID del clúster dedicado de block storage. | Ninguna |
Sintaxis 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
}
]
Propiedades de EniMappings
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
DeleteOnRelease | Boolean | No | No | Indica si se conserva la ENI al liberar la instancia. | Valores válidos:
|
Description | String | No | Sí | Descripción de la ENI. | Longitud: de 2 a 256 caracteres. No puede comenzar con |
InstanceType | String | No | No | Tipo de ENI. | Es posible configurar hasta dos ENI. Al configurar una sola ENI, elija una primaria o secundaria. Si configura dos, debe establecer una primaria y una secundaria. Valores válidos:
|
Ipv6AddressCount | Integer | No | No | Número de direcciones IPv6 generadas de forma aleatoria para la ENI primaria. | Valores válidos: de 1 a 10. Notas:
|
Ipv6Addresses | List | No | No | Una o más direcciones IPv6 para la ENI primaria. | Puede especificar hasta 10 direcciones IPv6. Notas:
|
NetworkCardIndex | Integer | No | No | Índice de la tarjeta de red física. |
|
NetworkInterfaceId | String | No | No | ID de la ENI conectada a la instancia. | Este parámetro aplica únicamente a las ENI secundarias. Después de especificar una ENI secundaria existente, no es posible configurar otros parámetros de creación de ENI. |
NetworkInterfaceName | String | No | Sí | Nombre de la ENI. | Longitud: de 2 a 128 caracteres. Debe comenzar con una letra o un carácter chino. No puede empezar con |
NetworkInterfaceTrafficMode | String | No | No | Modo de comunicación del controlador de interfaz de red (NIC). | Valores válidos:
Nota La cantidad de ENI con RDMA habilitado no puede superar el límite de la familia de instancias. Para obtener más información, consulte Instance families. |
PrimaryIpAddress | String | No | No | Dirección IP privada principal de la ENI. | La IP especificada debe ser una dirección libre dentro del bloque CIDR del vSwitch. Si no se especifica ninguna IP, se asigna de forma aleatoria una dirección libre del vSwitch. |
QueueNumber | Integer | No | No | Número de colas de la ENI. | Notas:
|
QueuePairNumber | Integer | No | No | Número de colas de la ENI RDMA. | Este campo es de tipo Long. Puede haber pérdida de precisión al serializar o deserializar el valor. Asegúrese de que el valor no supere 9007199254740991. |
SecurityGroupId | String | No | Sí | ID del security group. | El security group debe pertenecer a la misma VPC. |
SecurityGroupIds | List | No | No | Uno o más ID de security group para la ENI. | Notas:
|
VSwitchId | String | No | No | ID del vSwitch. | Ninguna |
Sintaxis de PrivatePoolOptions
"PrivatePoolOptions": [
{
"Id": String,
"MatchCriteria": String
}
]
Propiedades de PrivatePoolOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
Id | String | No | No | ID del pool privado. Corresponde al ID de un Elastic Capacity Service o un Reserved Capacity Service. | Ninguna |
MatchCriteria | String | No | No | Cuando Elastic Capacity Service o Reserved Capacity Service entra en estado activo, crea capacidad de pool privado para iniciar la instancia. | Valores válidos:
En cualquiera de los escenarios siguientes, la opción de capacidad de pool privado para iniciar la instancia solo puede establecerse en
|
Sintaxis de NetworkOptions
"NetworkOptions": {
"EnableJumboFrame": Boolean
}
Propiedades de NetworkOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
EnableJumboFrame | Boolean | No | No | Indica si se habilitan los jumbo frames para la instancia. | Valores válidos:
Valor predeterminado: true. Nota Solo algunos tipos de instancia de la generación 8 y posteriores admiten jumbo frames. Para obtener más información, consulte Jumbo frames. |
Sintaxis de CpuOptions
"CpuOptions": {
"ThreadsPerCore": Integer,
"Core": Integer,
"NestedVirtualization": String
}
Propiedades de CpuOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
Core | Integer | No | No | Número de núcleos de CPU. | Este parámetro no admite valores personalizados. Utilice únicamente el valor predeterminado. Valor predeterminado: consulte Change CPU options. |
NestedVirtualization | String | No | No | Indica si la virtualización anidada está habilitada. | Valores válidos:
|
ThreadsPerCore | Integer | No | No | Número de hilos de CPU. | Cantidad de vCPU = |
Sintaxis de ImageOptions
"ImageOptions": {
"LoginAsNonRoot": Boolean
}
Propiedades de ImageOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
LoginAsNonRoot | Boolean | No | No | Indica si las instancias iniciadas con esta imagen admiten el inicio de sesión con el usuario ecs-user. | Valores válidos:
|
Sintaxis de SecurityOptions
"SecurityOptions": {
"TrustedSystemMode": String
}
Propiedades de SecurityOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
TrustedSystemMode | String | No | No | Modo del sistema de confianza. | Valor válido: vTPM. El modo de sistema de confianza es compatible con las familias de instancias g7, c7 y r7, así como con la familia de instancias de seguridad mejorada, que incluye g7t, c7t y r7t. Establezca este parámetro al crear una instancia ECS que pertenezca a alguna de estas familias. Si utiliza Nota Si al crear la instancia la designa como Para obtener más información sobre el sistema de confianza, consulte Overview of trusted computing capabilities. |
Sintaxis de SchedulerOptions
"SchedulerOptions": {
"ManagedPrivateSpaceId": String,
"DedicatedHostClusterId": String
}
Propiedades de SchedulerOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
DedicatedHostClusterId | String | No | No | ID del clúster de host dedicados donde reside la instancia de ECS. El sistema selecciona automáticamente un host dedicado de este clúster para desplegar la instancia. | Este parámetro solo surte efecto cuando Cuando especifique tanto un host dedicado (
Puede consultar los ID de los clústeres de host dedicados mediante DescribeDedicatedHostClusters. |
ManagedPrivateSpaceId | String | No | No | ID del pool de recursos privados administrados. | Ninguna |
Valores de retorno
Fn::GetAtt
InstanceIds: lista en la que cada ID de instancia de ECS es un identificador único global generado por el sistema para acceder a una instancia.-
PrivateIps: lista de direcciones IP privadas de cada instancia conectada a una VPC.NotaEste valor de retorno surte efecto cuando
NetworkTypeesvpc. Se trata de una matriz con formato JSON, como["172.16.XX.XX", "172.16.XX.XX", … "172.16.XX.XX"], que contiene un máximo de 100 direcciones IP separadas por comas (,). -
InnerIps: lista de direcciones IP privadas de las instancias de red clásica.NotaEste valor de retorno surte efecto cuando
NetworkTypeesclassic. Se trata de una matriz con formato JSON, como["10.1.XX.XX", "10.1.XX.XX", …, "10.1.XX.XX"], que contiene un máximo de 100 direcciones IP separadas por comas (,). -
PublicIps: lista de direcciones IP públicas de las instancias de red clásica.NotaEste valor de retorno surte efecto cuando
NetworkTypeesclassic. Se trata de una matriz con formato JSON, como["42.1.XX.XX", "42.1.XX.XX", … "42.1.XX.XX"], que contiene un máximo de 100 direcciones IP separadas por comas (,). HostNames: lista de nombres de host de todas las instancias.OrderId: lista de ID de pedido de las instancias.ZoneIds: ID de las zonas.-
Ipv6AddressIds: lista de ID de direcciones IPv6 de las instancias de ECS creadas.NotaEl tipo de retorno es una lista bidimensional. Si una instancia no tiene dirección IPv6, el elemento correspondiente de la lista queda vacío. Si ninguna instancia tiene dirección IP, se devuelve
null. -
Ipv6Addresses: lista de direcciones IPv6 de las instancias de ECS creadas.NotaEl tipo de retorno es una lista bidimensional. Si una instancia no tiene dirección IPv6, el elemento correspondiente de la lista queda vacío. Si ninguna instancia tiene dirección IP, se devuelve
null.
Ejemplos
Escenario 1: crear dos instancias de ECS con inicio de sesión SSH sin contraseña
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": {}
}Escenario 2: crear instancias de ECS por lotes y actualizar configuraciones
Acerca de UpdatePolicy
Después de crear un grupo de instancias de ECS con ALIYUN::ECS::InstanceGroup, utilice la configuración de UpdatePolicy para controlar cómo se aplican las actualizaciones de configuración a las instancias existentes.
Sintaxis de UpdatePolicy
"UpdatePolicy": {
"RollingUpdateForOrigInstances": Map
}
Propiedades de UpdatePolicy
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricciones |
|
RollingUpdateForOrigInstances |
Map |
No |
Sí |
Estrategia de control para actualizar las instancias de ECS existentes. Esta directiva no aplica a las instancias de ECS nuevas. |
Para obtener más información, consulte RollingUpdateForOrigInstances properties. |
Sintaxis de RollingUpdateForOrigInstances
"RollingUpdateForOrigInstances": {
"MaxBatchSize": Integer,
"PauseTime": Integer
}
Propiedades de RollingUpdateForOrigInstances
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricciones |
|
MaxBatchSize |
Integer |
Sí |
Sí |
Número de instancias de ECS que se actualizan por lote. |
Valores válidos: de 1 a 1000. |
|
PauseTime |
Integer |
No |
Sí |
Tiempo de pausa entre lotes, en segundos. El valor predeterminado es 0. |
Valores válidos: de 0 a 3600. |
Cree un grupo de cinco instancias de ECS con configuraciones idénticas mediante la siguiente plantilla.
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
}
}
}
}Una vez creada correctamente la pila, actualice las configuraciones de las instancias de ECS existentes mediante la configuración de 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 se establece en 2 y MaxAmount cambia de 5 antes de la actualización a 10 después de esta, durante la actualización de la pila de recursos las 5 máquinas existentes se modificarán en 3 lotes: 2 / 2 / 1. Las 5 máquinas nuevas se crearán de una sola vez.
Escenario 3: crear dos instancias ECS y adjuntarlas a un grupo de servidores de un load balancer clásico (CLB) de SLB para distribuir la carga
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"
}
}
}
]
}
}
}Para consultar más ejemplos, vea Plantillas públicas que contienen este recurso.