Um modelo é um projeto que define os recursos de serviços em nuvem e suas dependências para implantação por meio do Resource Orchestration Service (ROS). Este exemplo orienta você na criação de um modelo que provisiona uma Virtual Private Cloud (VPC) e um vSwitch.
Pré-requisitos
Familiarize-se com os requisitos de estruturas de modelos. Para mais informações, consulte Template structure.
Escolha um editor de modelos
Use o editor online, que oferece sugestões automáticas de sintaxe e validação de propriedades de recursos.
Editor online: não requer instalação e está pronto para uso imediato. Ideal para escrever modelos de implantação e gerenciamento de recursos em cenários simples. Para mais detalhes sobre como usar o editor online, consulte Write templates with the ROS online editor.
Defina um modelo
Para definir um modelo, declare os recursos desejados na seção Resources. Consulte Resource type index para visualizar todos os tipos de recursos suportados. A documentação de cada tipo de recurso lista as propriedades e valores de retorno aceitos, indicando se uma propriedade é obrigatória ou editável. Declare as propriedades obrigatórias na parte Properties da seção Resources. É possível alterar as propriedades editáveis durante a atualização da stack; já as não editáveis não admitem modificações após a criação.
-
Visualize os detalhes dos tipos de recursos desejados.
Consulte Resource type index para identificar os tipos de recursos adequados ao seu cenário de implantação. Neste exemplo, utilize os tipos ALIYUN::ECS::VPC e ALIYUN::ECS::VSwitch, apropriados para criar uma VPC e um vSwitch.
Acesse a documentação de cada tipo de recurso e verifique as propriedades disponíveis.
-
Na seção Parameters, defina os parâmetros do modelo.
Defina VpcCidrBlock para a VPC e ZoneId,
VSwitchNameeVSwitchCidrBlockpara o vSwitch. Os parâmetros desta seção aparecem como elementos gráficos no console do ROS. Para mais informações, consulte ALIYUN::ECS::VPC e ALIYUN::ECS::VSwitch. O bloco CIDR do vSwitch deve estar contido no bloco CIDR da VPC.Parameters: VpcCidrBlock: Type: String Default: 192.168.0.0/16 AllowedValues: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ZoneId: Type: String AssociationProperty: ALIYUN::ECS::Instance::ZoneId VSwitchName: Type: String VSwitchCidrBlock: Type: String Default: 192.168.0.0/24 AllowedValues: - 10.0.0.0/24 - 172.16.0.0/24 - 192.168.0.0/24 -
Na seção Resources, especifique os recursos que deseja criar.
VpcId, ZoneId e CidrBlock são obrigatórios para o vSwitch. As demais propriedades são opcionais. Para mais detalhes, consulte ALIYUN::ECS::VPC e ALIYUN::ECS::VSwitch. Use a função Ref para referenciar parâmetros ou informe valores diretamente. Para mais informações, consulte Ref.
Resources: Vpc: Type: ALIYUN::ECS::VPC Properties: VpcName: MyTest CidrBlock: Ref: VpcCidrBlock VSwitch: Type: ALIYUN::ECS::VSwitch Properties: VpcId: Ref: Vpc ZoneId: Ref: ZoneId VSwitchName: Ref: VSwitchName CidrBlock: Ref: VSwitchCidrBlock -
Na seção Outputs, configure as saídas do modelo.
Defina VpcId e VSwitchId como saídas. Para mais informações, consulte ALIYUN::ECS::VPC e ALIYUN::ECS::VSwitch. Use a função Fn::GetAtt para obter valores de propriedades dos recursos. Para mais detalhes, consulte Fn::GetAtt.
Outputs: VpcId: Value: Fn::GetAtt: - Vpc - VpcId VSwitchId: Value: Fn::GetAtt: - VSwitch - VSwitchId -
Siga a estrutura do modelo para compor o conteúdo completo.
ROSTemplateFormatVersion: '2015-09-01' Parameters: VSwitchName: Type: String VSwitchCidrBlock: Default: 192.168.0.0/24 Type: String AllowedValues: - 10.0.0.0/24 - 172.16.0.0/24 - 192.168.0.0/24 VpcCidrBlock: Default: 192.168.0.0/16 Type: String AllowedValues: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 ZoneId: AssociationProperty: ALIYUN::ECS::Instance::ZoneId Type: String Resources: VSwitch: Type: ALIYUN::ECS::VSwitch Properties: VSwitchName: Ref: VSwitchName VpcId: Ref: Vpc CidrBlock: Ref: VSwitchCidrBlock ZoneId: Ref: ZoneId Vpc: Type: ALIYUN::ECS::VPC Properties: VpcName: MyTest CidrBlock: Ref: VpcCidrBlock Outputs: VpcId: Value: Fn::GetAtt: - Vpc - VpcId VSwitchId: Value: Fn::GetAtt: - VSwitch - VSwitchId
Próximos passos
Use o modelo definido para criar uma stack ou salve-o como modelo privado. Para mais informações, consulte Stack quick start e Create a template.
Referências
-
Configure definições avançadas de modelos:
Get started with ROS templates: explica como criar um modelo.
Metadata: detalha como definir o layout visualizado de um modelo.
Mappings: descreve como configurar os mapeamentos de um modelo.
Conditions e Functions: orientam sobre a definição de condições com funções integradas.
Rules: aborda como estabelecer as regras de um modelo.
-
Melhores práticas para modelos: