Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Get started with ROS templates

Última atualização: Jul 20, 2026

Um modelo define recursos de cloud e suas dependências. O Resource Orchestration Service (ROS) implanta modelos como stacks. Este guia aborda a escrita, o teste e a parametrização de modelos.

Visão geral

Para conhecer a estrutura dos modelos do ROS, consulte Quick start for writing a template.

Este guia começa com um modelo simples de VPC e, em seguida, aborda dependências de recursos e parametrização:

Escreva um modelo

Declare os recursos na seção Resources. Consulte os tipos e propriedades compatíveis no Resource type index ou siga o Quick start for writing a template. O exemplo a seguir cria uma VPC:

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  VPC:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName: myvpc
      CidrBlock: 192.168.0.0/16
Outputs:
  VpcId:
    Value:
      Ref: VPC
  VRouterId:
    Value:
      Fn::GetAtt:
        - VPC
        - VRouterId

Teste o modelo

Crie uma stack a partir do modelo para verifique se ele provisiona os recursos conforme o esperado.

  1. Faça login no console do ROS.

  2. Crie uma stack.

    1. No painel de navegação à esquerda, clique em Stacks.

    2. Na barra de navegação superior, selecione a região onde deseja criar a stack, como China (Hangzhou).

    3. Na página Stacks, clique em Create Stack. Na seção Specify Template, clique em Select an Existing Template.

      Nota
      • Se você selecionar Create Template ou ROS Infrastructure Composer, será redirecionado para a página correspondente.

    4. Na página Select Template, clique em Select an Existing Template na área Specify Template. Defina o Template Import Method como Enter Template Content. Na seção Template Content, selecione a aba ROS, cole o modelo YAML da seção Write a template e clique em Next.

    5. Na página Configure Parameters, insira um Stack Name.

    6. Na seção Configure Stack Settings, configure opções como Rollback on Failure, Timeout Period, Tags, Resource Group, Stack Policy, Maximum Concurrent Resources, Deletion Protection, RAM Role, Stack Event Callback URLs e Manual Payment. Em seguida, clique em Next.

    7. Na página Check and Confirm, clique em Preview Template Resources. Na caixa de diálogo Preview, revise os nomes, tipos e propriedades dos recursos validados pelo ROS e clique em OK.

    8. Ainda na página Check and Confirm, clique em Create.

  3. Visualize a stack.

    1. Na página de gerenciamento da stack, clique na aba Event para ver a lista de eventos dos recursos no modelo.

    2. Clique na aba Resources para visualizar detalhes dos recursos criados.

      Nota

      Clique no ID de um recurso para abrir seu console e verificar a configuração do recurso.

    3. Clique na aba Output para ver as saídas definidas na seção Outputs do modelo.

Defina múltiplos recursos e suas dependências

Um vSwitch deve pertencer a uma VPC. Defina ambos os recursos e sua dependência em um único modelo para provisionar ambientes complexos em uma única stack.

  1. Use functions para obter o valor de uma propriedade de saída de um recurso.

    Por exemplo, se um recurso VPC estiver definido na seção Resources, use {"Fn::GetAtt": ["VPC", "VpcId"]} para obter sua propriedade de saída VpcId.

  2. Use functions para obter um ID de recurso ou um valor de parâmetro.

    Por exemplo, se um recurso VPC estiver definido na seção Resources, use {"Ref": "VPC"} para referenciar seu ID de recurso.

    Nota
    • {"Ref": "VPC"} retorna o mesmo valor que {"Fn::GetAtt": ["VPC", "VpcId"]}, mas é mais conciso.

    • Ref e Fn::GetAtt declaram implicitamente dependências de recursos. Para declarar dependências explicitamente, use o atributo DependsOn.

  3. Adicione um recurso vSwitch.

    O modelo a seguir adiciona um vSwitch chamado myvsw na zona cn-beijing-f com bloco CIDR 192.168.0.0/24, referenciando a VPC. A seção Outputs inclui o ID do vSwitch.

    ROSTemplateFormatVersion: '2015-09-01'
    Resources:
      VPC:
        Type: ALIYUN::ECS::VPC
        Properties:
          VpcName: myvpc
          CidrBlock: 192.168.0.0/16
      VSwitch:
        Type: ALIYUN::ECS::VSwitch
        Properties:
          VpcId:
            Ref: VPC
          ZoneId: cn-beijing-f
          VSwitchName: myvsw
          CidrBlock: 192.168.0.0/24
    Outputs:
      VpcId:
        Value:
          Fn::GetAtt:
            - VPC
            - VpcId
      VRouterId:
        Value:
          Fn::GetAtt:
            - VPC
            - VRouterId
      VSwitchId:
        Value:
          Ref: VSwitch

Defina valores e propriedades de parâmetros

A seção Parameters torna os modelos reutilizáveis. Defina parâmetros para aceitar diferentes valores na criação da stack sem precisar editar o modelo.

  • Defina parâmetros

    Codificar propriedades como ZoneId diretamente limita o modelo a uma única configuração. Defina parâmetros para que cada criação de stack possa fornecer valores diferentes.

    • Parâmetros no modelo

      Parâmetro

      Descrição

      ZoneId

      Define a zona de disponibilidade do vSwitch.

      VpcCidrBlock

      Especifica o bloco CIDR da VPC. Padrão: 192.168.0.0/16.

      VSwitchCidrBlock

      Determina o bloco CIDR do vSwitch. Padrão: 192.168.0.0/24.

    • Exemplo de código do modelo

      ROSTemplateFormatVersion: '2015-09-01'
      Parameters:
        ZoneId:
          Type: String
        VpcCidrBlock:
          Type: String
          Default: 192.168.0.0/16
        VSwitchCidrBlock:
          Type: String
          Default: 192.168.0.0/24
      Resources:
        VPC:
          Type: ALIYUN::ECS::VPC
          Properties:
            VpcName: myvpc
            CidrBlock:
              Ref: VpcCidrBlock
        VSwitch:
          Type: ALIYUN::ECS::VSwitch
          Properties:
            VpcId:
              Ref: VPC
            ZoneId:
              Ref: ZoneId
            VSwitchName: myvsw
            CidrBlock:
              Ref: VSwitchCidrBlock
      Outputs:
        VpcId:
          Value:
            Ref: VPC
        VRouterId:
          Value:
            Fn::GetAtt:
              - VPC
              - VRouterId
        VSwitchId:
          Value:
            Ref: VSwitch

      Ao criar uma stack, defina os valores dos parâmetros no console do ROS.

      O ROS infere valores válidos a partir das associações de propriedades dos recursos. Por exemplo, como ZoneId mapeia para a propriedade ZoneId do vSwitch, o console exibe apenas zonas compatíveis com vSwitches.

  • Defina dinamicamente os valores permitidos

    A seção Parameters oferece suporte a propriedades que personalizam o comportamento do console.

    • Propriedades dos parâmetros

      Propriedade

      Descrição

      AllowedValues

      Restringe a entrada a uma lista predefinida, exibida como uma lista suspensa no console. Exemplo: VpcCidrBlock permite 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.

      Label

      Configura um nome de exibição para o parâmetro no console. Exemplo: ZoneId aparece como Availability Zone ID.

    • Exemplo de código do modelo

      ROSTemplateFormatVersion: '2015-09-01'
      Parameters:
        ZoneId:
          Type: String
          Label: Availability Zone ID
        VpcCidrBlock:
          Type: String
          Label: VPC CIDR Block
          Default: 192.168.0.0/16
          AllowedValues:
            - 10.0.0.0/8
            - 172.16.0.0/12
            - 192.168.0.0/16
        VSwitchCidrBlock:
          Type: String
          Label: vSwitch CIDR Block
          Default: 192.168.0.0/24

      Durante a criação da stack, selecione os valores dos parâmetros nas listas suspensas do console do ROS.

  • Apresente parâmetros dinamicamente com base em associações

    Use AssociationProperty and AssociationPropertyMetadata para permitir que o console consulte e exiba dinamicamente os valores permitidos para um parâmetro.

    Por exemplo, se um modelo usa VpcId e vSwitchId como parâmetros, o console preenche automaticamente as listas suspensas:

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      VpcId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      ZoneId:
        Type: String
        AssociationProperty: ALIYUN::ECS::ZoneId
      VSwitchId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          ZoneId: ${ZoneId}
          VpcId: ${VpcId}

    Ao criar uma stack, os parâmetros são preenchidos dinamicamente no console.

  • Agrupe parâmetros semelhantes

    Use a seção Metadata para agrupar parâmetros relacionados e facilitar a configuração no console.

    Por exemplo, agrupe ZoneId, VpcCidrBlock e VSwitchCidrBlock em dois grupos: Basic Settings (ZoneId) e Resource Settings (VpcCidrBlock, VSwitchCidrBlock):

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      ZoneId:
        Type: String
      VpcCidrBlock:
        Type: String
        Default: 192.168.0.0/16
      VSwitchCidrBlock:
        Type: String
        Default: 192.168.0.0/24
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - ZoneId
            Label:
              default: Basic Settings
          - Parameters:
              - VpcCidrBlock
              - VSwitchCidrBlock
            Label:
              default: Resource Settings

    Ao criar uma stack, os parâmetros aparecem agrupados no console.

Tópicos relacionados