Anypoint Virtual Private Cloud (Anypoint VPC) のサブスクリプションがあれば、API 機能監視 (AFM) を使用して非公開 API を監視できます。
非公開 API は、Anypoint VPC 内部のネットワーク内でのみアクセスできるエンドポイントを使用する API です。
非公開の場所は、CloudHub 1.0 の環境で実行される Mule アプリケーションです。非公開の場所内でのみアクセスできる API に対してテストを実行できます。非公開の場所の環境には、Anypoint VPC を関連付けることができます。Anypoint VPC の 1 つのインスタンスに複数の非公開の場所を作成できます。
非公開エンドポイントをテストするには、アプリケーションの内部 URL を使用します。これらは、mule-worker-internal-myapp.region.cloudhub.io という形式の Mule ワーカーの内部/VPC IP アドレスです。VPC にはアプリケーションのポートへのアクセス権も必要です。「CloudHub ネットワークガイド」を参照してください。
| 非公開の場所を使用して公開 API をテストすることもできます。公開 API は、インターネットに公開されているエンドポイントを使用する API です。 |
非公開の場所とスケジュールの関連付け
非公開の場所を使用する場合、vCore の割り当ての上限までワーカーを実行できます。デフォルトでは、各ワーカーは 0.2 vCore をコンシュームします。そのため、MuleSoft では、非公開の場所から実行されるテストで作成できるスケジュールの数に制限はありません。
また、5 分間隔で非公開の場所からテストを実行することもできます。
非公開の場所の作成
非公開の場所からテストを実行するには、非公開の場所を作成する必要があります。非公開の場所を作成するには、名前と、ワーカーを実行する環境を指定します。環境は Anypoint VPC のインスタンスに関連付ける必要があります。また、環境は、テストする API のデプロイ先の環境と同じである必要があります。たとえば、myLocation という名前の非公開の場所を作成し、環境 myEnvironment で実行するように設定できます。myLocation でテストを実行するように選択すると、AFM は Anypoint Virtual Private Cloud の myEnvironment にワーカーを割り当てます。
| 以前のバージョンの非公開の場所では、テストを実行するには、非公開の場所の環境への受信 HTTP トラフィックを許可する必要がありました。非公開の場所を更新すると、受信 HTTP トラフィックを許可する必要はなくなります。 |
考えられるテストの設定
次の図は、非公開 API の監視とスケジュール、公開された場所、API、環境の間にある可能性があるリレーションの種別を示しています。リレーションの各種別は一意の線のスタイルで示されています。
-
監視 1 のリレーション (黒色の実線の矢印で示されている): 1 つのスケジュール、1 つの場所、1 つの環境
監視 1 は 1 つのスケジュール (スケジュール A) に基づいて実行されます。 このスケジュールは非公開の場所 1 に関連付けられています。この監視は、非公開 API 1 と非公開 API 2 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。
-
監視 2 のリレーション (緑色の破線の矢印で示されいる): 複数のスケジュール、1 つの場所、1 つの環境
監視 2 は 2 つの個別のスケジュール (スケジュール B とスケジュール C) に基づいて実行され、各スケジュールは同じ非公開の場所 (非公開の場所 1) に関連付けられています。この非公開の場所は、監視 1 を実行するスケジュールと共有されます。監視 2 は、非公開 API 3 と非公開 API 4 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。
-
監視 3 のリレーション (青色の点鎖線の矢印で示されている): 複数のスケジュール、複数の場所、1 つの環境
監視 3 は 2 つの個別のスケジュール (スケジュール D とスケジュール E) に基づいて実行され、各スケジュールは異なる非公開の場所 (非公開の場所 2 と非公開の場所 3) に関連付けられています。監視 3 は、API 5 と API 6 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。
-
監視 4 のリレーション (オレンジ色の点線の矢印で示されている): 複数のスケジュール、複数の環境
監視 4 は 2 つの個別のスケジュール (スケジュール F とスケジュール G) に基づいて実行され、各スケジュールは異なる非公開の場所に関連付けられています。非公開の場所 4 と非公開 API 7 は環境 A にあり、非公開の場所 5 と非公開 API 8 は環境 B にあります。一方の環境をテスト環境、もう一方の環境を本番環境にできます。ここで、非公開 API 7 と非公開 API 8 は同じ API のコピーです。監視 4 は、非公開 API 7 の 1 つ以上のエンドポイントと非公開 API 8 の同じエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。
-
監視 5 のリレーション (紫色の実線の矢印で示されている): 非公開 API と公開 API をテスト
監視 5 は 1 つのスケジュール (スケジュール H) に基づいて実行されます (複数のスケジュールに基づいて実行することも可能)。このスケジュールは非公開の場所 (非公開の場所 5) に関連付けられています。監視 5 は、非公開 API 9 と公開 API 10 の 1 つ以上のエンドポイントをテストするように記述されています。非公開の場所 5 と非公開 API 9 は環境 B にあり、公開 API 10 は Web 上にあります。
テストがタイムアウトするまでの時間
テストが非公開の場所の Anypoint VPC のインスタンスで実行される場合、ワーカーは他の MuleSoft ユーザーとリソースを共有しません。そのため、AFM ではテストでエンドポイントからの応答をデフォルトで 30 分待機できます。この時間は、Anypoint Runtime Manager で増やすことができます。これを行うには、次の手順に従います。
-
Anypoint Runtime Manager に移動します。
-
タイムアウトを増やす非公開の場所の設定を開きます。
-
executionTimeout 項目で、以前よりも長いタイムアウト (ミリ秒) を指定します。