本トピックでは、Compute Nest サービスおよびその関連リソースを Alibaba Cloud Marketplace に公開する前に、課金構成をバインドする方法について説明します。
背景情報
ユーザーが Alibaba Cloud Marketplace から Compute Nest サービスを購入すると、ソフトウェアとその実行に必要なクラウドリソースの両方が提供されます。
ソフトウェアの利用期間を、関連するリソースまたはハードウェアの利用期間と一致させるため、テンプレート内でリソースの課金タイプを定義します。たとえば、サブスクリプション方式の 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: trueParametersセクションでは、ChargeType、PayPeriodUnit、PayPeriod、AutoRenew などの課金関連パラメーターそれぞれに対応するAssociationPropertyを追加します。説明AutoRenew は任意の設定です。ソフトウェアの自動更新とリソースの自動更新を連携させるには、
AssociationProperty: AutoRenewを設定してください。また、Resourcesセクション内で、このパラメーターをリソースの更新プロパティとして参照します。Metadataセクションでは、ALIYUN::ROS::Interfaceを追加し、MapOrderParameterToMarketフィールドをtrueに設定します。(任意)テンプレート内の課金関連パラメーターを非表示にします。
MetadataセクションにHiddenプロパティを追加し、非表示にするパラメーターをリストアップします。MetadataセクションにHiddenSaleConfigパラメーターを追加し、その値をtrueに設定します。
サービスの作成 をクリックします。
サービスのテストを行います。
サービスを保存した後、正しく動作することを確認するためにテストを実施します。詳細については、「サービスのテスト」をご参照ください。
サービスの公開 を行います。
サービスがテストを通過した後、レビューのためにサービスを提出します。レビューが承認された後にサービスを公開します。詳細については、「サービスの公開」をご参照ください。
Alibaba Cloud Marketplace へのサービス掲載
Compute Nest コンソールでサービスを公開した後、Alibaba Cloud Marketplace へ掲載します。手順については、「Alibaba Cloud Marketplace プロダクトとしてサービスを公開する」をご参照ください。
Alibaba Cloud Marketplace におけるリソース課金とソフトウェア課金の整合性確認
製品ページに移動します。
Alibaba Cloud Marketplace で該当製品を検索します。
Alibaba Cloud Marketplace の ホームページ にアクセスします。
購入を希望する製品を検索するには、検索 をクリックします。
該当製品を見つけ、クリックします。
サービスプロバイダーから提供された Alibaba Cloud Marketplace 製品リンクを開きます。
製品ページで購入オプションを選択し、今すぐ購入 をクリックします。
注文内容の確認 ページで、製品の詳細を確認し、クラウドリソースを構成します。
バインド設定(すなわち、MapOrderParameterToMarket: true の設定)を実施後、リソースの課金タイプはソフトウェアの課金タイプに従い、リソースの自動更新トグルはソフトウェアの自動更新トグルに従います。
これらのグレーアウトされたフィールドをユーザーに非表示にするには、Hidden パラメーターを設定します。
サンプルテンプレート
完全なサンプルテンプレートを以下に示します。
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
AutoRenew:
Type: Boolean
Label:
en: AutoRenew
zh-cn: AutoRenew
AssociationProperty: AutoRenew
PayType:
Type: String
Label:
en: ECS Instance Charge Type
zh-cn: Billing Method
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