资源栈快速入门

本文为您介绍如何在ROS中编写模板、创建资源栈、查看资源栈、删除资源栈等操作,帮助您快速上手资源编排ROS。

前提条件

请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

场景示例

如果您想同时部署多个云产品资源及其依赖关系,或者在多个地域下部署相同依赖关系的云产品资源(例如ECS实例、VPC实例等),您可以选择资源编排服务,为您实现自动化部署功能。本文以快速创建专有网络和交换机为例向您介绍。

背景信息

步骤一:编写模板

模板是一个JSON、YAML或Terraform格式的文本文件,使用UTF-8编码。您需要使用模板定义阿里云资源和配置细节,并说明资源间的依赖关系,然后基于模板创建资源栈。您可以根据模板结构和资源类型自行编写模板,也可以直接使用模板示例。模板编写具体操作,请参见模板编写快速入门。关于模板结构的更多信息,请参见JSON和YAML类型模板结构Terraform类型模板结构

创建专有网络和交换机的YAML模板示例如下:

Create a VPC and a vSwitch

ROSTemplateFormatVersion: '2015-09-01'
Description: Example of provisioning VPC and vSwitch.
Parameters:
  VpcName:
    Type: String
    Description:
      zh-cn: 长度为2~128个字符。必须以英文字母或汉字开头,不能以http://或https://开头。可包含英文字母、汉字、数字、下划线(_)和短划线(-)。
      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:
      zh-cn: 专有网络网段
      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:
      zh-cn: 可用区
      en: Zone ID.
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
  VSwitchName:
    Type: String
    Description:
      zh-cn: 长度为2~128个字符。必须以英文字母或汉字开头,不能以 http://或 https://开头。可包含英文字母、汉字、数字、下划线(_)和短划线(-)。
      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:
      zh-cn: 交换机网段
      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:
      zh-cn: 最多设置20个标签,每个标签由键值对组成。标签值可以为空。
      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
                

模板含义如下:

  • ROSTemplateFormatVersion:模板的版本号,当前版本号:2015-09-01。

  • Description:模板的描述信息,可用于说明模板的适用场景、架构说明等。通常情况下,对模板进行详细描述,有利于用户理解模板的内容。

  • Parameters:模板的参数。示例中定义了专有网络名称(VpcName)、专有网络网段(VpcCidrBlock)、可用区ID(ZoneId)、交换机名称(VSwitchName)、交换机网段(VSwitchCidrBlock)和标签(Tags)等参数。关于参数定义的更多信息,请参见参数(Parameters)

  • Resources:模板所包含的阿里云资源。示例将创建一个专有网络和一个交换机。资源属性将引用Parameters中定义的参数。更多信息,请参见资源(Resources)ALIYUN::ECS::VPCALIYUN::ECS::VSwitch

  • Outputs:资源栈创建完成后,输出的资源信息。示例将输出专有网络ID和交换机ID。更多信息,请参见输出(Outputs)

步骤二:创建资源栈

  1. 登录资源编排控制台

  2. 在左侧导航栏,单击资源栈

  3. 在顶部菜单栏的地域下拉列表,选择资源栈的所在地域,例如:华东1(杭州)。

  4. 资源栈列表页面,单击创建资源栈,然后在下拉列表中选择使用ROS

  5. 指定模板页面,在指定模板区域单击选择已有模板、选择模板录入方式输入模板,然后在模板内容区域的ROS页签输入步骤一:编写模板中编写的YAML格式的模板,最后单击下一步

  6. 配置参数页面,输入资源栈名称,并配置以下模板参数,然后单击下一步

    关于资源栈属性配置,请参见创建资源栈

    参数

    说明

    示例

    VpcName

    专有网络名称。

    myVPC

    VpcCidrBlock

    专有网络网段。取值:

    • 10.0.0.0/8

    • 172.16.0.0/12

    • 192.168.0.0/16(默认值)

    192.168.0.0/16

    ZoneId

    可用区ID。

    华东1可用区K

    VSwitchName

    交换机名称。

    myVSwitch

    VSwitchCidrBlock

    交换机网段。取值:

    • 10.0.0.0/24

    • 172.16.0.0/24

    • 192.168.0.0/24

    说明

    交换机跟专有网络需处于同一网段。

    192.168.0.0/24

    Tags

    标签。

    最多支持设置20个标签,每个标签由键值对组成。标签值可以为空。

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

  7. 单击创建

步骤三:查看资源栈

  1. 在左侧导航栏单击资源栈

  2. 在顶部菜单栏的地域下拉列表,选择资源栈的所在地域,例如:华东1(杭州)。

  3. 资源栈列表页面,找到需要查看的资源栈,单击资源栈名称列的资源栈ID。

    在资源栈管理页面,您可以执行以下操作:

    • 单击资源栈信息页签,查看基本信息资源栈策略

    • 单击事件页签,查看资源栈生命周期中发生的每一个事件。

    • 单击资源页签,查看资源栈所包括的每一个资源的信息。

    • 单击输出页签,查看创建资源栈时,模板中指定的输出信息。

    • 单击参数页签,查看创建资源栈时,模板中指定的参数,包括ROS提供的以ALIYUN::开始的伪参数。

    • 单击偏差页签,查看资源栈偏差状态资源偏差状态

    • 单击模板页签,查看资源栈所对应的模板信息。

    • 单击更改集页签,查看该资源栈下的更改集。

步骤四:使用资源栈中的资源

资源栈创建成功后,您可以根据需要使用资源栈中的资源,例如:在专有网络的交换机中部署阿里云资源。

  1. 在资源编排控制台的左侧导航栏,单击资源栈

  2. 资源栈列表页面,单击目标资源栈ID。

  3. 单击资源页签,然后单击交换机资源ID。

  4. 在专有网络控制台,查看交换机基本信息,包括交换机ID、可用区、所属的专有网络ID等信息。

  5. 在交换机中部署阿里云资源。

    具体操作,请参见创建云资源

步骤五(可选):更新资源栈

当您需要更新资源栈中的资源(例如:VpcName)时,可以更新资源栈。

  1. 在资源编排控制台的左侧导航栏,单击资源栈

  2. 资源栈列表页面,单击目标资源栈操作列的更新

  3. 配置模板参数页面,更新参数信息(例如:将VpcName更新为testVPC)。

  4. 单击确认修改

步骤六(可选):删除资源栈

当您不再需要已创建的资源时,可以删除资源栈,释放资源,以免产生不必要的费用。

  1. 在资源编排控制台的左侧导航栏,单击资源栈

  2. 资源栈列表页面,单击目标资源栈操作列的删除

  3. 删除资源栈对话框,选择删除方式释放资源

  4. 单击确定

后续操作