All Products
Search
Document Center

Resource Orchestration Service:Panduan cepat untuk templat Resource Orchestration Service

Last Updated:May 12, 2026

Templat adalah cetak biru yang menggambarkan infrastruktur dan arsitektur Anda. Anda dapat mendefinisikan cloud resource dan dependensinya dalam sebuah templat, lalu menggunakan Resource Orchestration Service (ROS) untuk menyelesaikan deployment. Topik ini menjelaskan cara menulis dan menguji templat serta mendefinisikan resource dan dependensinya agar Anda dapat segera memulai.

Informasi latar belakang

Setelah memahami struktur templat ROS, Anda dapat mulai menulis templat pertama Anda. Untuk informasi selengkapnya, lihat Panduan cepat menulis templat.

Topik ini memandu Anda menulis dan menguji templat sederhana yang membuat VPC. Selanjutnya, topik ini membahas konsep yang lebih lanjut, seperti mendefinisikan beberapa resource, dependensinya, dan parameter. Topik ini mencakup bagian-bagian berikut:

Menulis templat

Bagian terpenting dalam menulis templat adalah mendeklarasikan resource yang akan dibuat di bagian Resources. Anda dapat menemukan semua tipe resource yang didukung oleh ROS di Resource type index. Klik tipe resource tertentu untuk melihat properti dan return value yang didukungnya. Untuk informasi selengkapnya tentang cara menulis templat, lihat Panduan cepat menulis templat. Contoh templat berikut membuat 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

Menguji templat

Setelah menulis templat, Anda dapat membuat stack darinya untuk menguji apakah templat tersebut membuat resource yang diharapkan.

  1. Masuk ke Resource Orchestration Service console.

  2. Buat stack.

    1. Di panel navigasi sebelah kiri, klik Stacks.

    2. Di bilah menu atas, pilih wilayah tempat Anda ingin membuat stack, misalnya China (Hangzhou).

    3. Di halaman Stacks, klik Create Stack. Di bagian Specify Template, klik Select an Existing Template.

      Catatan
      • Memilih Create Template atau ROS Infrastructure Composer akan mengarahkan Anda ke halaman yang sesuai.

    4. Di halaman Select Template, klik Select an Existing Template di area Specify Template. Atur Template Import Method menjadi Enter Template Content. Di bagian Template Content, pilih tab ROS, tempel templat YAML dari bagian Menulis templat, lalu klik Next.

    5. Di halaman Configure Parameters, masukkan Stack Name.

    6. Di bagian Configure Stack Settings, konfigurasikan pengaturan seperti Rollback on Failure, Timeout Period, Tags, Resource Group, Stack Policy, Maximum Concurrent Resources, Deletion Protection, RAM Role, Stack Event Callback URLs, dan Manual Payment, lalu klik Next.

    7. Di halaman Check and Confirm, klik Preview Template Resources. Di kotak dialog Preview, tinjau nama, tipe, dan properti resource yang telah divalidasi oleh ROS, lalu klik OK.

    8. Di halaman Check and Confirm, klik Create.

  3. Lihat stack.

    1. Di halaman manajemen stack, klik tab Event untuk melihat daftar event untuk resource dalam templat.

    2. Klik tab Resources untuk melihat detail resource yang telah dibuat.

      Catatan

      Anda juga dapat mengklik ID resource untuk membuka konsolnya, melihat detail lebih lanjut, dan memverifikasi bahwa resource tersebut sesuai dengan harapan Anda.

    3. Klik tab Output untuk melihat output yang didefinisikan di bagian Outputs templat.

Mendefinisikan beberapa resource dan dependensinya

Setelah mempelajari cara menulis templat dasar untuk VPC, Anda dapat mendefinisikan beberapa resource dan dependensinya. Misalnya, vSwitch bergantung pada VPC, artinya Anda harus membuat vSwitch di VPC tertentu. Dengan mendefinisikan VPC, vSwitch, dan dependensinya dalam templat, Anda dapat membuat stack untuk skenario yang lebih kompleks.

  1. Gunakan fungsi untuk mendapatkan nilai properti output suatu resource.

    Misalnya, jika resource VPC didefinisikan di bagian Resources, Anda dapat menggunakan {"Fn::GetAtt": ["VPC", "VpcId"]} untuk mendapatkan properti output VpcId-nya.

  2. Gunakan fungsi untuk mendapatkan ID resource atau nilai parameter.

    Misalnya, jika resource VPC didefinisikan di bagian Resources, Anda dapat menggunakan {"Ref": "VPC"} untuk mereferensikan ID resourcenya.

    Catatan
    • Fungsi {"Ref": "VPC"} mengembalikan nilai yang sama dengan {"Fn::GetAtt": ["VPC", "VpcId"]}, tetapi Ref lebih ringkas.

    • Fungsi Ref dan Fn::GetAtt secara implisit mendeklarasikan dependensi resource. Anda juga dapat mendeklarasikan dependensi secara eksplisit dengan menggunakan atribut DependsOn.

  3. Optimalkan templat.

    Contoh templat berikut menambahkan vSwitch bernama myvsw. vSwitch tersebut dibuat di zona ketersediaan cn-beijing-f, menggunakan blok CIDR 192.168.0.0/24, dan mereferensikan VPC. Bagian Outputs diperbarui untuk menyertakan ID 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

Mendefinisikan nilai parameter dan properti

Bagian Parameters membuat templat lebih fleksibel dan dapat digunakan kembali. Di bagian ini, Anda dapat mendefinisikan parameter untuk menampilkan daftar nilai yang diizinkan secara dinamis, mengelompokkan parameter serupa, dan lainnya.

  • Mendefinisikan parameter

    Menentukan nilai tetap untuk properti resource dalam templat memang mudah, tetapi tidak fleksibel. Misalnya, jika Anda mengatur ZoneId ke cn-beijing-f, Anda hanya dapat membuat stack di zona ketersediaan tersebut. Untuk mengubah zona ketersediaan, Anda harus mengedit templat secara manual. Untuk menghindarinya, Anda dapat mengekstraksi properti yang sering digunakan atau umum dan mendefinisikannya sebagai parameter. Hal ini memungkinkan Anda memberikan nilai properti yang berbeda setiap kali membuat stack tanpa mengubah templat. Tabel berikut menjelaskan parameter yang didefinisikan dalam contoh kode templat berikut.

    • Parameter dalam templat

      Parameter

      Deskripsi

      ZoneId

      Menentukan properti ZoneId untuk vSwitch.

      VpcCidrBlock

      Menentukan properti CidrBlock untuk VPC. Nilai default-nya adalah 192.168.0.0/16.

      VSwitchCidrBlock

      Menentukan properti CidrBlock untuk vSwitch. Nilai default-nya adalah 192.168.0.0/24.

    • Contoh kode templat

      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

      Saat menggunakan templat ini untuk membuat stack, Anda dapat mengatur nilai parameternya di Resource Orchestration Service console.

      ROS menganalisis asosiasi antara parameter dan properti resource dalam templat untuk menentukan nilai yang valid bagi setiap parameter. Misalnya, parameter ZoneId dalam templat dikaitkan dengan properti ZoneId resource vSwitch. ROS mengambil daftar zona ketersediaan yang mendukung vSwitch dan menampilkannya di konsol.

  • Menetapkan nilai yang diizinkan secara dinamis

    Bagian Parameters mendukung beberapa properti yang memungkinkan Anda menyesuaikan cara opsi parameter ditampilkan di konsol. Tabel berikut menjelaskan properti yang didefinisikan dalam contoh kode templat berikut.

    • Properti parameter

      Properti

      Deskripsi

      AllowedValues

      Menentukan daftar nilai yang diizinkan untuk parameter, yang ditampilkan oleh Resource Orchestration Service console sebagai daftar drop-down. Misalnya, nilai yang diizinkan untuk VpcCidrBlock adalah 10.0.0.0/8, 172.16.0.0/12, dan 192.168.0.0/16.

      Label

      Menentukan alias untuk parameter, yang ditampilkan di Resource Orchestration Service console. Misalnya, ZoneId ditampilkan sebagai Availability Zone ID.

    • Contoh kode templat

      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

      Saat menggunakan templat ini untuk membuat stack, Anda dapat langsung memilih nilai parameternya dari daftar di Resource Orchestration Service console.

  • Menampilkan parameter secara dinamis berdasarkan asosiasi

    Saat Anda mendefinisikan properti AssociationProperty dan AssociationPropertyMetadata untuk suatu parameter, Resource Orchestration Service console secara dinamis mengambil dan menampilkan nilai yang diizinkan untuknya. Untuk informasi selengkapnya, lihat AssociationProperty dan AssociationPropertyMetadata.

    Misalnya, asumsikan templat digunakan untuk membuat instance ECS, dan VpcId serta vSwitchId didefinisikan sebagai parameter. Resource Orchestration Service console secara otomatis menampilkan daftar drop-down untuk VpcId dan vSwitchId. Berikut adalah contoh kode templat:

    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}

    Saat menggunakan templat ini untuk membuat stack, parameter-parameter tersebut ditampilkan secara dinamis di Resource Orchestration Service console.

  • Mengelompokkan parameter serupa

    Anda dapat menggunakan bagian Metadata untuk mengelompokkan parameter terkait. Saat templat memiliki banyak parameter, pengelompokan ini mempermudah konfigurasi di konsol.

    Misalnya, Anda dapat mengelompokkan parameter ZoneId, VpcCidrBlock, dan VSwitchCidrBlock dalam templat ke dalam kelompok Basic Settings dan Resource Settings. Kelompok Basic Settings berisi parameter ZoneId, sedangkan kelompok Resource Settings berisi parameter VpcCidrBlock dan VSwitchCidrBlock. Anda dapat mendefinisikan kedua kelompok ini di bagian ParameterGroups dalam Metadata. Contoh kode templatnya adalah sebagai berikut:

    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

    Saat menggunakan templat ini untuk membuat stack, parameter-parameter tersebut muncul di bawah kelompok Basic Settings dan Resource Settings di Resource Orchestration Service console.

Topik terkait