非公開 API のエンドポイントの監視

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、環境の間にある可能性があるリレーションの種別を示しています。リレーションの各種別は一意の線のスタイルで示されています。

afm private locations
  1. 監視 1 のリレーション (黒色の実線の矢印で示されている): 1 つのスケジュール、1 つの場所、1 つの環境

    監視 1 は 1 つのスケジュール (スケジュール A) に基づいて実行されます。 このスケジュールは非公開の場所 1 に関連付けられています。この監視は、非公開 API 1 と非公開 API 2 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。

  2. 監視 2 のリレーション (緑色の破線の矢印で示されいる): 複数のスケジュール、1 つの場所、1 つの環境

    監視 2 は 2 つの個別のスケジュール (スケジュール B とスケジュール C) に基づいて実行され、各スケジュールは同じ非公開の場所 (非公開の場所 1) に関連付けられています。この非公開の場所は、監視 1 を実行するスケジュールと共有されます。監視 2 は、非公開 API 3 と非公開 API 4 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。

  3. 監視 3 のリレーション (青色の点鎖線の矢印で示されている): 複数のスケジュール、複数の場所、1 つの環境

    監視 3 は 2 つの個別のスケジュール (スケジュール D とスケジュール E) に基づいて実行され、各スケジュールは異なる非公開の場所 (非公開の場所 2 と非公開の場所 3) に関連付けられています。監視 3 は、API 5 と API 6 の 1 つ以上のエンドポイントをテストするように記述されています (他の非公開 API のエンドポイントをテストすることも可能)。この非公開の場所と API は 1 つの環境 (環境 A) にあります。

  4. 監視 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. 監視 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 で増やすことができます。これを行うには、次の手順に従います。

  1. Anypoint Runtime Manager に移動します。

  2. タイムアウトを増やす非公開の場所の設定を開きます。

  3. executionTimeout​ 項目で、以前よりも長いタイムアウト (ミリ秒) を指定します。

非公開の場所の更新

更新が利用可能になると、​[Locations (場所)]​ モーダルダイアログで通知されます。画面の指示に従って、すべての非公開の場所に更新を適用します。