Resource Orchestration Service (ROS) でテンプレートを作成して、ECSインスタンスやセキュリティグループなどのAlibaba Cloud Elastic Compute Service (ECS) リソース、およびリソース間の依存関係を定義できます。 ROSのオーケストレーションエンジンは、テンプレートに基づいてすべてのリソースを作成および構成し、自動デプロイとO&Mを実装します。このトピックでは、ROSテンプレートを使用してECSインスタンスを自動的に作成する方法について説明します。
ROSは、クラウドコンピューティングリソースの管理を簡素化するAlibaba Cloudサービスです。 詳細については、「」をご参照ください。ROSとは何ですか?
サポートされているECSリソース
ROSを使用して調整できるリソースには、通常のリソースとデータソースリソースが含まれます。 詳細は、「ECS」をご参照ください。
通常のリソース
ALIYUN::ECS::AutoProvisioningGroup: 自動プロビジョニンググループを作成します。
ALIYUN::ECS::AutoSnapshotPolicy: 自動スナップショットポリシーを作成します。
ALIYUN::ECS::AssignIpv6Addresses: IPv6アドレスをelastic network interface (ENI) に割り当てます。
ALIYUN::ECS::AssignPrivateIpAddresses: セカンダリプライベートIPアドレスをENIに割り当てます。
ALIYUN::ECS::Command: Cloud Assistantコマンドを作成します。
ALIYUN::ECS::CopyImage: カスタムイメージをあるリージョンから別のリージョンにコピーします。
ALIYUN::ECS::CustomImage: カスタムイメージを作成します。
ALIYUN::ECS::DedicatedHost: 専用ホストを作成します。
ALIYUN::ECS::DeploymentSet: デプロイメントセットを作成します。
ALIYUN::ECS::Disk: データディスクを作成します。
ALIYUN::ECS::DiskAttachment: データディスクをECSインスタンスにアタッチします。
ALIYUN::ECS::ForwardEntry: NATゲートウェイの宛先ネットワークアドレス変換 (DNAT) テーブルを構成します。
ALIYUN::ECS::HpcCluster: High Performance Computing (HPC) クラスターを作成します。
ALIYUN::ECS::Instance: ECSインスタンスを作成します。
ALIYUN::ECS::InstanceClone: ECSインスタンスのクローンを作成します。
ALIYUN::ECS::InstanceGroup: ECSインスタンスを作成します。
ALIYUN::ECS::InstanceGroupClone: ECSインスタンスのクローンを作成し、1つ以上のECSインスタンスを作成します。
ALIYUN::ECS::Invocation: ECSインスタンスでCloud Assistantコマンドを実行します。
ALIYUN::ECS::JoinSecurityGroup: ECSインスタンスをセキュリティグループに追加します。
ALIYUN::ECS::LaunchTemplate: 起動テンプレートを作成します。
ALIYUN::ECS::NetworkInterface: ENIを作成します。
ALIYUN::ECS::NetworkInterfaceAttachment: 仮想プライベートクラウド (VPC) のECSインスタンスにENIをアタッチします。
ALIYUN::ECS::NetworkInterfacePermission: ENIに対する権限をアカウントに付与します。
ALIYUN::ECS::PrefixList: プレフィックスリストを作成します。
ALIYUN::ECS::Route: カスタムルートエントリを作成します。
ALIYUN::ECS::RunCommand: ECSインスタンスでシェル、PowerShell、またはバッチコマンドを実行します。
ALIYUN::ECS::SNatEntry: NATゲートウェイの送信元ネットワークアドレス変換 (SNAT) テーブルを設定します。
ALIYUN::ECS::SecurityGroup: セキュリティグループを作成します。
ALIYUN::ECS::SecurityGroupClone: セキュリティグループのクローンを作成します。
ALIYUN::ECS::SecurityGroupEgress: セキュリティグループにアウトバウンドルールを作成します。
ALIYUN::ECS::SecurityGroupIngress: セキュリティグループにインバウンドルールを作成します。
ALIYUN::ECS::Snapshot: ディスクのスナップショットを作成します。
ALIYUN::ECS::SSHKeyPair: SSHキーペアを作成します。
ALIYUN::ECS::SSHKeyPairAttachment: SSHキーペアをECSインスタンスにバインドします。
ALIYUN::ECS::VPC: VPCを作成します。
ALIYUN::ECS::VSwitch: VPCにvSwitchを作成します。
ALIYUN::ECS::RamRoleAttachment: インスタンスResource Access Management (RAM) ロールをECSインスタンスにアタッチします。
ALIYUN::ECS::Activation: アクティベーションコードを作成します。
ALIYUN::ECS::ImageSharePermission: カスタムイメージに対する共有権限を管理します。
ALIYUN::ECS::CapacityReservation: 容量予約を作成します。
ALIYUN::ECS::ElasticityAssurance: 弾力性保証を作成します。
ALIYUN::ECS::ImagePipeline: イメージテンプレートを作成します。
ALIYUN::ECS::ImageComponent: イメージコンポーネントを作成します。
ALIYUN::ECS::SecurityGroupEgresses: 複数のアウトバウンドルールを一度にセキュリティグループに関連付けます。
ALIYUN::ECS::SecurityGroupIngress: 複数のインバウンドルールを一度にセキュリティグループに関連付けます。
ALIYUN::ECS::SnapshotGroup: ECSインスタンスのディスクにスナップショット一貫性のあるグループを作成します。 スナップショット整合性グループには、1つ以上のディスクのスナップショットが含まれます。
データソースリソース
DATASOURCE::ECS::AutoSnapshotPolicies: 自動スナップショットポリシーを照会します。
DATASOURCE::ECS::DedicatedHosts: 専用ホストの詳細を照会します。
DATASOURCE::ECS::DeploymentSets: 1つ以上のデプロイメントセットの属性を照会します。
DATASOURCE::ECS::Disks: クラウドディスクやローカルディスクなど、作成したブロックストレージデバイスを照会します。
DATASOURCE::ECS::DiskCategories: ディスクカテゴリを照会します。
DATASOURCE::ECS::HpcClusters: 利用可能なHPCクラスターを照会します。
DATASOURCE::ECS::Images: 利用可能な画像を照会します。
DATASOURCE::ECS::Instances: ECSインスタンスの詳細を照会します。
DATASOURCE::ECS::KeyPairs: キーペアを照会します。
DATASOURCE::ECS::NetworkInterfaces: ENIの詳細を照会します。
DATASOURCE::ECS::RecommendInstanceTypes: ECSインスタンスタイプを照会します。
DATASOURCE::ECS::SecurityGroups: セキュリティグループに関する基本情報を照会します。
DATASOURCE::ECS::Snapshots: ECSインスタンスまたはクラウドディスクのすべてのスナップショットを照会します。
DATASOURCE::ECS::Zones: ゾーンを照会します。
DATASOURCE::ECS::ManagedInstances: マネージドインスタンスを照会します。
DATASOURCE::ECS:: コマンド: 作成した使用可能なすべてのコマンドを照会します。ECS
DATASOURCE::ECS::DedicatedHostClusters: 専用ホストクラスターに関する情報を照会します。
DATASOURCE::ECS::Activations: アクティベーションコードを照会します。
DATASOURCE::ECS::Activation: アクティベーションコードの詳細を照会します。
DATASOURCE::ECS::AutoSnapshotPolicy: 自動スナップショットポリシーの詳細を照会します。
DATASOURCE::ECS::Command: 作成した使用可能なコマンドの詳細を照会します。
DATASOURCE::ECS::DedicatedHostCluster: 専用ホストクラスターの詳細を照会します。
DATASOURCE::ECS::DeploymentSet: デプロイメントセットの詳細を照会します。
DATASOURCE::ECS::Disk: クラウドディスクの詳細を照会します。
DATASOURCE::ECS::HpcCluster: HPCクラスターの詳細を照会します。
DATASOURCE::ECS::Instance: ECSインスタンスの詳細を照会します。
DATASOURCE::ECS::KeyPair: キーペアの詳細を照会します。
DATASOURCE::ECS::LaunchTemplate: 起動テンプレートの詳細を照会します。
DATASOURCE::ECS::SecurityGroup: セキュリティグループの詳細を照会します。
DATASOURCE::ECS::Snapshot: スナップショットの詳細を照会します。
DATASOURCE::ECS::LaunchTemplates: 利用可能な起動テンプレートを照会します。
例
このセクションでは、定義済みのROSテンプレートに基づいてECSインスタンスを作成する方法について説明します。
権限
デフォルトでは、ROSはROSコンソールにログオンしたユーザーの資格情報を使用します。 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インスタンスに保存され、秘密キーはオンプレミスのコンピューターに保存されます。
上記のリソースは、次のResource Orchestration Serviceリソースに対応しています。
リージョン: ROSコンソールで選択したリージョンが自動的に使用されます。 リージョンを指定する必要はありません。
ネットワークとゾーン: ALIYUN::ECS::VPC
インスタンスタイプ: DATASOURCE::ECS:: インスタンス
イメージ: DATASOURCE::ECS::Images
ストレージ: ALIYUN::ECS::Disk
EIP: ALIYUN:::VPC::EIP
セキュリティグループ: ALIYUN::ECS::SecurityGroup
キーペア: DATASOURCE::ECS::KeyPair
スタックの作成
[クイックデプロイ] をクリックし、次の操作を実行します。
ROSコンソールにログインします。 上部のナビゲーションバーで、[リージョン] ドロップダウンリストからリージョンを選択します。
左側のナビゲーションペインで、[スタック] をクリックします。 [スタック] ページで、[スタックの作成] > [ROSを使用] を選択します。 [スタックの作成] ページで、[テンプレートの指定] パラメーターを設定します。 この例では、[テンプレートの指定] パラメーターは [サンプルテンプレートの使用] に設定されています。 この場合、[サンプルテンプレート] ドロップダウンリストからROSが提供するサンプルテンプレートを選択する必要があります。
[テンプレートコンテンツ] コードエディターでテンプレートコンテンツを確認し、[次へ] をクリックします。
この例では、既存の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" ] } } }
画面上の指示に従って、ビジネス要件に基づいてVPC ID、VSwitchアベイラビリティーゾーン、VSwitch ID、ビジネスセキュリティグループIDなどのパラメーターを設定します。 次に、[作成] をクリックしてスタックを作成します。
結果を表示します。
スタックが作成されると、スタックで指定されたテンプレートに基づいてECSインスタンスが作成され、
[実行中]
状態になります。 ECSコンソールで、API操作を呼び出すか、SDKを使用してインスタンスを表示できます。
関連ドキュメント
ROSを使用すると、環境構築、Webサイト構築、アプリケーション構築、人工知能生成コンテンツ (AIGC) のプラクティスなど、さまざまなシナリオで数回クリックするだけでリソースをデプロイできます。 ROSのその他のユースケースについては、以下のトピックを参照してください。