すべてのプロダクト
Search
ドキュメントセンター

Compute Nest:サービスのテスト

最終更新日:Jun 19, 2026

Compute Nest サービスを作成して保存した後、レビューに提出する前に、サービスの可用性とサービス テンプレートをテストします。

サービスプロバイダーは、手動テストまたは自動テストを使用してサービスをテストできます。 ご利用のサービスに最適な方法を選択してください。

  • 手動テスト:サービスインスタンスのデプロイリンクを使用して、ユーザーの視点から自身のアカウントにサービスインスタンスをデプロイします。

  • 自動テスト:さまざまなテンプレートのテストケースを作成し、テストタスクを実行してテンプレートの正確性を検証します。 テストケースは後続のサービスバージョンに継承されるため、イテレーションをまたいだリグレッションテストが可能になります。 自動テストは、レビューにサービスを提出すると自動的にトリガーされます。

手動テスト

サービスインスタンスのデプロイリンクを使用して、自身のアカウントにサービスインスタンスを作成し、デプロイプロセスを検証します。

説明

サービステスト用のクラウドリソースの無料トライアルを申請する方法については、「無料トライアルの設定」をご参照ください。

  1. Compute Nest コンソールにログインします。

  2. 保存したサービスを見つけます。 サービス名をクリックして、サービス詳細ページを開きます。

  3. サービステスト タブをクリックし、テストリンクをクリックしてサービスインスタンス作成ページを開きます。

    サービスインスタンス作成ページで、ユーザーインターフェイス (UI) を検証します。

  4. テストが完了すると、[Service Test] タブに「Test successful」というメッセージが表示されます。 これにより、サービスインスタンスが作成され、サービスが利用可能であることが確認できます。

自動テスト

テストケースを作成して、サービス テンプレートのパラメーターをカスタマイズします。 テストケースはサービスレビュープロセスと連携しており、レビューにサービスを提出すると自動的に実行されます。 テストケースは後続のすべてのサービスバージョンに継承されるため、サービスのアップグレードまたは更新時にリグレッションテストが可能になります。

説明

テストケースを追加しない場合、レビューにサービスを提出しても自動テストは実行されません。

テストケースの設定

テストケースは YAML ファイルで定義されます。 次の例は、consul サービスのテストケース設定を示しています。

---
parameters:
  SystemDiskSize: 100
  PayType: "PostPaid"
  DataDiskSize: 40
  InstanceType: "$[iact3-auto]"
  AllocatePublicIp: "true"
  DataDiskCategory: "cloud_efficiency"
  InstancePassword: "$[iact3-auto]"
  SystemDiskCategory: "cloud_essd"

また、テストケースの新規追加 ダイアログボックスで デフォルト設定のインポート をクリックして、サービスのデフォルトのテストケース設定をインポートすることもできます。 デフォルト設定では、サービス テンプレートで定義されたパラメーターが使用されます。

パラメーター

次の表に、テストケース設定のフィールドを示します。

パラメーター

必須

説明

specificationName

いいえ

パラメーターセットの名前です。

パラメーターセット内のパラメーターは、 parameters セクションで定義されたパラメーターと競合することはできません。

parameters

はい

1 回のテストで Resource Orchestration Service (ROS) テンプレートを実行するためのパラメーターです。

重要
  • 課金方法を指定する InstanceChargeType パラメーターは、後払い に設定する必要があります。

  • 詳細については、「疑似パラメーター」をご参照ください。 $[iact3-auto] 疑似パラメーターは、利用可能なオプションからランダムな値を自動的に選択します。 現在のリージョンで利用可能な定義済みのクラウドリソースを自動的に選択します。

  • VPC、ゾーン、vSwitch、セキュリティグループなど、リージョン (region) に密接に関連するプロパティは、タスクの実行時に自動的に生成されます。 これらのプロパティは、ユーザーがカスタマイズすることも可能です。

テストタスクの作成

テストを実行するには、Compute Nest アカウントでテンプレートとテストケースを選択します。

  1. テストタスク セクションで、タスクの作成 をクリックします。 表示されるダイアログボックスで、タスク情報を設定します。

    1. テストタスクの名前を設定します。

    2. サービス テンプレートとテストケースを選択します。

      複数のテンプレートがある場合は、テンプレートごとにテストケースを追加できます。

    3. タスクを実行するリージョンを選択します。

      リージョンを選択しない場合、サービスに設定されているデプロイリージョンからランダムに 1 つ選択されます。

  2. 今すぐ作成する をクリックします。

    タスクを作成した後、タスクリストで進捗状況を確認できます。 タスクは [Test Tasks] リストに表示されます。 リストには、[Task Name][Region][Test Case][Execution Status] などの情報が含まれます。 初期の実行ステータスは 実行中 です。

  3. レポートの表示

    タスクが完了した後、実行レポートでテスト設定とテストケース情報を表示できます。

    1. テストタスク名の横にある 2023-10-19_16-30-06.png アイコンをクリックし、詳細 をクリックします。

    2. [Test Report] ダイアログボックスで、タスクのテスト設定、リージョン、およびスタックを確認します。 このダイアログボックスには 2 つのセクションがあります。 [Test Configuration] セクションには、SystemDiskSizePayTypeDataDiskSizeInstanceTypeAllocatePublicIpDataDiskCategoryInstancePasswordSystemDiskCategory など、テンプレートの YAML パラメーターが表示されます。 [Test Case] セクションには、テスト名、リージョン、スタック、結果、およびテストログが表形式で表示されます。 [View] リンクをクリックすると、対応するテストログの詳細を表示できます。

  4. ログの表示

    ログでは、有効なパラメーター、スタックの詳細、エラーメッセージなどの情報を確認できます。 ログ詳細ダイアログボックスには、RegionStackNameStackIdTestedResultResultReason などのフィールドが表示されます。 たとえば、テスト結果が 失敗 の場合、理由は StackValidationFailed で、メッセージは "Resources.Database.Condition: Unrecognized value 'Please fill in'" のようになります。 これは、パラメーター値が無効であることを示します。 ブール型の有効な値には、'0''1''true''false''yes''no''on''off' があります。

一般的なエラーと解決策

以下に、サービスをテストする際の一般的なエラーとその解決策を示します。

  • エラーメッセージ:エラーログでは、TestedResult失敗 であり、ResultReason には "IacerException, can not find any available value for ZoneId in {region}" と表示されます。 例: "IacerException, can not find any available value for ZoneId in cn-qingdao region in [] for default"

    解決策:現在のリージョンで対応するリソースが利用できません。 タスクに別のリージョンを指定してください。

  • エラーメッセージ:"Resources.TiDBServerScalingGroupEnable.Properties: : Unknown Property DetachOptions request id: 51341F62-56DC-xxxx-xxxx-xxx"

    解決策:テンプレート内のパラメーターが無効です。 ログメッセージに基づいて、テスト設定のパラメーターを変更してください。

疑似パラメーター

機能検証のためにテストパラメーターを手動で入力するのは面倒な場合があります。 $[iact3-auto] 疑似パラメーターを使用して、パラメーター値を自動的に入力します。 疑似パラメーターは、次のシナリオでサポートされます:

  • パラメーターがその制約を照会するための API をサポートしている場合。 パラメーターに対して GetTemplateParameterConstraints API を呼び出すと、API は AllowedValues のリストを返します。

  • パラメーター名に特定の意味があるか、明確なリソースタイプを示す場合。 この場合、疑似パラメーターは適切な値を自動的に取得します。

    • VpcIdVswitchIdSecurityGroupId などのパラメーターの場合、疑似パラメーターは現在のリージョンから対応するインスタンス ID を自動的に選択します。

    • VpcNamePasswordUuid などのパラメーターの場合、疑似パラメーターは名前、パスワード、または UUID 値をランダムに生成します。

    • 疑似パラメーターは、次の正規表現に一致する名前をサポートします:

      • パラメーター名が正規表現 vpc(_|)id に一致する場合、現在のリージョンからランダムな VpcId 値を自動的に取得します。

      • パラメーター名が v(_|)switch(_|)id に一致する場合、現在のリージョンから VswitchId 値を自動的に取得します。 パラメーター名に zone(_|)id に一致する値も含まれている場合、対応するゾーン内の vSwitch の ID を照会します。

      • パラメーター名が security(_|)group(_id|id) に一致する場合、セキュリティグループ情報を自動的に取得します。

      • パラメーター名が正規表現 \w*name に一致する場合、 iacer- で始まるランダムな文字列を生成します。

      • パラメーター名が正規表現 \w*password に一致する場合、大文字、小文字、数字、特殊文字を含むランダムなパスワードを生成します。

      • パラメーター名が正規表現 \w*uuid に一致する場合、UUID を自動的に生成します。