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

Resource Orchestration Service:ROSテンプレートのパラメーターを作成するためにOOSパラメーターストアを使用する

最終更新日:Jan 16, 2025

CloudOps Orchestration Service (OOS) のパラメーターストアでパラメーターを作成し、ROSテンプレートでパラメーター名を指定することで、Resource Orchestration Service (ROS) テンプレートのパラメーターを効率的に照会できます。

背景情報

OOSパラメーターストアでは、共通パラメーターと暗号化パラメーターを保存できます。暗号化パラメーターは、Key Management Service (KMS) を使用して保存された値を暗号化します。このトピックでは、OOSパラメーターストアを使用してパラメーターを作成し、ROSテンプレートでパラメーターを参照し、テンプレートを使用してスタックを作成する方法について説明します。この例では、Elastic Compute Service (ECS) インスタンスのグループが使用されます。次の表に、作成されるパラメーターを示します。

パラメーター

名前

カテゴリ

タイプ

ImageId

my_image

共通パラメーター

String

centos_7_9_x64_20G_alibase_2020****.vhd

SecurityGroupIds

security_group_ids

共通パラメーター

StringList

sg-group1,sg-group2

Password

Password

暗号化パラメーター

String

MyPassword1

パラメーターの詳細については、「ALIYUN::ECS::InstanceGroup」をご参照ください。

説明

テンプレートで参照するパラメーターを作成する場合は、テンプレートを使用してスタックを作成するリージョンを選択する必要があります。たとえば、[中国 (杭州)] リージョンでテンプレートを使用してスタックを作成する場合は、パラメーターを作成するときに [中国 (杭州)] リージョンを選択する必要があります。

手順 1:OOSコンソールでパラメーターを作成する

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

  2. 左側のナビゲーションペインで、[パラメーターストア] をクリックします。

  3. 上部のナビゲーションバーで、パラメーターを作成するリージョンを選択します。

    説明

    パラメーターに選択するリージョンは、スタックを作成するリージョンと同じである必要があります。この例では、[中国 (杭州)] リージョンが選択されています。

  4. ImageId 共通パラメーターを作成します。

    1. [パラメーターストア] ページで、[共通パラメーター] タブをクリックし、次に [共通パラメーターの作成] をクリックします。

    2. [共通パラメーターの作成] ページで、[パラメーター名][値]、および [パラメーターの種類] を構成します。

      この例では、パラメーターは次の値に設定されています。

      • [パラメーター名]: my_image

      • [パラメータータイプ]: String

      • [値]: centos_7_9_x64_20G_alibase_2020****.vhd

    3. [作成] をクリックします。

      パラメーターが作成された後、[共通パラメーター] タブでパラメーター名をクリックして、パラメーターの詳細を表示できます。[説明] タブで、名前、バージョン、タイプ、値など、パラメーターの詳細を表示できます。

  5. SecurityGroupIds 共通パラメーターを作成します。

    1. [パラメーターストア] ページで、[共通パラメーター] タブをクリックし、次に [共通パラメーターの作成] をクリックします。

    2. [共通パラメーターの作成] ページで、[パラメーター名][値]、および [パラメーターの種類] を構成します。

      この例では、パラメーターは次の値に設定されています。

      • [パラメーター名]: security_group_ids

      • [パラメータータイプ]: StringList

      • [値]: sg-group1,sg-group2

    3. [作成] をクリックします。

      パラメーターが作成された後、[共通パラメーター] タブでパラメーター名をクリックして、パラメーターの詳細を表示できます。[説明] タブで、名前、バージョン、タイプ、値など、パラメーターの詳細を表示できます。

  6. パスワード 暗号化パラメーターを作成します。

    1. [パラメーターストア] ページで、[暗号化パラメーター] タブをクリックし、次に [暗号化パラメーターの作成] をクリックします。

    2. [暗号化パラメーターの作成] ページで、[パラメーター名][値]、および [KMSキー ID] を構成します。

      この例では、パラメーターは次の値に設定されています。

      • [パラメーター名]: Password

      • [KMSキー ID]: デフォルトサービス CMK

      • [値]: MyPassword1

    3. [作成] をクリックします。

      パラメーターが作成された後、[暗号化パラメーター] タブで Password パラメーター名をクリックして、パラメーターの詳細を表示できます。[説明] タブで、[値] の横にある [表示] をクリックして、Password パラメーターの値を表示できます。

手順 2:ROSテンプレートを作成する

パラメーターを作成したら、ROSテンプレートを作成し、テンプレートの [パラメーター] セクションまたは [リソース] セクションでパラメーターを参照します。

  • [パラメーター] セクションでパラメーターを参照する

    共通パラメーターの場合は、Type パラメーターを ALIYUN::OOS::Parameter::Value に設定します。暗号化パラメーターの場合は、Type パラメーターを ALIYUN::OOS::SecretParameter::Value に設定します。

    次のコードは、最新バージョンの ImageId パラメーター値を参照する方法の例を示しています。

    Parameters:  // パラメーター
      ImageId:   // ImageId
        Type: ALIYUN::OOS::Parameter::Value // タイプ: ALIYUN::OOS::Parameter::Value
        Default: my_image // デフォルト: my_image

    バージョン 1 のパラメーター値を参照する場合は、コード内の my_image を my_image:1 に置き換えます。

  • [リソース] セクションでパラメーターを参照する

    リソースの [プロパティ] セクションでパラメーターを参照できます。形式: {{resolve:<パラメータータイプ>:<パラメーターキー>:<パラメーターバージョン>}}

    • パラメータータイプ

      必須。パラメーターのカテゴリ。有効な値:

      • oos: 共通パラメーター

      • oos-secret: 暗号化パラメーター

    • パラメーター名

      必須。パラメーターの名前。

    • パラメーターバージョン

      オプション。パラメーターのバージョン。パラメーターバージョンを指定しない場合は、最新バージョンが使用されます。

    次のコードは、最新バージョンの ImageId パラメーター値とバージョン 2 の Password パラメーター値を参照する方法の例を示しています。

    Resources:  // リソース
      ECS:   // ECS
        Type: ALIYUN::ECS::Instance // タイプ: ALIYUN::ECS::Instance
        Properties:  // プロパティ
          ImageId: '{{resolve:oos:my_image}}'  // ImageId: '{{resolve:oos:my_image}}'
          Password: '{{resolve:oos-secret:Password:2}}' // Password: '{{resolve:oos-secret:Password:2}}'
          ...: null // ...: null

テンプレートでパラメーターを参照する場合、Ref、Fn::GetAtt、Fn::GetStackOutput、および Fn::Calculate 関数を除くほとんどの関数がテンプレートで使用可能です。関数の詳細については、「関数」をご参照ください。使用できない関数には、Ref、Fn::GetAtt、Fn::GetStackOutput、および Fn::Calculate が含まれます。

この例では、次のテンプレートが作成されます。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:  // パラメーター
  InstanceType:  // インスタンスタイプ
    Type: String  // タイプ: 文字列
    Default: ecs.c6.large  // デフォルト: ecs.c6.large
  ImageId:  // ImageId
    Type: ALIYUN::OOS::Parameter::Value  // タイプ: ALIYUN::OOS::Parameter::Value
    Default: my_image  // デフォルト: my_image
  Vpc:  // VPC
    Type: String  // タイプ: 文字列
  VSwitch:  // VSwitch
    Type: String  // タイプ: 文字列
Resources:  // リソース
  ECS:  // ECS
    Type: ALIYUN::ECS::InstanceGroup  // タイプ: ALIYUN::ECS::InstanceGroup
    Properties:  // プロパティ
      ImageId:  // ImageId
        Ref: ImageId  // 参照: ImageId
      InstanceType:  // インスタンスタイプ
        Ref: InstanceType  // 参照: InstanceType
      VpcId:  // VpcId
        Ref: Vpc  // 参照: Vpc
      VSwitchId:  // VSwitchId
        Ref: VSwitch  // 参照: VSwitch
      SecurityGroupIds: '{{resolve:oos:security_group_ids:1}}'  // セキュリティグループID: '{{resolve:oos:security_group_ids:1}}'
      Password: '{{resolve:oos-secret:Password}}'  // パスワード: '{{resolve:oos-secret:Password}}'
      MaxAmount: 1  // 最大数: 1
Outputs:  // 出力
  InstanceIds:  // インスタンスID
    Value:  // 値
      Fn::GetAtt:  // Fn::GetAtt
        - ECS  // - ECS
        - InstanceIds  // - InstanceIds

ROS は、OOS で定義されているパラメータータイプに基づいて、ROS テンプレートで参照されるパラメーターのタイプを変換します。OOS パラメーターは、String タイプと StringList タイプをサポートしています。StringList タイプのパラメーターが ROS テンプレートで参照される場合、ROS はテンプレートのパラメーターを List タイプに変換します。たとえば、タイプが StringList で値が sg-group1,sg-group2 の SecurityGroupIds パラメーターを使用して ALIYUN::ECS::InstanceGroup タイプのリソースを作成する場合、SecurityGroupIds パラメーターの値は ["sg-group1", "sg-group2"] に変換されます。

手順 3:ROSコンソールでスタックを作成する

ROSコンソール で、手順 2 で作成したテンプレートを使用してスタックを作成します。この例では、テンプレートを使用して ECS インスタンスのグループを作成します。詳細については、「スタックの作成」をご参照ください。

スタックが作成された後、次の操作を実行して、テンプレートでパラメーターが想定どおりに参照されているかどうかを確認できます。ROSコンソールの左側のナビゲーションペインで、[スタック] をクリックします。[スタック] ページで、スタックを見つけ、スタック名をクリックします。表示されるページで、[パラメーター] タブをクリックして、パラメーターとパラメーター値を表示します。