All Products
Search
Document Center

Resource Orchestration Service:Getting started

Last Updated:Jan 09, 2024

This topic describes the basic operations that you can perform in Resource Orchestration Service (ROS) to help you get started with ROS. For example, you can create a template, and create, view, and delete a stack in ROS.

Prerequisites

An Alibaba Cloud account is created. If you do not have an Alibaba Cloud account, go to the account creation page to create an account.

Sample scenario

If you want to deploy multiple cloud resources and their dependencies at a time, or deploy cloud resources that have the same dependencies across regions, you can use ROS to achieve automated deployment. The cloud resources include Elastic Compute Service (ECS) instances and virtual private clouds (VPCs). This topic describes how to create a VPC and a vSwitch by using ROS.

Step 1: Create a template

A template is a JSON, YAML, or Terraform file that is encoded in UTF-8. Before you can use a template to create a stack, you must define Alibaba Cloud resources, resource configurations, and resource dependencies in the template. You can create a template that follows the required template structure and includes the desired resource types. You can also use a sample template.

For more information about template structures, see Template structure and Structure of Terraform templates.

The following sample code provides an example on how to create a YAML template. In this example, the template is used to create a VPC and a vSwitch.

Create a VPC and a vSwitch

ROSTemplateFormatVersion: '2015-09-01'
Description: Example of provisioning VPC and vSwitch.
Parameters:
  VpcName:
    Type: String
    Description:
         
      en: The name must be 2 to 128 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter and cannot start with http:// or  https://.
    Default: null
  VpcCidrBlock:
    Type: String
    Description:
       
      en: The CIDR block of the VPC.
    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
    Description:
       
      en: Zone ID.
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
  VSwitchName:
    Type: String
    Description:
         
      en: The name must be 2 to 128 characters in length and can contain letters, digits, underscores (_), and hyphens (-). It must start with a letter and cannot start with http:// or  https://.
    Default: null
  VSwitchCidrBlock:
    Type: String
    Description:
       
      en: The CIDR block of the VSwitch.
    Default: 192.168.0.0/24
    AllowedValues:
      - 10.0.0.0/24
      - 172.16.0.0/24
      - 192.168.0.0/24
  Tags:
    Type: Json
    Description:
        
      en: A maximum of 20 tags can be specified. Each tag is a key-value pair. The tag value can be left empty.
    Default:
      - Key: ros
        Value: beginner-tutorial
Resources:
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName:
        Ref: VpcName
      CidrBlock:
        Ref: VpcCidrBlock
      Tags:
        Ref: Tags
  VSwitch:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VpcId:
        Ref: Vpc
      ZoneId:
        Ref: ZoneId
      VSwitchName:
        Ref: VSwitchName
      CidrBlock:
        Ref: VSwitchCidrBlock
      Tags:
        Ref: Tags
Outputs:
  VpcId:
    Description: The VPC ID allocated by the system.
    Value:
      Fn::GetAtt:
        - Vpc
        - VpcId
  VSwitchId:
    Description: The VSwitch ID allocated by the system.
    Value:
      Fn::GetAtt:
        - VSwitch
        - VSwitchId
                

The template includes the following sections:

  • ROSTemplateFormatVersion: the format version of the template. In this example, the format version is 2015-09-01.

  • Description: the description of the template, which provides information such as the scenarios and architecture of the template. We recommend that you specify a detailed description to help better understand the content of the template.

  • Parameters: the parameters that you want to define in the template. In this example, the following parameters are defined: VpcName, VpcCidrBlock, ZoneId, VSwitchName, VSwitchCidrBlock, and Tags. For more information about how to define parameters, see Overview.

  • Resources: the Alibaba Cloud resources that you want to include in the template. In this example, a VPC and a vSwitch are created. The parameters defined in the Parameters section are referenced by the resource properties. For more information, see Resources, ALIYUN::ECS::VPC, and ALIYUN::ECS::VSwitch.

  • Outputs: the resource information that you want to obtain after the stack is created. In this example, the VPC ID and the vSwitch ID are obtained. For more information, see Outputs.

Step 2: Create a stack

  1. Log on to the ROS console.

  2. In the left-side navigation pane, click Stacks.

  3. In the top navigation bar, select the region where you want to create a stack from the region drop-down list. For example, select China (Hangzhou).

  4. On the Stacks page, click Create Stack and select Use ROS from the drop-down list.

  5. In the Select Template step, select Select an Existing Template in the Specify Template section and set Template Import Method to Enter Template Content. On the ROS tab in the Template Content code editor, enter the YAML template that you created in Step 1: Create a template. Then, click Next.

  6. In the Configure Parameters step, specify Stack Name, configure the following template parameters, and then click Next.

    For more information about how to configure parameters in the Configure Stack Settings section, see Create a stack.

    Parameter

    Description

    Example

    VpcName

    The VPC name.

    myVPC

    VpcCidrBlock

    The CIDR block of the VPC. Valid values:

    • 10.0.0.0/8

    • 172.16.0.0/12

    • 192.168.0.0/16 (default)

    192.168.0.0/16

    ZoneId

    The zone ID.

    Hangzhou Zone K

    VSwitchName

    The vSwitch name.

    myVSwitch

    VSwitchCidrBlock

    The CIDR block of the vSwitch. Valid values:

    • 10.0.0.0/24

    • 172.16.0.0/24

    • 192.168.0.0/24

    Note

    The vSwitch and the VPC must share the same CIDR block.

    192.168.0.0/24

    Tags

    The tags of the stack.

    A tag is a key-value pair. You can add up to 20 tags. You can leave the tag value empty.

    [{"Key": "ros", "Value": "beginner-tutorial"}]

  7. Click Create.

Step 3: View the stack

  1. In the left-side navigation pane, click Stacks.

  2. In the top navigation bar, select the region where the stack you want to view resides from the region drop-down list. For example, select China (Hangzhou).

  3. On the Stacks page, find the stack and click the stack ID in the Stack Name column.

    On the stack management page, you can perform the following operations to view the stack information:

    • Click the Stack Information tab to view information in the Basic Information and Stack Policy sections.

    • Click the Events tab to view events that occur during the stack lifecycle.

    • Click the Resources tab to view information about each resource in the stack.

    • Click the Outputs tab to view information about the outputs specified in the template when you created the stack.

    • Click the Parameters tab to view parameters specified in the template when you created the stack, including the ROS pseudo parameters that start with ALIYUN::.

    • Click the Drifts tab to view information in the Stack Drift Status and Resource Drift Status sections.

    • Click the Template tab to view the template of the stack.

    • Click the Change Sets tab to view the change sets of the stack.

Step 4: Use the resources in the stack

After the stack is created, you can use the resources that are contained in the stack based on your business requirements. For example, you can deploy Alibaba Cloud resources in the vSwitch of the VPC.

  1. Log on to the ROS console. In the left-side navigation pane, click Stacks.

  2. On the Stacks page, click the ID of the stack that you want to manage.

  3. Click the Resources tab and the vSwitch ID.

  4. In the VPC console, view the basic information about the vSwitch, such as the ID, zone, and VPC ID.

  5. Deploy Alibaba Cloud resources in the vSwitch.

    For more information, see Create cloud resources.

Step 5: (Optional) Update the stack

If you want to update resources in a stack, you can update the stack. In this example, the value of VpcName is updated.

  1. Log on to the ROS console. In the left-side navigation pane, click Stacks.

  2. On the Stacks page, find the stack that you want to update and click Update in the Actions column.

  3. In the Configure Template Parameters section of the Configure Parameters step, update the parameter configurations. In this example, the value of VpcName is updated to testVPC.

  4. Click Confirm.

Step 6: (Optional) Delete the stack

You can delete a stack that you no longer need and release resources from the stack to prevent unnecessary costs.

  1. Log on to the ROS console. In the left-side navigation pane, click Stacks.

  2. On the Stacks page, find the stack that you want to delete and click Delete in the Actions column.

  3. In the Delete Stack dialog box, set Method to Delete the Stack to Release Resources.

  4. Click OK.

References

  • For more information about how to create a stack, see Create a stack.

  • For more information about how to deploy a stack across accounts and regions, see Overview.

  • For more information about how to preview the architecture of resources and manage resources on a visualized interface, see Overview.

  • For more information about the template syntax and structure, see Getting started with templates and Structure of Terraform templates.

  • For more information about how to manage existing resources, see Overview.