すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:Resource Orchestration Service テンプレートのクイックスタート

最終更新日:May 12, 2026

テンプレートは、インフラストラクチャとアーキテクチャを記述する設計図です。テンプレートでクラウド リソースとその依存関係を定義し、Resource Orchestration Service (ROS) を使用してデプロイを完了できます。このトピックでは、テンプレートの記述方法とテスト方法、リソースとその依存関係の定義方法について説明し、すぐに使い始めることができるようにします。

背景情報

ROS テンプレートの構造を理解したら、最初のテンプレートの記述を始めることができます。詳細については、「テンプレート記述のクイックスタート」をご参照ください。

このトピックでは、VPC を作成する簡単なテンプレートの記述とテストについて説明します。その後、複数のリソース、その依存関係、およびパラメーターの定義など、より高度な概念へと進みます。このトピックは、次のセクションで構成されています:

テンプレートの記述

テンプレートを記述する上で最も重要な部分は、Resources セクションで作成するリソースを宣言することです。ROS がサポートするすべてのリソースタイプは、リソースタイプインデックスで確認できます。特定のリソースタイプをクリックすると、サポートされているプロパティと戻り値が表示されます。テンプレートの記述方法の詳細については、「テンプレート記述のクイックスタート」をご参照ください。次のサンプルテンプレートでは、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

テンプレートのテスト

テンプレートを記述した後、テンプレートからスタックを作成して、期待どおりのリソースが作成されるかどうかをテストできます。

  1. ROS コンソール にログオンします。

  2. スタックを作成します。

    1. 左側のナビゲーションウィンドウで、[スタック] をクリックします。

    2. 上部のメニューバーで、リージョンのドロップダウンリストからスタックのリージョンを選択します。たとえば、中国 (杭州) を選択します。

    3. [スタック] ページで、[スタックの作成] をクリックします。[テンプレートの指定] セクションで、[既存テンプレートの選択] をクリックします。

      説明
      • [テンプレートの作成] または [Infrastructure Composer] を選択すると、対応するページにリダイレクトされます。

    4. テンプレートの選択 ページで、 テンプレートの指定 エリアの 既存テンプレートの使用 をクリックします。テンプレートのインポート方法テンプレート内容の入力 に設定します。テンプレート内容 セクションで、 Ros タブを選択し、「テンプレートの記述」セクションの YAML テンプレートを貼り付け、 Next をクリックします。

    5. 設定パラメーター ページで、 スタック名 を入力します。

    6. リソーススタックの設定 セクションで、 失敗時のロールバックタイムアウト時間Tagsリソースグループスタックポリシーリソースの最大同時数保護の削除Ramの役割リソーススタックイベントコールバックアドレスマニュアル支払い などの項目を設定し、 [Next] をクリックします。

    7. チェックと確認 ページで、 テンプレートリソースのプレビュー をクリックします。プレビュー ダイアログボックスで、ROS が検証したリソース名、タイプ、プロパティを確認し、 決定 をクリックします。

    8. チェックと確認 ページで、 作成 をクリックします。

  3. スタックを表示します。

    1. スタック管理ページで、 Event タブをクリックして、テンプレート内のリソースのイベントの一覧を表示します。

    2. リソース タブをクリックして、作成されたリソースの詳細を表示します。

      説明

      リソース ID をクリックしてコンソールを開き、詳細を表示して、リソースが期待どおりであることを確認することもできます。

    3. 出力 タブをクリックして、テンプレートの Outputs セクションで定義された出力を表示します。

複数のリソースとその依存関係の定義

VPC の基本的なテンプレートの記述方法を理解したら、複数のリソースとその依存関係を定義できます。たとえば、vSwitch は VPC に依存します。つまり、特定の VPC に vSwitch を作成する必要があります。テンプレートで VPC、vSwitch、およびそれらの依存関係を定義することで、より複雑なシナリオに対応するスタックを作成できます。

  1. 関数を使用して、リソースの出力プロパティの値を取得します。

    たとえば、VPC リソースが Resources セクションで定義されている場合、 {"Fn::GetAtt": ["VPC", "VpcId"]} を使用して、その VpcId 出力プロパティを取得できます。

  2. 関数を使用して、リソース ID またはパラメーター値を取得します。

    たとえば、VPC リソースが Resources セクションで定義されている場合、 {"Ref": "VPC"} を使用してそのリソース ID を参照できます。

    説明
    • Ref 関数は {"Fn::GetAtt": ["VPC", "VpcId"]} と同じ値を返しますが、{"Ref": "VPC"} のように、より簡潔に記述できます。

    • Ref および Fn::GetAtt 関数は、リソースの依存関係を暗黙的に宣言します。DependsOn 属性を使用して、依存関係を明示的に宣言することもできます。

  3. テンプレートの最適化

    次のサンプルテンプレートでは、myvsw という名前の vSwitch を追加します。これは、cn-beijing-f アベイラビリティーゾーンに作成され、CIDR ブロック 192.168.0.0/24 を使用し、VPC を参照します。Outputs セクションは、vSwitch ID を含めるように更新されています。

    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

パラメーター値とプロパティの定義

Parameters セクションを使用すると、テンプレートの柔軟性と再利用性が向上します。このセクションでは、パラメーターを定義して、許可された値の一覧を動的に表示したり、類似のパラメーターをグループ化したりできます。

  • パラメーターの定義

    テンプレートでリソース プロパティに固定値を指定するのは簡単ですが、柔軟性に欠けます。たとえば、ZoneIdcn-beijing-f に設定した場合、その特定のアベイラビリティーゾーンでのみスタックを作成できます。アベイラビリティーゾーンを変更するには、テンプレートを手動で編集する必要があります。これを回避するには、頻繁に使用されるプロパティや共通のプロパティを抽出し、パラメーターとして定義します。これにより、テンプレートを変更することなく、スタックを作成するたびに異なるプロパティ値を指定できます。この後のサンプルテンプレートコードで定義されているパラメーターを次の表に示します。

    • テンプレート内のパラメーター

      パラメーター

      説明

      ZoneId

      vSwitch の ZoneId プロパティを指定します。

      VpcCidrBlock

      VPC の CidrBlock プロパティを指定します。デフォルトは 192.168.0.0/16 です。

      VSwitchCidrBlock

      vSwitch の CidrBlock プロパティを指定します。デフォルトは 192.168.0.0/24 です。

    • サンプルテンプレートコード

      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

      このテンプレートを使用してスタックを作成する場合、ROS コンソールでパラメーター値を設定できます。

      ROS は、テンプレート内のパラメーターとリソース プロパティの間の関連付けを分析し、各パラメーターの有効な値を決定します。たとえば、テンプレートの ZoneId パラメーターは、vSwitch リソースの ZoneId プロパティに関連付けられています。ROS は、vSwitch を利用できるアベイラビリティーゾーンの一覧を取得し、コンソールに表示します。

  • 許可される値を動的に設定

    Parameters セクションでは、複数のプロパティを使用して、コンソールでのパラメーター オプションの表示方法をカスタマイズできます。この後のサンプルテンプレートコードで定義されているプロパティを次の表に示します。

    • パラメーターのプロパティ

      プロパティ

      説明

      AllowedValues

      パラメーターに許可される値の一覧を定義します。ROS コンソールではドロップダウン リストとして表示されます。たとえば、VpcCidrBlock に許可される値は 10.0.0.0/8172.16.0.0/12192.168.0.0/16 です。

      Label

      パラメーターのエイリアスを定義します。ROS コンソールに表示されます。たとえば、ZoneIdAvailability Zone ID と表示されます。

    • サンプルテンプレートコード

      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

      このテンプレートを使用してスタックを作成すると、ROS コンソールでリストから直接パラメーター値を選択できます。

  • 関連付けに基づいてパラメーターを動的に表示

    パラメーターに AssociationProperty および AssociationPropertyMetadata プロパティを定義すると、ROS コンソールは許可された値を動的にクエリして表示します。詳細については、「AssociationProperty と AssociationPropertyMetadata」をご参照ください。

    たとえば、テンプレートを使用して ECS インスタンスを作成し、VpcIdvSwitchId がパラメーターとして定義されていると仮定します。ROS コンソールは、 VpcIdvSwitchId のドロップダウン リストを自動的に表示できます。サンプルテンプレートコードは次のとおりです:

    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}

    このテンプレートを使用してスタックを作成すると、パラメーターが ROS コンソールに動的に表示されます。

  • 類似パラメーターのグループ化

    Metadata セクションを使用して、関連するパラメーターをグループ化できます。テンプレートにパラメーターが多数ある場合、それらをグループ化すると、コンソールで設定しやすくなります。

    たとえば、テンプレート内の ZoneId、VpcCidrBlock、および VSwitchCidrBlock パラメーターを、基本設定とリソース設定のグループにまとめることができます。基本設定グループには ZoneId が、リソース設定グループには VpcCidrBlock と VSwitchCidrBlock がそれぞれ含まれます。これら 2 つのグループは、Metadata の ParameterGroups セクションで定義できます。サンプルテンプレートコードは次のとおりです:

    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

    このテンプレートを使用してスタックを作成すると、パラメーターは ROS コンソールの Basic Settings および Resource Settings グループ内に表示されます。

関連トピック