Mule ゲートウェイの概要

Mule Runtime Engine には、埋め込み Mule ゲートウェイが含まれています。Mule ゲートウェイを使用すると、バックエンド API とサービスの上に専用のオーケストレーションレイヤーを追加できるため、実装からオーケストレーションを切り離すことができます。API Manager のガバナンス機能を使用して、調整、セキュリティ、キャッシュ、ログなどの機能を API に適用できます。

Mule ゲートウェイを使用すると、たとえば次のことを実行できます。

  • 基本認証ポリシーを Mule アプリケーション上に適用する。

  • 受信/送信メッセージを強化する。

  • コードを記述することなく、他の複雑な機能を API に追加する。

apigateway

ポリシーを適用し、分析情報を生成する必要がある場合、次のいずれかを使用する必要があります。

  • Mule アプリケーションで定義されている API。

  • 既存のバックエンド実装をプロキシする Mule アプリケーション。

主要概念

API

API は一連のコンポーネントの抽象化です。これは Mule アプリケーション開発の複雑さをカプセル化するものであり、アセットにアクセスするための簡単で再利用可能な方法を提供します。

自動検出要素を使用して API を API Manager にペアリングすることで、その API にポリシーを適用することができます。

詳細は、​API 自動検出について​を参照してください。

HTTP/HTTPS API

HTTP Exchange アセットを使用して作成する API。Mule ゲートウェイは、API Manager により追跡される関連付けられた Mule アプリケーションに、実装エンドポイントとして定義された HTTP または HTTPS リスナーがあることを前提とします。

通常の使用方法​: REST ベースの API。

「API アセットの作成」​を参照してください。

RAML API

RAML/OAS Exchange アセットを使用して作成する API。Mule ゲートウェイは、API Manager により追跡される関連付けられた Mule アプリケーションに、実装エンドポイントとして定義された RAML/OAS ルーターを備えた HTTP または HTTPS リスナーがあることを前提とします。

このアセットを Exchange で使用できるようにするには、API Designer を使用して API を設定した後、API を Exchange にエクスポートすることができます。

通常の使用方法​: RAML/OAS ベースの API。

WSDL API

WSDL Exchange アセットを使用して作成する API。Mule ゲートウェイは、API Manager により追跡される関連付けられた Mule アプリケーションに、実装エンドポイントとして定義された WSDL ルーターを備えた HTTP または HTTPS リスナーがあることを前提とします。

通常の使用方法​: WSDL ベースの API。

API 自動検出

API 自動検出を使用すると、Mule アプリケーションの HTTP エンドポイントを表す API を API Manager で管理できます。

基本的に、これは HTTP リソースを API Manager 内のその API 定義にリンクするメカニズムです。

Mule ゲートウェイは API 自動検出を介して、API Manager 内の対応するペアリング済みの API で定義された設定を同期します。Mule Runtime で自動検出を使用するには、Anypoint Platform 組織のログイン情報が必要です。

詳細は、​API 自動検出​に関する記事を参照してください。

API プロキシ

「自動生成プロキシ」とも呼ばれる API プロキシにより、Mule アプリケーションでの API Manager の使いやすさが向上します。

通常の使用方法​: Mule ゲートウェイ機能を使用する必要があるがバックエンド API が Mule Runtime に基づいていない場合や、API は Mule Runtime に基づいているが閉じられたコードのために対応する自動検出要素を定義できない場合に使用します。

api gateway capabilities mule4 62bf9

プロキシエンドポイントとして API を設定した場合、Anypoint Platform を使用して、事前設定済みの Mule アプリケーションをダウンロードできます。アプリケーションが Mule Runtime にデプロイされており、正しい Anypoint Platform ログイン情報を使用している場合、API Manager で API が自動的に追跡されます。

Mule アプリケーションの作成方法の詳細を知らなくても、正しく設定された Mule Runtime にアプリケーションをデプロイできます。

Anypoint Platform は Runtime Manager を介して、Cloudhub にプロキシを直接デプロイしたり、Mule エージェントを使用してプロキシをデプロイしたりできます。

HTTP ではなく HTTPS を使用する場合は、次の手順を実行できます。

  1. 自動生成プロキシを Anypoint Studio にインポートします。

  2. 使用する証明書を指定します。

  3. アプリケーションを Cloudhub またはランタイムインスタンスにデプロイします。

API プラットフォームからダウンロードできるプロキシは、アプリケーションネットワークのデプロイを高速化するための便利なツールです。ただし、これらの自動生成プロキシを使用することに制限されません。正しく設定された自動検出を備えた Mule アプリケーションを使用すれば、Mule ゲートウェイの機能を利用できます。

ポリシー

ポリシーは、直交する動作を API 全体またはそのリソースに適用するためのツールです。

ポリシーを作成して、受信/送信メッセージの強化、絞り込み、および制御ができるほか、たとえば、API へのトークンアクセスを適用したり、特定の IP アドレスをホワイトリストまたはブラックリストに登録したりすることでセキュリティレイヤーを API 上に適用できます。

Mule ゲートウェイは、標準 (OOTB) ポリシーだけでなく、独自のカスタムポリシーを作成するためのエンジンを提供します。

Analytics

Mule Manager に API ゲートウェイを接続すると、​API Analytics​ を使用して、登録済み API の使用状況を監視できます。

Mule ゲートウェイでは、検出されたポリシー違反を含め、API 使用状況が報告されます。

ポイントカット

Mule ゲートウェイでは、ポリシーがその適用先のリソースを参照するようにポイントカットが使用されます。

API Manager でポリシーを適用した場合、そのポリシーはポイントカットを使用して、適用先の Mule アプリケーションのエンドポイントを決定します。

Mule アプリケーションコードで API 自動検出要素を宣言する必要がありますが、これと同様に、ポリシー内でポイントカットを宣言します。

Mule 4 では、ポイントカットはユーザーに表示されず、Mule ゲートウェイと API Manager によって内部的に管理されるのみです。

ほとんどの場合、ポリシーを設定するときに、ポイントカットの粒度を選択できます。この設定は、ポリシーの ​[Method & Resource conditions (メソッドおよびリソースの条件)]​ の下にあります。

2 つの使用可能なオプションがあります。

  • Apply configurations to all API methods & resources (設定をすべての API メソッドおよびリソースに適用)​。

    api gateway capabilities mule4 40081

    選択した場合、API ポイントカットは、API のすべてのリソースとメソッドに一致します。つまり、適用されるポリシーは、(自動検出を介して API にリンクされている) HTTP リスナーで受信された要求ごとに実行されます。

  • Apply configurations to specific methods & resources (設定を特定のメソッドおよびリソースに適用)​。

    api gateway capabilities mule4 2ed4e

    これは、API のリソースレベルのポイントカットを定義します。この例では、ポリシーは、要求メソッドが GET の場合にのみ API に適用されます。必要に応じて、リソースに一致する正規表現を定義し、粒度をさらに細かくすることができます。

Mule ゲートウェイ機能の有効化

Mule ゲートウェイの機能を利用するには、Mule Runtime と、コントロールプレーン (US または EU)、または Mule Private Cloud Edition で作成された組織との間で通信チャネルを確立します。

このように Mule Runtime を設定するには、Anypoint 組織のログイン情報を指定します。

実装に応じて、組織のログイン情報をランタイムに渡す方法がいくつかあります。

Hyperforce の Mule ゲートウェイ

Hyperforce では、Mule ゲートウェイのすべての機能がサポートされています。ただし、一部の API Manager の Hyperforce の制限は Mule ゲートウェイに影響します。詳細は、​「API Manager on Hyperforce (Hyperforce での API Manager)」​を参照してください。

Hyperforce の Mule ゲートウェイプロキシ

Hyperforce では、すべての Mule ゲートウェイプロキシがサポートされています。次の表で、Hyperforce でサポートされているプロキシの最初のバージョンを確認してください。

プロキシ バージョン

HTTP および HTTPS プロキシ

2.1.0

REST プロキシ

2.2.1 および 3.2.1

WSDL プロキシ

2.2.1 および 3.1.1

Hyperforce の Mule ゲートウェイポリシー

Hyperforce では、すべての Mule ゲートウェイポリシーがサポートされています。次の表で、Hyperforce でサポートされているポリシー定義および実装の最初のバージョンを確認してください。

ポリシー 定義 実装

基本認証: LDAP

1.4.0

1.4.1

基本認証: シンプル

1.3.1

1.4.1

クライアント ID 適用

1.3.2

1.4.0

クロスオリジンリソース共有 (CORS)

1.3.1

1.4.1

ヘッダーの挿入

1.3.1

1.4.0

ヘッダーの削除

1.1.1

1.2.0

HTTP キャッシュ

1.1.0

1.1.0

IP 許可リスト

1.1.1

1.2.0

IP ブロックリスト

1.1.1

1.2.0

JSON 脅威保護

1.2.0

1.2.3

JWT 検証

1.4.0

1.4.1

メッセージログ

2.0.1

2.1.1

Mule OAuth プロバイダーを使用する OAuth 2.0 アクセストークン適用

1.6.0

1.6.1

OpenAM OAuth 2.0 トークン適用

1.6.0

1.6.1

OpenID Connect OAuth 2.0 アクセストークン適用

1.6.0

1.6.1

PingFederate OAuth 2.0 トークン適用

1.6.0

1.6.1

レート制限

1.4.0

1.4.0

レート制限: SLA ベース

1.3.0

1.3.0

スパイク制御

1.2.1

1.3.1

XML 脅威保護

1.2.0

1.2.0