フルマネージドサービスの場合、テンプレートパラメーターに依存関係がある場合は、パラメータマッピングを構成できます。これにより、特定の条件下でパラメーターを固定値に設定できます。Compute Nest がサービスインスタンスをデプロイする際、条件が満たされていれば、デプロイメントに構成済みの値が自動的に使用されます。このトピックでは、パラメータマッピングを構成する方法について説明します。
背景情報
フルマネージドサービスは、マッピングを追加するための 2 つのメソッドをサポートしています: [直接追加] と [スタックグループの使用]。マッピングを構成すると、対応するパラメーターは自動的に非表示になります。ユーザーがサービスインスタンスを作成する際には、依存関係パラメーターのみが表示されます。ユーザーが依存関係パラメーターの値を選択すると、非表示のパラメーターにはマッピングで設定された値が自動的に入力されます。
直接追加: このメソッドを使用して、少数のリージョンに対するパラメータマッピングを構成します。サービスプロバイダーは、テンプレートパラメーターのマッピングとサブ依存関係マッピングを設定します。これには、依存関係パラメーターと対応するパラメーターを選択し、それらの値を設定することが含まれます。
スタックグループの使用: サービスが複数のリージョンの複数のゾーンにまたがってデプロイされ、各リージョンでパラメータマッピングが必要な場合、このメソッドを使用します。サービスプロバイダーは、スタックグループを使用してパラメータマッピングの構成を簡素化できます。
パラメータマッピングを直接追加する
手順
Compute Nest コンソールにログインします。
左側のナビゲーションウィンドウで、[マイサービス] をクリックします。[マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
[新規サービスの作成] ページで、サービス情報を設定します。
このセクションでは、パラメータマッピングに特別な構成が必要なパラメーターのみを説明します。他のパラメーターの詳細については、「フルマネージドサービスの作成」をご参照ください。
[テンプレートコンテンツ] ボックスに、テンプレートコンテンツを入力します。テンプレートコンテンツの詳細については、「サンプルテンプレート」をご参照ください。
[パラメータマッピングの追加] をクリックします。表示される [パラメータマッピングの追加] ダイアログボックスで、[直接追加] を選択し、パラメーターを設定します。
[マッピング構成の設定] および [サブ依存関係マッピング構成] セクションで、[依存関係パラメーター] と [対応するパラメーター] を選択します。
[自動パラメータマッピングの追加] をクリックし、選択した [依存関係パラメーター] と [対応するパラメーター] の値を設定します。
依存関係パラメーター
Regionには、China (Hangzhou)を選択します。対応するパラメーターVpcIdには、既存の VPC を選択します。[サブ依存関係パラメーターの追加] をクリックし、[サブ依存関係パラメーター] と [対応するパラメーター] の値を選択します。
サブ依存関係パラメーター
ZoneIdには、China (Hangzhou) Zone Kを選択します。対応するパラメーターvSwitchIdには、既存の vSwitch を選択します。このステップを繰り返して、China (Hangzhou) Zone Jとそのゾーンの vSwitch を追加します。[OK] をクリックします。
[サービスの保存] をクリックします。
スタックグループを使用してパラメータマッピングを追加する
手順
Compute Nest コンソールにログインします。
左側のナビゲーションウィンドウで、[マイサービス] をクリックします。[マイサービス] ページの [作成済みサービス] タブで、[新しいサービスの作成] をクリックします。
[新規サービスの作成] ページで、サービス情報を設定します。
このセクションでは、スタックグループを使用してパラメータマッピングを追加するための特別な構成が必要なパラメーターのみを説明します。他のパラメーターの詳細については、「フルマネージドサービスの作成」をご参照ください。
[自動パラメータマッピングの追加] をクリックします。表示される [自動パラメータマッピングの追加] ダイアログボックスで、パラメーターを設定します。
[スタックグループの使用] タブを選択し、スタックグループを追加します。
既存のスタックグループがある場合は、スタックグループセクションでそのリージョンと ID を選択できます。
スタックグループを作成していない場合は、まず作成してから選択する必要があります。詳細については、「スタックグループの作成」をご参照ください。
プロセスを簡素化するために、Compute Nest はスタックグループを作成するための 2 つのベストプラクティステンプレートを提供しています。これらのテンプレートは、各リージョンの各ゾーンに VPC、vSwitch、セキュリティグループなどのリソースを作成します。テンプレートの名前をクリックしてスタックグループ作成ページに移動します。次に、画面の指示に従ってパラメーターを入力し、スタックグループを作成します。
[リージョンに VPC、VSwitch、セキュリティグループを作成し、ゾーン数を指定する] テンプレートを使用してスタックを作成する場合、ゾーン数を指定する必要があります。ゾーン数は、リージョン内の実際のゾーン数より大きくすることはできません。
[リージョンのすべてのゾーンに VPC、VSwitch、セキュリティグループを作成する] テンプレートを使用してスタックを作成する場合、リソースはデフォルトでリージョンのすべてのゾーンに作成されます。
[OK] をクリックします。
Compute Nest は自動的にパラメータマッピングを生成します。このプロセスには数秒かかる場合があります。
[サービスの作成] をクリックします。表示される確認ダイアログボックスで、[OK] をクリックします。
サービスインスタンスのデプロイメントへの影響
サービスインスタンスのデプロイメントインターフェイス
サービスが作成された後、サービスインスタンスのデプロイメントページで、ユーザーはパラメータマッピングで構成されている [リージョン] と [ゾーン] を選択するだけで済みます。VPC と vSwitch のパラメーターはユーザーには表示されません。
サービスインスタンスのデプロイメント後
サービスインスタンスが正常にデプロイされると、VPC と vSwitch のパラメーターもユーザーには表示されません。
サンプルテンプレート
ROSTemplateFormatVersion: '2015-09-01'
Description:
ja: >-
これは、カスタムイメージから単一の ECS インスタンスを作成するためのサンプルテンプレートです。既存のインフラストラクチャリソースを使用し、課金方法としてサブスクリプションまたは従量課金を選択できます。
Parameters:
SystemDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::SystemDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
ja: >-
<font color='blue'><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:
ja: システムディスクタイプ
ECSPeriodUnit:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
ja: 'サブスクリプション ECS インスタンスのサブスクリプション期間の単位。有効値: Week と Month。<br>'
Default: Week
AllowedValues:
- Week
- Month
Label:
ja: サブスクリプション期間の単位
Type: String
ECSPeriod:
AssociationPropertyMetadata:
Visible:
Condition:
'Fn::Not':
'Fn::Equals':
- '${InstanceChargeType}'
- PostPaid
Description:
ja: >-
サブスクリプション期間。[サブスクリプション期間の単位] が Week に設定されている場合、有効値は 1、2、3、4 です。[サブスクリプション期間の単位] が Month に設定されている場合、有効値は 1、2、3、4、5、6、7、8、9、12、24、36、48、60 です。<br>
Default: 1
Label:
ja: サブスクリプション期間
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 12
- 24
- 36
- 48
- 60
Type: Number
SecurityGroupId:
AssociationPropertyMetadata:
VpcId: VpcId
Description:
ja: 既存のセキュリティグループのインスタンス ID。
Default: null
Label:
ja: セキュリティグループ ID
AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
Type: String
SystemDiskSize:
Default: 40
Type: Number
Description:
ja: 'システムディスクのサイズ。有効値: 40~500。単位: GB。'
Label:
ja: システムディスクサイズ
ZoneId:
AssociationProperty: 'ALIYUN::ECS::Instance::ZoneId'
Type: String
Description:
ja: >-
ECS インスタンスを作成するゾーン。既存のインフラストラクチャリソースを使用する場合、指定されたゾーンにある vSwitch のみを選択できます。
Label:
ja: ゾーン
DataDiskCategory:
AssociationProperty: 'ALIYUN::ECS::Disk::DataDiskCategory'
AssociationPropertyMetadata:
InstanceType: InstanceType
ZoneId: ZoneId
Type: String
Description:
ja: >-
<font color='blue'><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:
ja: データディスクタイプ
InstanceChargeType:
Default: PostPaid
Label:
ja: ECS インスタンスの課金方法
Type: String
Description:
ja: >-
<font color='blue'><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:
ja: >-
既存の VPC を選択します。<br/><b><font color='blue'>VPC が見つからない場合は、別のリージョンに切り替えてください。</font>
Label:
ja: 既存の VPC ID
DataDiskSize:
Description:
ja: 'データディスクのサイズ。単位: GiB。有効値: 20~32768。'
Default: 100
MaxValue: 32768
MinValue: 20
Label:
ja: データディスクサイズ
Type: Number
VSwitchId:
AssociationPropertyMetadata:
VpcId: VpcId
ZoneId: ZoneId
Description:
ja: 既存の vSwitch の ID。
Default: null
Label:
ja: VSwitch ID
AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId'
Type: String
Password:
ConstraintDescription:
ja: >-
パスワードは 8~30 文字で、次の文字タイプのうち少なくとも 3 種類を含める必要があります: 大文字、小文字、数字、および次のセットの特殊文字: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/
Description:
ja: >-
インスタンスのログインパスワード。パスワードは 8~30 文字で、次の文字タイプのうち少なくとも 3 種類を含める必要があります: 大文字、小文字、数字、および次のセットの特殊文字: ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/
MinLength: 8
Label:
ja: インスタンスのパスワード
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:
ja: インスタンスタイプ
InternetChargeType:
Type: String
Description:
ja: >-
<font color='blue'><b>有効値:</font><br>[PayByBandwidth:
<font color='green'>帯域幅課金。</font>]<br>[PayByTraffic: <font
color='green'>トラフィック課金。</font>]<br>デフォルト値は PayByTraffic です。
Label:
ja: インターネット課金方法
AllowedValues:
- PayByBandwidth
- PayByTraffic
Default: PayByTraffic
InternetMaxBandwidthOut:
Type: Number
Description:
ja: >-
パブリックアウトバウンドトラフィックの最大値。有効値: 0~100。単位: Mbit/s。デフォルト値: 0。
Label:
ja: パブリック帯域幅の最大値
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:
ja: ゾーン構成
- Parameters:
- VpcId
- VSwitchId
- SecurityGroupId
Label:
default:
ja: 既存のインフラストラクチャリソースの選択
- Parameters:
- InstanceChargeType
- ECSPeriodUnit
- ECSPeriod
- InstanceType
- SystemDiskCategory
- SystemDiskSize
- DataDiskCategory
- DataDiskSize
- InternetChargeType
- InternetMaxBandwidthOut
- Password
Label:
default:
ja: ECS 構成 (必須)
TemplateTags:
- 'acs:example:ISV ソフトウェアデプロイメント:カスタムイメージから単一の ECS インスタンスを作成'