Em serviços totalmente gerenciados com dependências entre parâmetros do modelo, configure mapeamentos de parâmetros para definir valores fixos automaticamente sob condições específicas. Durante a implantação da instância de serviço, o Compute Nest aplica os valores configurados sempre que as condições forem atendidas. Este tópico descreve como configurar mapeamentos de parâmetros.
Contexto
Para serviços totalmente gerenciados, adicione mapeamentos de parâmetros de duas formas: Add e Add by Using Stack Groups. Após a configuração, o Compute Nest oculta automaticamente o parâmetro correspondente na interface. Na criação da instância de serviço, o usuário especifique apenas o parâmetro de dependência, e o sistema preenche o valor do parâmetro oculto conforme o mapeamento definido.
Adição direta: use este método para configurar mapeamentos em poucas regiões. O provedor de serviços define as relações de mapeamento e as subdependências dos parâmetros no modelo. Selecione um parâmetro dependente e seu correspondente e defina os valores.
Adição via grupo de stacks: ideal para implantações em múltiplas zonas e regiões que exigem mapeamentos específicos por região. Utilize grupos de stacks para adicionar mapeamentos e simplificar a configuração.
Adicionar mapeamentos de parâmetros diretamente
Procedimento
Faça login no Compute Nest console.
No painel de navegação à esquerda, clique em My Services. Na guia Created Services da página My Services, clique em Create Service.
-
Na página Create New Service, configure as informações do serviço.
Esta seção aborda apenas os parâmetros específicos de mapeamentos. Para detalhes sobre os demais parâmetros, consulte Criar um serviço totalmente gerenciado.
Na caixa Template Content, insira o conteúdo do modelo. Para mais informações, consulte Modelo de exemplo.
-
Clique em Add Parameter Mapping. Na caixa de diálogo Add Parameter Mapping, selecione Add e configure os parâmetros.
Nas seções Configure Mapping e Sub-dependency Mapping Configuration, selecione um Dependency Parameter e um Parameter.
-
Clique em Add Automatic Parameter Mapping e especifique valores para o Dependency Parameter e para o Parameter.
Para o parâmetro de dependência
Region, selecioneChina (Hangzhou). Para o parâmetro correspondenteVpcId, escolha uma vpc existente. -
Clique em Add Sub-dependency Parameter e especifique valores para o Sub-dependency Parameter e para o Parameter.
Para o parâmetro de subdependência
ZoneId, selecioneChina (Hangzhou) Zone K. Para o parâmetro correspondentevSwitchId, escolha um vSwitch existente. Repita esta etapa para adicionar um mapeamento paraChina (Hangzhou) Zone Je um vSwitch nessa zona. Clique em OK.
Clique em Save Service.
Adicionar mapeamentos de parâmetros com um grupo de stacks
Procedimento
Faça login no Compute Nest console.
No painel de navegação à esquerda, selecione My Services. Na página My Services, acesse a guia Created Services e clique em Create Service.
-
Na página Create New Service, configure as informações do serviço.
Esta seção aborda apenas os parâmetros específicos da adição de mapeamentos via grupo de stacks. Para detalhes sobre os demais parâmetros, consulte Criar um serviço totalmente gerenciado.
Clique em Add Parameter Mapping. Na caixa de diálogo Add Parameter Mapping, configure os parâmetros.
-
Clique na guia Add by Using Stack Groups e adicione um grupo de stacks.
Se já possuir um grupo de stacks, selecione a região e o ID correspondentes.
Caso não tenha um grupo de stacks, crie-o e selecione-o em seguida. Para mais informações, consulte Criar um grupo de stacks.
-
Para simplificar o processo, o Compute Nest oferece dois modelos de melhores práticas para criar grupos de stacks. Esses modelos provisionam recursos como VPCs, vSwitches e grupos de segurança em cada zona de cada região. Clique no nome do modelo para abrir a página de criação do grupo de stacks e siga as instruções na tela para especificar os parâmetros e concluir a criação.
Ao usar o modelo Create a VPC, vSwitch, and security group in a region and specify the number of zones. para criar uma stack, especifique o número de zonas. Certifique-se de que a quantidade informada não exceda o número real de zonas disponíveis na região.
Ao utilizar o modelo Create VPCs, vSwitches, and security groups in all zones of a region, os recursos serão criados em todas as zonas da região por padrão.
-
Clique em OK.
O Compute Nest gera automaticamente os mapeamentos de parâmetros. Esse processo pode levar alguns segundos.
-
Clique em Create Service e confirme clicando em OK na caixa de diálogo de confirmação.
Efeito na implantação da instância de serviço
Página de implantação da instância de serviço
Após a criação do serviço, a página de implantação da instância exige apenas a seleção da Region e da Zone definidas no mapeamento de parâmetros. Os parâmetros de vpc e vSwitch permanecem ocultos.
Após a implantação da instância de serviço
Depois da implantação da instância de serviço, os parâmetros de vpc e vSwitch continuam ocultos. Visualize a instância criada na guia My Service Instances > Fully Managed Services. Clique na instância para verificar os parâmetros de configuração, como ZoneId, InstanceType, SystemDiskSize, DataDiskSize e InstanceChargeType. Os parâmetros de vpc e vSwitch não são exibidos.
Modelo de exemplo
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 此模板为单实例自定义镜像模板示例,支持选择已有基础资源配置,支持配置ECS的付费模式为预付费或者后付费
en: >-
This is a sample template for creating a single ECS instance from a custom image. It supports using existing infrastructure resources and allows you to configure the billing method for the ECS instance as either subscription or pay-as-you-go.
Parameters:
SystemDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::SystemDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
zh-cn: >-
<font color='blue'><b>可选值:</b></font><br>[cloud_efficiency: <font
color='green'>高效云盘</font>]<br>[cloud_ssd: <font
color='green'>SSD云盘</font>]<br>[cloud_essd: <font
color='green'>ESSD云盘</font>]<br>[cloud: <font color='green'>普通云盘</font>]
en: >-
<font color='blue'><b>Valid values:</b></font><br>[cloud_efficiency: <font color='green'>Ultra Disk</font>]<br>[cloud_ssd: <font color='green'>Standard SSD</font>]<br>[cloud_essd: <font color='green'>ESSD</font>]<br>[cloud: <font color='green'>Basic Disk</font>]
Label:
zh-cn: 系统盘类型
en: System Disk Type
ECSPeriodUnit:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
zh-cn: '云服务器预付费资源的购买时长周期,取值:[Week(周), Month(月)],<br>'
en: 'The unit of the subscription duration. This parameter is required only when you set the billing method to subscription. Valid values: Week and Month.<br>'
Default: Week
AllowedValues:
- Week
- Month
Label:
zh-cn: 云服务器预付费资源的购买周期
en: Unit of Subscription Duration
Type: String
ECSPeriod:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
zh-cn: >-
云服务器预付费资源的购买时长,当预付费资源的购买周期为Week时,取值范围:[1,2,3,4];
当预付费资源的购买周期为Month时,取值:[1,2,3,4,5,6,7,8,9,12,24,36,48,60]<br>
en: >-
The subscription duration. The valid values depend on the Unit of Subscription Duration. If the unit is Week, the valid values are 1, 2, 3, and 4. If the unit is Month, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.<br>
Default: 1
Label:
zh-cn: 云服务器预付费资源的购买时长
en: Subscription Duration
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 12
- 24
- 36
- 48
- 60
Type: Number
SecurityGroupId:
AssociationPropertyMetadata:
VpcId: VpcId
Description:
zh-cn: 现有安全组的实例ID
en: The ID of an existing security group.
Default: null
Label:
zh-cn: 安全组ID
en: Security Group ID
AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
Type: String
SystemDiskSize:
Default: 40
Type: Number
Description:
zh-cn: '系统盘大小, 取值范围:[40, 500], 单位:GB。'
en: 'The size of the system disk. Unit: GiB. Valid values: 40 to 500.'
Label:
zh-cn: 系统盘空间
en: System Disk Size
ZoneId:
AssociationProperty: 'ALIYUN::ECS::Instance::ZoneId'
Type: String
Description:
zh-cn: 可用区配置决定了新建ECS实例的可用区。此外,如果您选择已有基础资源配置,仅能选到该可用区下的交换机。
en: >-
The zone in which to create the ECS instance. If you use existing infrastructure resources, you can select only vSwitches that are in the specified zone.
Label:
zh-cn: ECS交换机可用区
en: Zone
DataDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::DataDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
zh-cn: >-
<font color='blue'><b>可选值:</b></font><br>[cloud_efficiency: <font
color='green'>高效云盘</font>]<br>[cloud_ssd: <font
color='green'>SSD云盘</font>]<br>[cloud_essd: <font
color='green'>ESSD云盘</font>]<br>[cloud: <font color='green'>普通云盘</font>]
en: >-
<font color='blue'><b>Valid values:</b></font><br>[cloud_efficiency: <font color='green'>Ultra Disk</font>]<br>[cloud_ssd: <font color='green'>Standard SSD</font>]<br>[cloud_essd: <font color='green'>ESSD</font>]<br>[cloud: <font color='green'>Basic Disk</font>]
Label:
zh-cn: 数据盘类型
en: Data Disk Type
InstanceChargeType:
Default: PostPaid
Label:
zh-cn: ECS实例的付费模式
en: ECS Instance Billing Method
Type: String
Description:
zh-cn: >-
<font color='blue'><b>可选值:</b></font><br>[PostPaid: <font
color='green'>按量付费。</font>]<br>[PrePaid: <font
color='green'>预付费,包年包月。</font>]
en: >-
<font color='blue'><b>Valid values:</b></font><br>[PostPaid: <font color='green'>pay-as-you-go.</font>]<br>[PrePaid: <font color='green'>subscription.</font>]
AllowedValues:
- PostPaid
- PrePaid
VpcId:
Default: null
AssociationProperty: 'ALIYUN::ECS::VPC::VPCId'
Type: String
Description:
zh-cn: '请选择已有的VPC<br><b><font color=''blue''>如找不到VPC,请切换地域。</font></b>'
en: >-
Select an existing VPC.<br><b><font color='blue'>If you cannot find a VPC, switch to another region.</font></b>
Label:
zh-cn: 现有VPC的实例ID
en: Existing VPC ID
DataDiskSize:
Description:
zh-cn: ECS实例数据盘大小,单位为GiB。取值范围:20~32768
en: 'The size of the data disk. Unit: GiB. Valid values: 20 to 32768.'
Default: 100
MaxValue: 32768
MinValue: 20
Label:
zh-cn: 数据盘空间
en: Data Disk Size
Type: Number
VSwitchId:
AssociationPropertyMetadata:
VpcId: VpcId
ZoneId: ZoneId
Description:
zh-cn: 现有网络交换机的实例ID
en: The ID of an existing vSwitch.
Default: null
Label:
zh-cn: 网络交换机ID
en: VSwitch ID
AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId'
Type: String
Password:
ConstraintDescription:
zh-cn: '长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/ 中的特殊符号)。'
en: >-
The password must be 8 to 30 characters in length and contain characters from at least three of the following categories: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
Description:
zh-cn: >-
服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
中的特殊符号)。
en: >-
The logon password for the instance. The password must be 8 to 30 characters in length and contain characters from at least three of the following categories: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
MinLength: 8
Label:
zh-cn: 实例密码
en: Instance Password
AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
NoEcho: true
MaxLength: 30
Type: String
InstanceType:
AssociationProperty: 'ALIYUN::ECS::Instance::InstanceType'
AssociationPropertyMetadata:
InstanceChargeType: '${InstanceChargeType}'
ZoneId: ZoneId
Type: String
Label:
zh-cn: 实例类型
en: Instance Type
InternetChargeType:
Type: String
Description:
zh-cn: >-
<font color='blue'><b>可选值:</b></font><br>[PayByBandwidth: <font
color='green'>按带宽付费。</font>]<br>[PayByTraffic: <font
color='green'>按流量付费。</font>],<br>默认为PayByTraffic
en: >-
<font color='blue'><b>Valid values:</b></font><br>[PayByBandwidth: <font color='green'>Pay-by-bandwidth.</font>]<br>[PayByTraffic: <font color='green'>Pay-by-traffic.</font>]<br>The default value is PayByTraffic.
Label:
en: Internet Billing Method
zh-cn: 流量付费类型
AllowedValues:
- PayByBandwidth
- PayByTraffic
Default: PayByTraffic
InternetMaxBandwidthOut:
Type: Number
Description:
en: >-
The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. Default value: 0.
zh-cn: ECS最大出带宽。取值范围:0~100。单位:Mbps。默认值:0。
Label:
en: Maximum Public Bandwidth
zh-cn: 实例公网带宽
Default: 0
MaxValue: 100
MinValue: 0
Outputs:
InstanceIds:
Value:
'Fn::GetAtt':
- ECSInstances
- InstanceIds
Conditions: {}
Resources:
ECSInstances:
Type: 'ALIYUN::ECS::InstanceGroup'
Properties:
SystemDiskCategory:
Ref: SystemDiskCategory
VpcId:
Ref: VpcId
InstanceChargeType:
Ref: InstanceChargeType
AllocatePublicIP: true
SecurityGroupId:
Ref: SecurityGroupId
InternetChargeType:
Ref: InternetChargeType
InternetMaxBandwidthOut:
Ref: InternetMaxBandwidthOut
DiskMappings:
- Category:
Ref: DataDiskCategory
Size:
Ref: DataDiskSize
SystemDiskSize:
Ref: SystemDiskSize
ImageId: centos_7
PeriodUnit:
Ref: ECSPeriodUnit
VSwitchId:
Ref: VSwitchId
Period:
Ref: ECSPeriod
Password:
Ref: Password
InstanceType:
Ref: InstanceType
ZoneId:
Ref: ZoneId
MaxAmount: 1
Metadata:
'ALIYUN::ROS::Designer':
id: 3d97f557-f6c2-475f-bdca-942c45e583b5
Metadata:
'ALIYUN::ROS::Interface':
ParameterGroups:
- Parameters:
- ZoneId
Label:
default:
zh-cn: 可用区配置
en: Zone Configuration
- Parameters:
- VpcId
- VSwitchId
- SecurityGroupId
Label:
default:
zh-cn: 选择已有基础资源配置
en: Select Existing Infrastructure Resources
- Parameters:
- InstanceChargeType
- ECSPeriodUnit
- ECSPeriod
- InstanceType
- SystemDiskCategory
- SystemDiskSize
- DataDiskCategory
- DataDiskSize
- InternetChargeType
- InternetMaxBandwidthOut
- Password
Label:
default:
zh-cn: ECS 配置(必填)
en: ECS Configuration (Required)
TemplateTags:
- 'acs:example:ISV Software Deployment:Create a single ECS instance from a custom image'