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

Elastic Compute Service:ROSリファレンス

最終更新日:Nov 25, 2024

Resource Orchestration Service (ROS) でテンプレートを作成して、ECSインスタンスやセキュリティグループなどのAlibaba Cloud Elastic Compute Service (ECS) リソース、およびリソース間の依存関係を定義できます。 ROSのオーケストレーションエンジンは、テンプレートに基づいてすべてのリソースを作成および構成し、自動デプロイとO&Mを実装します。このトピックでは、ROSテンプレートを使用してECSインスタンスを自動的に作成する方法について説明します。

ROSは、クラウドコンピューティングリソースの管理を簡素化するAlibaba Cloudサービスです。 詳細については、「」をご参照ください。ROSとは何ですか?

サポートされているECSリソース

ROSを使用して調整できるリソースには、通常のリソースとデータソースリソースが含まれます。 詳細は、「ECS」をご参照ください。

このセクションでは、定義済みのROSテンプレートに基づいてECSインスタンスを作成する方法について説明します。

権限

デフォルトでは、ROSROSコンソールにログオンしたユーザーの資格情報を使用します。 Alibaba Cloudアカウントを使用してROSコンソールにログインする場合、次の表に記載されている権限を取得する必要はありません。 RAMユーザーとしてROSコンソールにログインする場合、ユーザーは必要な権限を取得する必要があります。 次の表に、権限を示します。

Alibaba Cloud サービス

必要な権限

Virtual Private Cloud

AliyunVPCFullAccess: VPCとvSwitchを照会し、elastic IPアドレス (EIP) を作成するための権限。

Elastic Compute Service

AliyunECSFullAccess: ECSインスタンスなどのECSリソースを作成および管理するための権限。

Resource Orchestration Service

AliyunROSFullAccess: スタックなどのROSリソースを作成および管理するための権限。

Elastic IP Address

AliyunEIPFullAccess: EIPを作成および管理するための権限。

必要なリソース

次の図は、作成するElastic Compute Serviceインスタンスに必要なリソースのアーキテクチャを示しています。

  • リージョン: ECSインスタンスを作成するリージョンを選択します。 ECSコンソールで選択したリージョンが自動的に使用されます。 リージョンを指定する必要はありません。

  • ネットワークとゾーン: Alibaba Cloudは、各デフォルトVPCのリージョンごとのデフォルトVPCと、ゾーンごとのデフォルトvSwitchを提供します。

  • インスタンスタイプ: 2つのvCPUと4つのGiBメモリを持つインスタンスタイプなど、インスタンスタイプを選択します。

  • イメージ: Alibaba Cloud LinuxイメージやWindows Serverイメージなどのイメージを選択します。 イメージには、ECSインスタンスの起動と実行に必要なオペレーティングシステムとプロビジョニングされたデータが含まれています。

  • ストレージ: ビジネス要件に基づいて、Elastic Block Storage (EBS) デバイスをECSインスタンスのシステムディスクおよびデータディスクとして設定します。

  • EIP: ECSインスタンスのEIPを作成します。 インスタンスには、EIPを使用してアクセスできます。

  • セキュリティグループ: ECSインスタンスのセキュリティグループを選択または作成します。 セキュリティグループは、ECSインスタンスのインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォールとして機能します。

  • キーペア: ECSインスタンスのキーペアを選択または作成します。 Alibaba Cloudは、ECSインスタンスへのログオンのための安全で便利なキーペアベースの認証方法を提供します。 キーペアは、認証に使用されるセキュリティ資格情報です。 キーペアを作成すると、公開キーはECSインスタンスに保存され、秘密キーはオンプレミスのコンピューターに保存されます。

    image

上記のリソースは、次のResource Orchestration Serviceリソースに対応しています。

スタックの作成

説明

[クイックデプロイ] をクリックし、次の操作を実行します。

  1. ROSコンソールにログインします。 上部のナビゲーションバーで、[リージョン] ドロップダウンリストからリージョンを選択します。

  2. 左側のナビゲーションペインで、[スタック] をクリックします。 [スタック] ページで、[スタックの作成] > [ROSを使用] を選択します。 [スタックの作成] ページで、[テンプレートの指定] パラメーターを設定します。 この例では、[テンプレートの指定] パラメーターは [サンプルテンプレートの使用] に設定されています。 この場合、[サンプルテンプレート] ドロップダウンリストからROSが提供するサンプルテンプレートを選択する必要があります。image

  3. [テンプレートコンテンツ] コードエディターでテンプレートコンテンツを確認し、[次へ] をクリックします。

    この例では、既存のVPC、vSwitch、およびセキュリティグループを使用するサンプルテンプレートを選択して、2つのECSインスタンスを作成し、EIPをインスタンスに関連付けます。 次のコードスニペットは、YAMLおよびJSON形式のサンプルテンプレートコンテンツを示しています。

    YAML形式のサンプルテンプレートコンテンツ

    ROSTemplateFormatVersion: '2015-09-01'
    Description:
      en: Use Count to create a VPC type ECS, and then bind EIP (existing VPC).
       
    Parameters:
      VPC:
        Type: String
        Label:
          en: VPC ID
           
        Description:
          en: Please search the ID starting with (vpc-xxx)from console-Virtual Private Cloud
           
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      VSwitch:
        Type: String
        Label:
          en: VSwitch ID
           
        Description:
          en: Existing VSwitch ID, query under console-VPC-VSwitch, <font color='red'>VSwitch must be under VPC. ECS will be created under this VSwitch</font>
            
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: ${VPC}
          ZoneId: ${ECSZoneId}
      SecurityGroup:
        Type: String
        Label:
          en: Business Security Group ID
           
        Description:
          en: Please search the business security group ID starting with(sg-xxx)from console-ECS-Network & Security
            </font>
        AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
        AssociationPropertyMetadata:
          VpcId: ${VPC}
      EIPBandwidth:
        Type: Number
        Label:
          en: EIP Bandwidth
           
        Description:
          en: 'EIP Bandwidth, Value range: [1,200], unit: Mbps.'
            
        Default: 2
        MinValue: 1
        MaxValue: 200
      EIPInternetChargeType:
        Type: String
        Label:
          en: EIP Charge Type
           
        AssociationPropertyMetadata:
          LocaleKey: InternetChargeType
        Default: PayByTraffic
        AllowedValues:
          - PayByBandwidth
          - PayByTraffic
      Count:
        Type: Number
        Label:
          en: Count
           
        Description:
          en: 'The number of ecs and eip to be created, value range: [1,140]'
           
        Default: 1
        MinValue: 1
        MaxValue: 140
      ECSZoneId:
        Type: String
        Label:
          en: VSwitch Availability Zone
           
        Description:
          en: 'Availability zone ID.<br><b>Note: <font color=''blue''>Before selecting, please confirm whether the availability zone supports the specification of creating ECS resources. It is recommended to be different from other switch availability zones</font></b ><br><font color=''red''>The switch availability zone and the selected switch instance ID must be in the same availability zone.</font>'
            </font>
        AssociationProperty: ALIYUN::ECS::Instance:ZoneId
      ECSImageId:
        Type: String
        Label:
          en: Image
           
        Description:
          en: Image ID. Use a CentOS 7 image. For more information, see <b><a href='https://www.alibabacloud.com/help/en/doc-detail/112977.html' target='_blank'><font color='blue'>Find an image</font></a></b>.
           
        AssociationProperty: ALIYUN::ECS::Image::ImageId
        AssociationPropertyMetadata:
          InstanceType: ${ECSInstanceType}
          SupportedImageOwnerAlias:
            - system
            - self
            - others
        Default: centos_7_04_64_20G_alibase_201701015.vhd
      ECSInstanceType:
        Type: String
        Label:
          en: Instance Type
           
        Description:
          en: <font color='blue'><b>1.Before selecting the model please confirm that the current available zone under the model is in stock, some models need to be reported in advance</b></font><br><font color='blue'><b>2.List of optional models</font><br></b></font>[ecs.c5.large <font color='green'>2vCPU 4GiB Intranet bandwidth1Gbps In-grid sending and receiving packages30MillionPPS</font>]<br></b>[ecs.c5.xlarge <font color='green'>4vCPU 8GiB Intranet bandwidth1.5Gbps In-grid sending and receiving packages50MillionPPS</font>]<br></b>[ecs.c5.2xlarge <font color='green'>8vCPU 16GiB Intranet bandwidth2.5Gbps In-grid sending and receiving packages80MillionPPS</font>]
           
        AssociationProperty: ALIYUN::ECS::Instance::InstanceType
        AssociationPropertyMetadata:
          ZoneId: ECSZoneId
      ECSDiskCategory:
        Type: String
        Label:
          en: System Disk Type
           
        Description:
          en: '<font color=''blue''><b>Optional values:</b></font><br>[cloud_efficiency: <font color=''green''>Efficient Cloud Disk</font>]<br>[cloud_ssd: <font color=''green''>SSD Cloud Disk</font>]<br>[cloud_essd: <font color=''green''>ESSD Cloud Disk</font>]<br>[cloud: <font color=''green''>Cloud Disk</font>]<br>[ephemeral_ssd: <font color=''green''>Local SSD Cloud Disk</font>]'
           
        AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
        AssociationPropertyMetadata:
          LocaleKey: DiskCategory
          InstanceType: ${ECSInstanceType}
      ECSSysDiskSize:
        Type: Number
        Label:
          en: System Disk Space
           
        Description:
          en: 'System disk size, range of values: 40-500, units: GB.'
           
        Default: 40
        MinValue: 40
        MaxValue: 500
      ECSPassword:
        Type: String
        Label:
          en: Instance Password
           
        Description:
          en: Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).
           
        ConstraintDescription:
          en: Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).
           
        Default: Null
        AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
        MinLength: 8
        MaxLength: 30
        NoEcho: true
      KeyPairName:
        Type: String
        Label:
          en: Key Pair Name
           
        Description:
          en: If it is a Windows ECS instance, ignore this parameter. The default is blank.<br>If you have filled in <font color='green'>key pair name</font>, <font color='green'>instance password< The content of /font> will still be set in the instance, but the password login method in the Linux system will be forbidden.<br><font color='red'>Please enter the name of the existing key pair. If you use the instance password Login, the key pair name does not need to be filled in</font>
               
        AssociationProperty: ALIYUN::ECS::KeyPair::KeyPairName
        Default: Null
      PayType:
        Type: String
        Label:
          en: ECS Instance Charge Type
           
        AssociationProperty: ChargeType
        AssociationPropertyMetadata:
          LocaleKey: InstanceChargeType
        Default: PostPaid
        AllowedValues:
          - PostPaid
          - PrePaid
      PayPeriodUnit:
        Type: String
        Label:
          en: Pay Period Unit
           
        AssociationProperty: PayPeriodUnit
        AssociationPropertyMetadata:
          Visible:
            Condition:
              Fn::Not:
                Fn::Equals:
                  - ${PayType}
                  - PostPaid
        Default: Month
        AllowedValues:
          - Month
          - Year
      PayPeriod:
        Type: Number
        Label:
          en: Period
           
        AssociationProperty: PayPeriod
        AssociationPropertyMetadata:
          Visible:
            Condition:
              Fn::Not:
                Fn::Equals:
                  - ${PayType}
                  - PostPaid
        Default: 1
        AllowedValues:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
    Resources:
      ECSInstanceGroup:
        Type: ALIYUN::ECS::InstanceGroup
        Properties:
          ZoneId:
            Ref: ECSZoneId
          VpcId:
            Ref: VPC
          VSwitchId:
            Ref: VSwitch
          SecurityGroupId:
            Ref: SecurityGroup
          ImageId:
            Ref: ECSImageId
          AllocatePublicIP: 'false'
          InstanceChargeType:
            Ref: PayType
          Period:
            Ref: PayPeriod
          PeriodUnit:
            Ref: PayPeriodUnit
          InstanceType:
            Ref: ECSInstanceType
          IoOptimized: optimized
          KeyPairName:
            Ref: KeyPairName
          MaxAmount:
            Ref: Count
          Password:
            Ref: ECSPassword
          SystemDiskCategory:
            Ref: ECSDiskCategory
          SystemDiskSize:
            Ref: ECSSysDiskSize
      ElasticIp:
        Type: ALIYUN::VPC::EIP
        Properties:
          Bandwidth:
            Ref: EIPBandwidth
          InternetChargeType:
            Ref: EIPInternetChargeType
        Count:
          Ref: Count
      ElasticIpAssociation:
        Type: ALIYUN::VPC::EIPAssociation
        Properties:
          InstanceId:
            Fn::Select:
              - Ref: ALIYUN::Index
              - Fn::GetAtt:
                  - ECSInstanceGroup
                  - InstanceIds
          AllocationId:
            Fn::Select:
              - Ref: ALIYUN::Index
              - Ref: ElasticIp
        Count:
          Ref: Count
    Outputs:
      EipAddress:
        Description: IP address of created EIP.
        Value:
          Fn::GetAtt:
            - ElasticIp
            - EipAddress
      SecurityGroupId:
        Description: generated security group id for security group.
        Value:
          Ref: SecurityGroup
      VSwitchId:
        Description: generated security vswitch id for VPC.
        Value:
          Ref: VSwitch
      VpcId:
        Description: generated security vpc id for VPC.
        Value:
          Ref: VPC
    Metadata:
      ALIYUN::ROS::Interface:
        ParameterGroups:
          - Parameters:
              - VPC
              - ECSZoneId
              - VSwitch
              - SecurityGroup
            Label:
              default: 'VPC '
          - Parameters:
              - EIPBandwidth
              - EIPInternetChargeType
            Label:
              default: EIP
          - Parameters:
              - PayType
              - PayPeriodUnit
              - PayPeriod
            Label:
              default:
                en: ECS PayType Configuration
                 
          - Parameters:
              - ECSInstanceType
              - ECSImageId
              - ECSDiskCategory
              - ECSSysDiskSize
              - Count
              - ECSPassword
              - KeyPairName
            Label:
              default: ECS
        TemplateTags:
          - acs:example:Elastic Computing:Specify the Count parameter to create ECS instances in an existing VPC and associate EIPs with the instances

    JSON形式のサンプルテンプレートコンテンツ

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": {
        "en": "Use Count to create a VPC type ECS, and then bind EIP (existing VPC).",
         
      },
      "Parameters": {
        "VPC": {
          "Type": "String",
          "Label": {
            "en": "VPC ID",
             
          },
          "Description": {
            "en": "Please search the ID starting with (vpc-xxx)from console-Virtual Private Cloud",
             
          },
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "VSwitch": {
          "Type": "String",
          "Label": {
            "en": "VSwitch ID",
             
          },
          "Description": {
            "en": "Existing VSwitch ID, query under console-VPC-VSwitch, <font color='red'>VSwitch must be under VPC. ECS will be created under this VSwitch</font>",
              
          },
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VPC}",
            "ZoneId": "${ECSZoneId}"
          }
        },
        "SecurityGroup": {
          "Type": "String",
          "Label": {
            "en": "Business Security Group ID",
             
          },
          "Description": {
            "en": "Please search the business security group ID starting with(sg-xxx)from console-ECS-Network & Security",
              </font>"
          },
          "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VPC}"
          }
        },
        "EIPBandwidth": {
          "Type": "Number",
          "Label": {
            "en": "EIP Bandwidth",
             
          },
          "Description": {
            "en": "EIP Bandwidth, Value range: [1,200], unit: Mbps.",
              
          },
          "Default": 1,
          "MinValue": 1,
          "MaxValue": 200
        },
        "EIPInternetChargeType": {
          "Type": "String",
          "Label": {
            "en": "EIP Charge Type",
             
          },
          "AssociationPropertyMetadata": {
            "LocaleKey": "InternetChargeType"
          },
          "Default": "PayByTraffic",
          "AllowedValues": [
            "PayByBandwidth",
            "PayByTraffic"
          ]
        },
        "Count": {
          "Type": "Number",
          "Label": {
            "en": "Count",
             
          },
          "Description": {
            "en": "The number of ecs and eip to be created, value range: [1,140]",
             
          },
          "Default": 2,
          "MinValue": 1,
          "MaxValue": 140
        },
        "ECSZoneId": {
          "Type": "String",
          "Label": {
            "en": "VSwitch Availability Zone",
             
          },
          "Description": {
            "en": "Availability zone ID.<br><b>Note: <font color='blue'>Before selecting, please confirm whether the availability zone supports the specification of creating ECS resources. It is recommended to be different from other switch availability zones</font></b ><br><font color='red'>The switch availability zone and the selected switch instance ID must be in the same availability zone.</font>",
              </font>"
          },
          "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId"
        },
        "ECSImageId": {
          "Type": "String",
          "Label": {
            "en": "Image",
             
          },
          "Description": {
            "en": "Image ID. Use a CentOS 7 image. For more information, see <b><a href='https://www.alibabacloud.com/help/en/doc-detail/112977.html' target='_blank'><font color='blue'>Find the image</font></a></b>",
             
          },
          "AssociationProperty": "ALIYUN::ECS::Image::ImageId",
          "AssociationPropertyMetadata": {
            "InstanceType": "${ECSInstanceType}",
            "SupportedImageOwnerAlias": [
              "system",
              "self",
              "others"
            ]
          },
          "Default": "centos_7_04_64_20G_alibase_201701015.vhd"
        },
        "ECSInstanceType": {
          "Type": "String",
          "Label": {
            "en": "Instance Type",
             
          },
          "Description": {
            "en": "<font color='blue'><b>1.Before selecting the model please confirm that the current available zone under the model is in stock, some models need to be reported in advance</b></font><br><font color='blue'><b>2.List of optional models</font><br></b></font>[ecs.c5.large <font color='green'>2vCPU 4GiB Intranet bandwidth1Gbps In-grid sending and receiving packages30MillionPPS</font>]<br></b>[ecs.c5.xlarge <font color='green'>4vCPU 8GiB Intranet bandwidth1.5Gbps In-grid sending and receiving packages50MillionPPS</font>]<br></b>[ecs.c5.2xlarge <font color='green'>8vCPU 16GiB Intranet bandwidth2.5Gbps In-grid sending and receiving packages80MillionPPS</font>]",
             
          },
          "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType",
          "AssociationPropertyMetadata": {
            "ZoneId": "ECSZoneId"
          }
        },
        "ECSDiskCategory": {
          "Type": "String",
          "Label": {
            "en": "System Disk Type",
             
          },
          "Description": {
            "en": "<font color='blue'><b>Optional values:</b></font><br>[cloud_efficiency: <font color='green'>Efficient Cloud Disk</font>]<br>[cloud_ssd: <font color='green'>SSD Cloud Disk</font>]<br>[cloud_essd: <font color='green'>ESSD Cloud Disk</font>]<br>[cloud: <font color='green'>Cloud Disk</font>]<br>[ephemeral_ssd: <font color='green'>Local SSD Cloud Disk</font>]",
             
          },
          "AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory",
          "AssociationPropertyMetadata": {
            "LocaleKey": "DiskCategory",
            "InstanceType": "${ECSInstanceType}"
          }
        },
        "ECSSysDiskSize": {
          "Type": "Number",
          "Label": {
            "en": "System Disk Space",
             
          },
          "Description": {
            "en": "System disk size, range of values: 40-500, units: GB.",
             
          },
          "Default": 40,
          "MinValue": 40,
          "MaxValue": 500
        },
        "ECSPassword": {
          "Type": "String",
          "Label": {
            "en": "Instance Password",
             
          },
          "Description": {
            "en": "Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).",
             
          },
          "ConstraintDescription": {
            "en": "Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).",
             
          },
          "Default": null,
          "AllowedPattern": "[0-9A-Za-z\\_\\-\\&:;'<>,=%`~!@#\\(\\)\\$\\^\\*\\+\\|\\{\\}\\[\\]\\.\\?\\/]+$",
          "MinLength": 8,
          "MaxLength": 30,
          "NoEcho": true
        },
        "KeyPairName": {
          "Type": "String",
          "Label": {
            "en": "Key Pair Name",
             
          },
          "Description": {
            "en": "If it is a Windows ECS instance, ignore this parameter. The default is blank.<br>If you have filled in <font color='green'>key pair name</font>, <font color='green'>instance password< The content of /font> will still be set in the instance, but the password login method in the Linux system will be forbidden.<br><font color='red'>Please enter the name of the existing key pair. If you use the instance password Login, the key pair name does not need to be filled in</font>",
                 
          },
          "AssociationProperty": "ALIYUN::ECS::KeyPair::KeyPairName",
          "Default": null
        },
        "PayType": {
          "Type": "String",
          "Label": {
            "en": "ECS Instance Charge Type",
             
          },
          "AssociationProperty": "ChargeType",
          "AssociationPropertyMetadata": {
            "LocaleKey": "InstanceChargeType"
          },
          "Default": "PostPaid",
          "AllowedValues": [
            "PostPaid",
            "PrePaid"
          ]
        },
        "PayPeriodUnit": {
          "Type": "String",
          "Label": {
            "en": "Pay Period Unit",
             
          },
          "AssociationProperty": "PayPeriodUnit",
          "AssociationPropertyMetadata": {
            "Visible": {
              "Condition": {
                "Fn::Not": {
                  "Fn::Equals": [
                    "${PayType}",
                    "PostPaid"
                  ]
                }
              }
            }
          },
          "Default": "Month",
          "AllowedValues": [
            "Month",
            "Year"
          ]
        },
        "PayPeriod": {
          "Type": "Number",
          "Label": {
            "en": "Period",
             
          },
          "AssociationProperty": "PayPeriod",
          "AssociationPropertyMetadata": {
            "Visible": {
              "Condition": {
                "Fn::Not": {
                  "Fn::Equals": [
                    "${PayType}",
                    "PostPaid"
                  ]
                }
              }
            }
          },
          "Default": 1,
          "AllowedValues": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ]
        }
      },
      "Resources": {
        "ECSInstanceGroup": {
          "Type": "ALIYUN::ECS::InstanceGroup",
          "Properties": {
            "ZoneId": {
              "Ref": "ECSZoneId"
            },
            "VpcId": {
              "Ref": "VPC"
            },
            "VSwitchId": {
              "Ref": "VSwitch"
            },
            "SecurityGroupId": {
              "Ref": "SecurityGroup"
            },
            "ImageId": {
              "Ref": "ECSImageId"
            },
            "AllocatePublicIP": "false",
            "InstanceChargeType": {
              "Ref": "PayType"
            },
            "Period": {
              "Ref": "PayPeriod"
            },
            "PeriodUnit": {
              "Ref": "PayPeriodUnit"
            },
            "InstanceType": {
              "Ref": "ECSInstanceType"
            },
            "IoOptimized": "optimized",
            "KeyPairName": {
              "Ref": "KeyPairName"
            },
            "MaxAmount": {
              "Ref": "Count"
            },
            "Password": {
              "Ref": "ECSPassword"
            },
            "SystemDiskCategory": {
              "Ref": "ECSDiskCategory"
            },
            "SystemDiskSize": {
              "Ref": "ECSSysDiskSize"
            }
          }
        },
        "ElasticIp": {
          "Type": "ALIYUN::VPC::EIP",
          "Properties": {
            "Bandwidth": {
              "Ref": "EIPBandwidth"
            },
            "InternetChargeType": {
              "Ref": "EIPInternetChargeType"
            }
          },
          "Count": {
            "Ref": "Count"
          }
        },
        "ElasticIpAssociation": {
          "Type": "ALIYUN::VPC::EIPAssociation",
          "Properties": {
            "InstanceId": {
              "Fn::Select": [
                {
                  "Ref": "ALIYUN::Index"
                },
                {
                  "Fn::GetAtt": [
                    "ECSInstanceGroup",
                    "InstanceIds"
                  ]
                }
              ]
            },
            "AllocationId": {
              "Fn::Select": [
                {
                  "Ref": "ALIYUN::Index"
                },
                {
                  "Ref": "ElasticIp"
                }
              ]
            }
          },
          "Count": {
            "Ref": "Count"
          }
        }
      },
      "Outputs": {
        "EipAddress": {
          "Description": "IP address of created EIP.",
          "Value": {
            "Fn::GetAtt": [
              "ElasticIp",
              "EipAddress"
            ]
          }
        },
        "SecurityGroupId": {
          "Description": "generated security group id for security group.",
          "Value": {
            "Ref": "SecurityGroup"
          }
        },
        "VSwitchId": {
          "Description": "generated security vswitch id for VPC.",
          "Value": {
            "Ref": "VSwitch"
          }
        },
        "VpcId": {
          "Description": "generated security vpc id for VPC.",
          "Value": {
            "Ref": "VPC"
          }
        }
      },
      "Metadata": {
        "ALIYUN::ROS::Interface": {
          "ParameterGroups": [
            {
              "Parameters": [
                "VPC",
                "ECSZoneId",
                "VSwitch",
                "SecurityGroup"
              ],
              "Label": {
                "default": "VPC "
              }
            },
            {
              "Parameters": [
                "EIPBandwidth",
                "EIPInternetChargeType"
              ],
              "Label": {
                "default": "EIP"
              }
            },
            {
              "Parameters": [
                "PayType",
                "PayPeriodUnit",
                "PayPeriod"
              ],
              "Label": {
                "default": {
                  "en": "ECS PayType Configuration",
                   
                }
              }
            },
            {
              "Parameters": [
                "ECSInstanceType",
                "ECSImageId",
                "ECSDiskCategory",
                "ECSSysDiskSize",
                "Count",
                "ECSPassword",
                "KeyPairName"
              ],
              "Label": {
                "default": "ECS"
              }
            }
          ],
          "TemplateTags": [
            "acs:example:Elastic Computing:Specify the Count parameter to create ECS instances in an existing VPC and associate EIPs with the instances"
          ]
        }
      }
    }
  4. 画面上の指示に従って、ビジネス要件に基づいてVPC ID、VSwitchアベイラビリティーゾーン、VSwitch ID、ビジネスセキュリティグループIDなどのパラメーターを設定します。 次に、[作成] をクリックしてスタックを作成します。

  5. 結果を表示します。

    image

  6. スタックが作成されると、スタックで指定されたテンプレートに基づいてECSインスタンスが作成され、[実行中] 状態になります。 ECSコンソールで、API操作を呼び出すか、SDKを使用してインスタンスを表示できます。image

関連ドキュメント

ROSを使用すると、環境構築、Webサイト構築、アプリケーション構築、人工知能生成コンテンツ (AIGC) のプラクティスなど、さまざまなシナリオで数回クリックするだけでリソースをデプロイできます。 ROSのその他のユースケースについては、以下のトピックを参照してください。