O recurso ALIYUN::ECS::LaunchTemplate cria um modelo de inicialização do ECS.
Sintaxe
{
"Type": "ALIYUN::ECS::LaunchTemplate",
"Properties": {
"LaunchTemplateName": String,
"VersionDescription": String,
"ImageId": String,
"InstanceType": String,
"SecurityGroupId": String,
"NetworkType": String,
"VSwitchId": String,
"InstanceName": String,
"Description": String,
"InternetMaxBandwidthOut": Integer,
"HostName": String,
"ZoneId": String,
"SystemDiskCategory": String,
"SystemDiskSize": Number,
"SystemDiskDiskName": String,
"SystemDiskDescription": String,
"IoOptimized": String,
"InternetChargeType": String,
"UserData": String,
"KeyPairName": String,
"RamRoleName": String,
"AutoReleaseTime": String,
"SpotStrategy": String,
"SpotPriceLimit": String,
"SecurityEnhancementStrategy": String,
"DiskMappings": List,
"NetworkInterfaces": List,
"Tags": List,
"TemplateTags": List,
"TemplateResourceGroupId": String,
"SecurityGroupIds": List,
"ResourceGroupId": String,
"SpotDuration": Integer,
"ImageOwnerAlias": String,
"Period": Integer,
"Ipv6AddressCount": Integer,
"PrivateIpAddress": String,
"PasswordInherit": Boolean,
"SystemDiskDeleteWithInstance": Boolean,
"DeploymentSetId": String,
"InstanceChargeType": String,
"SystemDiskPerformanceLevel": String
}
}
Propriedades
| Propriedade | Tipo | Obrigatório | Atualização permitida | Descrição | Restrições |
| LaunchTemplateName | String | Sim | Não | Nome do modelo de inicialização. | O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. Pode conter letras, caracteres chineses, dígitos, dois pontos (:), sublinhados (_) e hifens (-). |
| VersionDescription | String | Não | Não | Descrição da versão do modelo de inicialização. | A descrição deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. |
| ImageId | String | Não | Não | ID da imagem. | Nenhuma |
| InstanceType | String | Não | Não | Tipo da instância. | Nenhuma |
| SecurityGroupId | String | Não | Não | ID do grupo de segurança. | Nenhuma |
| NetworkType | String | Não | Não | Tipo de rede da instância. | Valores válidos:
|
| VSwitchId | String | Não | Não | ID do vSwitch. | Este parâmetro é válido apenas quando NetworkType está definido como vpc. |
| InstanceName | String | Não | Não | Nome da instância. | O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. |
| Description | String | Não | Não | Descrição da instância. | A descrição deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. |
| InternetMaxBandwidthOut | Integer | Não | Não | Largura de banda pública de saída máxima. | O valor deve ser um número inteiro de 0 a 100. Unidade: Mbit/s. |
| HostName | String | Não | Não | Hostname da instância. | Um ponto (.) ou hífen (-) não pode ser o primeiro nem o último caractere. Esses caracteres também não podem aparecer consecutivamente. Valores válidos:
|
| ZoneId | String | Não | Não | ID da zona onde a instância está localizada. | Nenhuma |
| SystemDiskCategory | String | Não | Não | Categoria do disco do sistema. | Valores válidos:
|
| SystemDiskSize | Number | Não | Não | Tamanho do disco do sistema. | O valor deve ser um número inteiro de 20 a 500. Unidade: GB. |
| SystemDiskDiskName | String | Não | Não | Nome do disco do sistema. | O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. Pode conter letras, caracteres chineses, dígitos, dois pontos (:), sublinhados (_) e hifens (-). |
| SystemDiskDescription | String | Não | Não | Descrição do disco do sistema. | A descrição deve ter de 2 a 256 caracteres. Não pode começar com http:// ou https://. |
| IoOptimized | String | Não | Não | Indica se a instância é otimizada para E/S. | Valores válidos:
|
| InternetChargeType | String | Não | Não | Método de faturamento para uso de rede. | Valores válidos:
|
| UserData | String | Não | Não | Dados de usuário da instância. | Os dados de usuário devem estar codificados em Base64. Os dados brutos não podem exceder 16 KB. |
| KeyPairName | String | Não | Não | Nome do par de chaves. | Este parâmetro é obrigatório apenas para instâncias Linux. Se você especificar este parâmetro, o login por senha será desativado. |
| RamRoleName | String | Não | Não | Nome da função RAM da instância. | Nenhuma |
| AutoReleaseTime | String | Não | Não | Horário de liberação automática da instância. | O horário deve estar no formato yyyy-MM-ddTHH:mm:ssZ e em UTC. O horário segue o padrão ISO 8601. |
| SpotStrategy | String | Não | Não | Defina a política de preempção para instâncias de pagamento conforme o uso. | Este parâmetro é válido apenas quando InstanceChargeType está definido como PostPaid. Valores válidos:
|
| SpotPriceLimit | String | Não | Não | Preço horário máximo da instância. | O valor pode ter até três casas decimais. |
| SecurityEnhancementStrategy | String | Não | Não | Indica se o reforço de segurança deve ser ativado. | Valores válidos:
|
| DiskMappings | List | Não | Não | Lista de discos de dados. | É possível adicionar até 16 discos de dados. Para mais informações, consulte a propriedade DiskMappings. |
| NetworkInterfaces | List | Não | Não | Lista de interfaces de rede elásticas (ENIs). | É possível adicionar até 8 ENIs. Para mais informações, consulte a propriedade NetworkInterfaces. |
| Tags | List | Não | Não | Lista de tags para a instância, grupo de segurança, discos e ENIs. | É possível adicionar até 20 tags. Para mais informações, consulte a propriedade Tags. |
| TemplateTags | List | Não | Não | Lista de tags para o modelo de inicialização. | É possível adicionar até 20 tags. Para mais informações, consulte a propriedade TemplateTags. |
| TemplateResourceGroupId | String | Não | Não | ID do grupo de recursos ao qual o modelo de inicialização pertence. | Nenhuma |
| SecurityGroupIds | List | Não | Não | Um ou mais grupos de segurança aos quais a instância pertence. | A quantidade de grupos de segurança é determinada pela cota. Nota Não é possível especificar SecurityGroupId e SecurityGroupIds simultaneamente. |
| ResourceGroupId | String | Não | Não | ID do grupo de recursos ao qual a instância, o armazenamento em bloco e as ENIs pertencem. | Nenhuma |
| SpotDuration | Integer | Não | Não | Período de retenção da instância spot. | O valor deve ser um número inteiro de 0 a 6. Valor padrão: 1. Unidade: horas. Nota Para definir o valor como um número inteiro de 2 a 6, envie um ticket. |
| ImageOwnerAlias | String | Não | Não | Origem da imagem. | Valores válidos:
|
| Period | Integer | Não | Não | Duração da assinatura do recurso. | Este parâmetro é obrigatório e válido apenas quando InstanceChargeType está definido como PrePaid. Valores válidos: 1 a 9, 12, 24, 36, 48 e 60. Unidade: meses. |
| Ipv6AddressCount | Integer | Não | Não | Quantidade de endereços IPv6 gerados aleatoriamente para atribuir à ENI primária. | O valor deve ser um número inteiro de 1 a 10. |
| PrivateIpAddress | String | Não | Não | Endereço IP privado da instância. | Ao definir o endereço IP privado para uma instância ECS em uma VPC, selecione um bloco CIDR livre no vSwitch. |
| PasswordInherit | Boolean | Não | Não | Indica se a senha predefinida da imagem deve ser usada. | Valores válidos:
Nota Especifique PasswordInherit ou Password. |
| SystemDiskDeleteWithInstance | Boolean | Não | Não | Indica se o disco do sistema deve ser liberado quando a instância for liberada. | Valores válidos:
|
| DeploymentSetId | String | Não | Não | ID do conjunto de implantação. | Nenhuma |
| InstanceChargeType | String | Não | Não | Método de faturamento da instância. | Valores válidos:
|
| SystemDiskPerformanceLevel | String | Não | Não | Nível de desempenho do ESSD usado como disco do sistema. | Valores válidos:
|
Sintaxe de DiskMappings
"DiskMappings": [
{
"Category": String,
"DiskName": String,
"Description": String,
"SnapshotId": String,
"Size": String,
"Encrypted": String,
"DeleteWithInstance": String,
"PerformanceLevel": String
}
]
Propriedades de DiskMappings
| Propriedade | Tipo | Obrigatório | Atualização permitida | Descrição | Restrições |
| Category | String | Não | Não | Categoria do disco de dados. | Valores válidos:
|
| DiskName | String | Não | Não | Nome do disco de dados. | O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou caractere chinês. Não pode começar com http:// ou https://. Pode conter letras, caracteres chineses, dígitos, dois pontos (:), sublinhados (_) e hifens (-). |
| Description | String | Não | Não | Descrição do disco de dados. | A descrição deve ter de 2 a 256 caracteres. Não pode começar com http:// ou https://. |
| SnapshotId | String | Não | Não | Snapshot usado para criar o disco de dados. | Nenhuma |
| Size | String | Não | Não | Tamanho do disco do sistema | Valores válidos:
Unidade: GB. |
| Encrypted | Boolean | Não | Não | Indica se o disco de dados deve ser criptografado. | Valores válidos:
|
| DeleteWithInstance | Boolean | Não | Não | Indica se o disco de dados deve ser liberado quando a instância for liberada. | Valores válidos:
|
| PerformanceLevel | String | Não | Não | Nível de desempenho do ESSD usado como disco de dados. | Valores válidos:
|
Sintaxe de NetworkInterfaces
"NetworkInterfaces": [
{
"PrimaryIpAddress": String,
"VSwitchId": String,
"SecurityGroupId": String,
"NetworkInterfaceName": String,
"Description": String
}
]
Propriedades de NetworkInterfaces
|
Nome da propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
PrimaryIpAddress |
String |
Não |
Não |
Endereço IP privado primário da ENI. |
Nenhuma |
|
VSwitchId |
String |
Não |
Não |
ID do vSwitch ao qual a ENI pertence. |
Nenhuma |
|
SecurityGroupId |
String |
Não |
Não |
ID do grupo de segurança ao qual a ENI pertence. |
Nenhuma |
|
NetworkInterfaceName |
String |
Não |
Não |
Nome da ENI. |
Nenhuma |
|
Description |
String |
Não |
Não |
Descrição da ENI. |
A descrição deve ter de 2 a 256 caracteres. Não pode começar com |
Sintaxe de Tags
"Tags": [
{
"Value": String,
"Key": String
}
]
Propriedades de Tags
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Key |
String |
Não |
Não |
Chave da tag. |
A chave deve ter de 1 a 128 caracteres. Não pode começar com |
|
Value |
String |
Não |
Não |
Valor da tag. |
O valor pode ter até 128 caracteres. Não pode começar com |
Sintaxe de TemplateTags
"TemplateTags": [
{
"Value": String,
"Key": String
}
]
Propriedades de TemplateTags
|
Propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
Key |
String |
Não |
Não |
Chave da tag. |
O valor deve ter de 1 a 128 caracteres, não pode começar com |
|
Value |
String |
Não |
Não |
Valor da tag. |
O valor pode ter até 128 caracteres. Não pode começar com |
Valores de retorno
Fn::GetAtt
LaunchTemplateId: ID do modelo de inicialização.
LaunchTemplateName: Nome do modelo de inicialização.
DefaultVersionNumber: Número da versão padrão do modelo de inicialização.
LatestVersionNumber: Número da versão mais recente do modelo de inicialização.
Exemplos
-
Formato
YAMLROSTemplateFormatVersion: '2015-09-01' Description: Test ECS LaunchTemplate Parameters: VSwitchId: Type: String AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId SecurityGroupId: AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId Type: String Resources: LaunchTemplate: Type: ALIYUN::ECS::LaunchTemplate Properties: LaunchTemplateName: mytest VersionDescription: Test create LaunchTemplate ImageId: centos_7 InstanceType: ecs.c5.large SystemDiskCategory: cloud_essd SecurityGroupId: Ref: SecurityGroupId VSwitchId: Ref: VSwitchId Outputs: {} -
Formato
JSON{ "ROSTemplateFormatVersion": "2015-09-01", "Description": "Test ECS LaunchTemplate", "Parameters": { "VSwitchId": { "Type": "String", "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId" }, "SecurityGroupId": { "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId", "Type": "String" } }, "Resources": { "LaunchTemplate": { "Type": "ALIYUN::ECS::LaunchTemplate", "Properties": { "LaunchTemplateName": "mytest", "VersionDescription": "Test create LaunchTemplate", "ImageId": "centos_7", "InstanceType": "ecs.c5.large", "SystemDiskCategory": "cloud_essd", "SecurityGroupId": { "Ref": "SecurityGroupId" }, "VSwitchId": { "Ref": "VSwitchId" } } } }, "Outputs": { } }
Para mais exemplos que utilizam um modelo de inicialização do ECS com um grupo de provisionamento automático, consulte o exemplo JSON e o exemplo YAML.