このトピックでは、Alibaba Cloud Marketplace に公開するプロダクトについて、Compute Nest サービスのソフトウェアとその基盤となるリソース間で課金設定を連携させる方法を説明します。
背景情報
お客様が Alibaba Cloud Marketplace から Compute Nest サービスを購入する際には、ソフトウェアと必要なリソースの両方が購入されます。
-
プロダクトのサブスクリプション期間を基盤リソースの課金サイクルと一致させるためには、テンプレート内で課金パラメーターを定義し、それらを連携させる必要があります。これにより、課金方法がサブスクリプション方式であっても従量課金方式であっても、課金サイクルが同期されます。
-
自動更新設定も連携させることができます。これにより、お客様がソフトウェアの自動更新を有効化または無効化した場合、その設定が自動的に基盤リソースにも適用されます。
-
サービスインスタンス作成ページでこれらの課金詳細を非表示にする場合は、テンプレートに設定を追加できます。
サービスの作成
ソフトウェアとその基盤リソースのライフサイクルを連携させるサービスを作成します。
Compute Nest コンソールにログインします。
-
左側のナビゲーションウィンドウで [マイサービス] をクリックします。[作成済みサービス] タブで、[サービスの作成] をクリックします。
-
新しいサービスの作成 ページで、サービス情報を設定します。
ここでは、特別な設定が必要なパラメーターのみを説明します。その他のパラメーターについては、「プライベートサービスの作成」または「フルマネージドサービスの作成」をご参照ください。
テンプレートを定義する際は、
ParametersおよびMetadataに以下のパラメーターを追加する必要があります。完全なテンプレートについては、「サンプルテンプレート」をご参照ください。Parameters: PayType: AssociationProperty: ChargeType PayPeriodUnit: AssociationProperty: PayPeriodUnit PayPeriod: AssociationProperty: PayPeriod AutoRenew: AssociationProperty: AutoRenew Metadata: ALIYUN::ROS::Interface: MapOrderParameterToMarket: true Hidden: - PayType - PayPeriodUnit - PayPeriod - AutoRenew HiddenSaleConfig: true-
Parametersセクションでは、課金タイプ (ChargeType)、サブスクリプション期間単位 (PayPeriodUnit)、サブスクリプション期間 (PayPeriod)、自動更新 (AutoRenew) など、定義する各課金パラメーターに対してAssociationPropertyを追加する必要があります。説明AutoRenewパラメーターは任意です。ソフトウェアとリソースの自動更新設定を連携させる場合は、更新パラメーターにAssociationProperty: AutoRenewを設定し、Resourcesセクション内のリソースの更新プロパティでこのパラメーターを参照する必要があります。 -
Metadataセクションでは、ALIYUN::ROS::Interfaceを追加し、MapOrderParameterToMarketフィールドをtrueに設定する必要があります。 -
(任意)テンプレート内の課金関連パラメーターを非表示にします。
-
MetadataにHidden属性を追加し、非表示にするパラメーターを指定します。 -
MetadataにHiddenSaleConfigパラメーターを追加し、その値をtrueに設定します。サービスインスタンス作成ページには、ソフトウェア課金設定 セクションが表示され、課金方法(サブスクリプション)、サブスクリプション期間(1 年/2 年/3 年)、自動更新 スイッチなどの設定が含まれます。
ソフトウェア課金設定 セクションはサービスインスタンス作成ページから非表示になり、サービスインスタンス名 や リージョン などの基本設定のみが表示されます。
-
-
-
サービスの作成 をクリックします。
-
サービスをテストします。
サービスを保存したら、正しく機能することを確認するためにテストを実施する必要があります。詳細については、「サービスのテスト」をご参照ください。
サービスを公開します。
サービスのテストに合格したら、レビューのために提出してください。レビューに合格後、サービスを公開します。詳細については、「サービスの公開」をご参照ください。
Alibaba Cloud Marketplace への公開
Compute Nest コンソールでサービスを公開したら、Alibaba Cloud Marketplace に出品します。手順については、「Alibaba Cloud Marketplace プロダクトとしてサービスを公開する」をご参照ください。
課金連携の検証
-
プロダクト詳細ページで購入オプションを選択し、今すぐ購入 をクリックします。
-
注文の確認 ページでプロダクト情報を確認し、クラウドリソースを設定します。
-
MapOrderParameterToMarket: trueを設定して構成を連携させると、リソース課金設定が自動的にソフトウェア課金設定と同期されます。リソースの自動更新設定もソフトウェアの自動更新設定と同期されます。このグレーアウトされたセクションをお客様に表示しないようにするには、
Hiddenパラメーターを設定してください。たとえば、ソフトウェア課金設定 の サブスクリプション期間 で 3 か月 を選択すると、リソース課金設定 の サブスクリプション期間 は自動的に 3 に設定され、課金タイプ は自動的に サブスクリプション に変更され、リソース課金設定 セクション全体がグレーアウトされて変更できなくなります。同様に、ソフトウェア課金設定 で 自動更新 を有効にすると、リソースの 自動更新 設定も自動的に有効になります。
-
サンプルテンプレート
以下のコードは、完全なサンプルテンプレートです。
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
AutoRenew:
Type: Boolean
Label:
en: AutoRenew
zh-cn: Auto-renewal
AssociationProperty: AutoRenew
PayType:
Type: String
Label:
en: ECS Instance Charge Type
zh-cn: Charge Type
AssociationProperty: ChargeType
AssociationPropertyMetadata:
LocaleKey: InstanceChargeType
Default: PostPaid
AllowedValues:
- PostPaid
- PrePaid
PayPeriodUnit:
Type: String
Label:
en: Pay Period Unit
zh-cn: Subscription Duration Unit
AssociationProperty: PayPeriodUnit
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
Default: Month
AllowedValues:
- Month
- Year
PayPeriod:
Type: Number
Label:
en: Period
zh-cn: Subscription Duration
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:
AutoRenew:
Ref: AutoRenew
InstanceChargeType:
Ref: PayType
PeriodUnit:
Ref: PayPeriodUnit
Period:
Ref: PayPeriod
……
……
Metadata:
ALIYUN::ROS::Interface:
MapOrderParameterToMarket: true
Hidden:
- ChargeType
- PeriodUnit
- Period
- AutoRenew
HiddenSaleConfig: true