フルマネージドサービスでは、テンプレートパラメーター間に依存関係が存在する場合、特定の条件下で一部のパラメーターを固定値に自動的に設定するパラメータマッピングを設定できます。サービスインスタンスをデプロイする際、条件が満たされると、Compute Nest は設定した値を自動的に使用します。このトピックでは、パラメータマッピングの設定方法について説明します。
背景情報
フルマネージドサービスの場合、[追加] と [スタックグループを使用して追加] の 2 つの方法でパラメーターマッピングを追加できます。マッピングが設定されると、Compute Nest は対応するパラメーターをユーザーインターフェイスから自動的に非表示にします。サービスインスタンスを作成する際、ユーザーは依存関係パラメーターのみを指定します。非表示になったパラメーターの値は、設定したマッピングに基づいて自動的に入力されます。
-
直接追加:この方法は、少数のリージョンに対してパラメータマッピングを設定する場合に使用します。サービスプロバイダーは、テンプレート内のパラメーターに対してマッピング関係とサブ依存マッピングを設定します。依存パラメーターと対応するパラメーターを選択し、それらの値を設定します。
-
スタックグループを使用したパラメータマッピングの追加:この方法は、複数のリージョンにまたがる複数のゾーンにサービスをデプロイし、各リージョンにパラメータマッピングを設定する必要がある場合に使用します。スタックグループを使用してパラメータマッピングを追加することで、設定プロセスを簡素化できます。
パラメータマッピングの直接追加
操作手順
-
Compute Nest コンソールにログインします。
-
左側のナビゲーションペインで、[マイサービス] をクリックします。[マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
-
[新しいサービスの作成] ページで、サービス情報を設定します。
このセクションでは、パラメータマッピングに固有のパラメーターについてのみ説明します。その他のパラメーターの詳細については、「フルマネージドサービスの作成」をご参照ください。
-
テンプレートの内容 ボックスに、テンプレートの内容を入力します。テンプレートの内容の詳細については、「サンプルテンプレート」をご参照ください。
-
パラメーターマッピングの追加 をクリックします。パラメーターマッピングの追加 ダイアログボックスで、[追加] を選択してパラメーターを設定します。
-
マッピングの設定 および [サブ依存関係マッピング設定] セクションで、依存関係パラメーター と パラメーター を選択します。
-
[自動パラメーターマッピングの追加] をクリックし、依存関係パラメーター と パラメーター の値を指定します。
依存パラメーターの
Regionには、China (Hangzhou)を選択します。対応するパラメーターのVpcIdには、既存の VPC を選択します。 -
サブ依存関係パラメーターの追加をクリックし、サブ依存関係パラメーターとパラメーターの値を指定します。
サブ依存パラメーターの
ZoneIdには、China (Hangzhou) Zone Kを選択します。対応するパラメーターのvSwitchIdには、既存の vSwitch を選択します。この手順を繰り返し、China (Hangzhou) Zone Jとそのゾーン内の vSwitch のマッピングを追加します。 -
確定する をクリックします。
-
-
-
サービスの保存 をクリックします。
スタックグループを使用したパラメータマッピングの追加
操作手順
-
Compute Nest コンソールにログインします。
-
左側のナビゲーションペインで、マイサービスを選択します。マイサービス ページで、作成したサービス タブを選択し、新しいサービスの作成 をクリックします。
-
[新しいサービスの作成] ページで、サービス情報を設定します。
このセクションでは、スタックグループを使用してパラメータマッピングを追加する場合に固有のパラメーターについてのみ説明します。その他のパラメーターの詳細については、「フルマネージドサービスの作成」をご参照ください。
[パラメーターマッピングの追加] をクリックします。[パラメーターマッピングの追加] ダイアログボックスで、パラメーターを設定します。
-
[スタックグループを使用して追加] タブをクリックし、スタックグループを追加します。
-
既存のスタックグループがある場合は、スタックグループのリージョンと ID を選択できます。
-
スタックグループがない場合は、作成してから選択する必要があります。詳細については、「スタックグループの作成」をご参照ください。
-
設定を簡素化するために、Compute Nest はスタックグループの作成に使用できる 2 つのベストプラクティステンプレートを提供しています。これらのテンプレートは、各リージョンの各ゾーンに VPC、vSwitch、セキュリティグループなどのリソースを作成します。テンプレート名をクリックすると、スタックグループ作成ページが開きます。その後、画面の指示に従ってパラメーターを指定し、スタックグループを作成します。
-
Create a VPC, vSwitch, and security group in a region and specify the number of zones. テンプレートを使用してスタックを作成する場合、ゾーン数を指定する必要があります。指定するゾーン数が、リージョン内の実際のゾーン数を超えないようにしてください。
-
[リージョン内のすべてのゾーンに VPC 、vSwitch 、セキュリティグループを作成] テンプレートを使用してスタックを作成すると、デフォルトでリージョン内のすべてのゾーンにリソースが作成されます。
-
-
-
確定する をクリックします。
Compute Nest はパラメータマッピングを自動的に生成します。これには数秒かかる場合があります。
-
-
サービスの作成 をクリックし、確認ダイアログボックスで 確定する をクリックします。
サービスインスタンスのデプロイへの影響
サービスインスタンスのデプロイページ
サービスが作成されると、サービスインスタンスのデプロイページで、ユーザーはパラメーターマッピングで設定したリージョンとゾーンを選択するだけで済みます。 VPC と vSwitch のパラメーターは非表示になります。
サービスインスタンスのデプロイ後
サービスインスタンスがデプロイされた後も、VPC と vSwitch のパラメーターは非表示のままです。作成されたサービスインスタンスは、[マイサービスインスタンス] > [フルマネージドサービス] タブで表示できます。インスタンスをクリックすると、ZoneId、InstanceType、SystemDiskSize、DataDiskSize、InstanceChargeType などの設定パラメーターを表示できます。VPC と vSwitch のパラメーターは非表示になります。
サンプルテンプレート
ROSTemplateFormatVersion: '2015-09-01'
Description: >-
これは、カスタムイメージから単一の ECS インスタンスを作成するためのサンプルテンプレートです。既存のインフラストラクチャリソースの使用をサポートし、ECS インスタンスの課金方法をサブスクリプションまたは従量課金として設定できます。
Parameters:
SystemDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::SystemDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
default: >-
<font color='blue'><b>有効値:</b></font><br>[cloud_efficiency: <font
color='green'>ウルトラディスク</font>]<br>[cloud_ssd: <font
color='green'>標準 SSD</font>]<br>[cloud_essd: <font
color='green'>ESSD</font>]<br>[cloud: <font color='green'>ベーシックディスク</font>]
Label:
default: システムディスクタイプ
ECSPeriodUnit:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
default: 'サブスクリプション期間の単位。このパラメーターは、課金方法をサブスクリプションに設定した場合にのみ必須です。有効値:Week と Month。
'
Default: Week
AllowedValues:
- Week
- Month
Label:
default: サブスクリプション期間の単位
Type: String
ECSPeriod:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
default: >-
サブスクリプション期間。有効値はサブスクリプション期間の単位によって異なります。単位が Week の場合、有効値は 1、2、3、4 です。単位が Month の場合、有効値は 1、2、3、4、5、6、7、8、9、12、24、36、48、60 です。
Default: 1
Label:
default: サブスクリプション期間
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 12
- 24
- 36
- 48
- 60
Type: Number
SecurityGroupId:
AssociationPropertyMetadata:
VpcId: VpcId
Description:
default: 既存のセキュリティグループの ID。
Default: null
Label:
default: セキュリティグループ ID
AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
Type: String
SystemDiskSize:
Default: 40
Type: Number
Description:
default: 'システムディスクのサイズ。単位:GiB。有効値:40~500。'
Label:
default: システムディスクサイズ
ZoneId:
AssociationProperty: 'ALIYUN::ECS::Instance::ZoneId'
Type: String
Description:
default: >-
ECS インスタンスを作成するゾーン。既存のインフラストラクチャリソースを使用する場合、指定されたゾーンにある vSwitch のみを選択できます。
Label:
default: ゾーン
DataDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::DataDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
default: >-
<font color='blue'><b>有効値:</b></font><br>[cloud_efficiency: <font
color='green'>ウルトラディスク</font>]<br>[cloud_ssd: <font
color='green'>標準 SSD</font>]<br>[cloud_essd: <font
color='green'>ESSD</font>]<br>[cloud: <font color='green'>ベーシックディスク</font>]
Label:
default: データディスクタイプ
InstanceChargeType:
Default: PostPaid
Label:
default: ECS インスタンスの課金方法
Type: String
Description:
default: >-
<font color='blue'><b>有効値:</b></font><br>[PostPaid: <font
color='green'>従量課金。</font>]<br>[PrePaid: <font
color='green'>サブスクリプション。</font>]
AllowedValues:
- PostPaid
- PrePaid
VpcId:
Default: null
AssociationProperty: 'ALIYUN::ECS::VPC::VPCId'
Type: String
Description:
default: >-
既存の VPC を選択します。<br><b><font color='blue'>VPC が見つからない場合は、別のリージョンに切り替えてください。</font></b>
Label:
default: 既存の VPC ID
DataDiskSize:
Description:
default: 'データディスクのサイズ。単位:GiB。有効値:20~32768。'
Default: 100
MaxValue: 32768
MinValue: 20
Label:
default: データディスクサイズ
Type: Number
VSwitchId:
AssociationPropertyMetadata:
VpcId: VpcId
ZoneId: ZoneId
Description:
default: 既存の vSwitch の ID。
Default: null
Label:
default: VSwitch ID
AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId'
Type: String
Password:
ConstraintDescription:
default: >-
パスワードは 8~30 文字で、大文字、小文字、数字、特殊文字の4種類のうち、3種類以上を含める必要があります。サポートされている特殊文字:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
Description:
default: >-
インスタンスのログオンパスワード。パスワードは 8~30 文字で、大文字、小文字、数字、特殊文字の4種類のうち、3種類以上を含める必要があります。サポートされている特殊文字:()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
MinLength: 8
Label:
default: インスタンスのパスワード
AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
NoEcho: true
MaxLength: 30
Type: String
InstanceType:
AssociationProperty: 'ALIYUN::ECS::Instance::InstanceType'
AssociationPropertyMetadata:
InstanceChargeType: '${InstanceChargeType}'
ZoneId: ZoneId
Type: String
Label:
default: インスタンスタイプ
InternetChargeType:
Type: String
Description:
default: >-
<font color='blue'><b>有効値:</b></font><br>[PayByBandwidth: <font
color='green'>帯域幅課金。</font>]<br>[PayByTraffic: <font
color='green'>トラフィック課金。</font>]<br>デフォルト値は PayByTraffic です。
Label:
default: インターネット課金方法
AllowedValues:
- PayByBandwidth
- PayByTraffic
Default: PayByTraffic
InternetMaxBandwidthOut:
Type: Number
Description:
default: >-
パブリックネットワークの最大送信帯域幅。単位:Mbit/s。有効値:0~100。デフォルト値:0。
Label:
default: 最大パブリック帯域幅
Default: 0
MaxValue: 100
MinValue: 0
Outputs:
InstanceIds:
Value:
'Fn::GetAtt':
- ECSInstances
- InstanceIds
Conditions: {}
Resources:
ECSInstances:
Type: 'ALIYUN::ECS::InstanceGroup'
Properties:
SystemDiskCategory:
Ref: SystemDiskCategory
VpcId:
Ref: VpcId
InstanceChargeType:
Ref: InstanceChargeType
AllocatePublicIP: true
SecurityGroupId:
Ref: SecurityGroupId
InternetChargeType:
Ref: InternetChargeType
InternetMaxBandwidthOut:
Ref: InternetMaxBandwidthOut
DiskMappings:
- Category:
Ref: DataDiskCategory
Size:
Ref: DataDiskSize
SystemDiskSize:
Ref: SystemDiskSize
ImageId: centos_7
PeriodUnit:
Ref: ECSPeriodUnit
VSwitchId:
Ref: VSwitchId
Period:
Ref: ECSPeriod
Password:
Ref: Password
InstanceType:
Ref: InstanceType
ZoneId:
Ref: ZoneId
MaxAmount: 1
Metadata:
'ALIYUN::ROS::Designer':
id: 3d97f557-f6c2-475f-bdca-942c45e583b5
Metadata:
'ALIYUN::ROS::Interface':
ParameterGroups:
- Parameters:
- ZoneId
Label:
default: ゾーン設定
- Parameters:
- VpcId
- VSwitchId
- SecurityGroupId
Label:
default: 既存のインフラストラクチャリソースの選択
- Parameters:
- InstanceChargeType
- ECSPeriodUnit
- ECSPeriod
- InstanceType
- SystemDiskCategory
- SystemDiskSize
- DataDiskCategory
- DataDiskSize
- InternetChargeType
- InternetMaxBandwidthOut
- Password
Label:
default: ECS 設定 (必須)
TemplateTags:
- 'acs:example:ISV ソフトウェアデプロイメント:カスタムイメージから単一の ECS インスタンスを作成'