Flex Gateway デプロイメントモデル

Flex Gateway では、接続モードとローカルモードの両方に適用される複数のデプロイメントモデルがサポートされています。

この概要のデプロイメントモデルは、適切なネットワーク制御が適用されたすべての技術スタックに拡張できます。ルーティング設定モードについての詳細は、​[routing-configuration-methods]​を参照してください。

以下のすべての図は、接続モードで実行されている Flex Gateway を示しています。ローカルモードで実行されている Flex Gateway での唯一の違いは、Anypoint Platform がデプロイメントモデルに存在しないことです。これは、Flex Gateway とアップストリームおよびダウンストリームサービス間の情報の流れには影響しません。

スタンドアロンデプロイメント

スタンドアロンデプロイメントでは、Flex Gateway が内部トラフィックを管理して 1 つ以上のインテグレーション API フローを保護するスタンドアロンサービスとして機能します。

次の図で示しているように、すべてのトラフィックは組織が所有しているネットワーク内にあります。トラフィックは、コンシューマー API に到達する前に Flex Gateway を通過します。

スタンドアロンデプロイメントでは、Flex Gateway とコンシューマーアプリケーションが同じネットワークにあります。

イングレスデプロイメント

スタンドアロンデプロイメントと同様、イングレスデプロイメントでは、Flex Gateway が 1 つ以上のインテグレーション API フローを保護するスタンドアロンサービスとして機能します。ただし、イングレスデプロイメントでは、Flex Gateway が内部ネットワークに入ってくる外部トラフィックを管理します。イングレスデプロイメントは最も一般的なデプロイメントモデルです。

Flex Gateway は、イングレスゲートウェイとエグレスゲートウェイのどちらの機能も果たすことができます。

次の図で示されているように、すべての外部トラフィックは、コンシューマー API に到達する前に Flex Gateway を通過します。Flex Gateway は通常ロードバランサーの背後にデプロイされ、コンシューマーアプリケーションは Flex Gateway または API と同じネットワークには属していません。

イングレスデプロイメントでは、Flex Gateway とコンシューマーアプリケーションが異なるネットワークにあります。

イングレスデプロイメントは Kubernetes Ingress コントローラーや Ingress ​Resource​ とは異なります。ルーティング設定についての詳細は、​[routing-configuration-methods]​を参照してください。

エグレスデプロイメント

エグレスデプロイメントは、イングレスデプロイメントの逆のデプロイメントモデルです。Flex Gateway はやはり 1 つ以上のインテグレーション API フローを保護するスタンドアロンサービスとして機能します。ただし、エグレスデプロイメントでは、Flex Gateway が内部ネットワークから出る内部トラフィック (たとえば、組織が所有していない API への API 要求) を管理します。

Flex Gateway は、イングレスゲートウェイとエグレスゲートウェイのどちらの機能も果たすことができます。

次の図で示されているように、コンシューマーアプリケーションからのすべての内部トラフィックは、外部 API に到達する前に Flex Gateway を通過します。

ad egress deployment

サイドカーデプロイメント

サイドカーデプロイメントでは、各 Flex Gateway デプロイメントはその保護対象サービスによって公開される API のみを保護します。新しい保護対象サービスごとに新しい Flex Gateway レプリカが追加されます。

次の図で示されているように、サイドカーデプロイメントのトラフィックは、Flex Gateway を通過してそれぞれのコンシューマー API に到達します。コンシューマーアプリケーションは、Flex Gateway と同じネットワークまたは外部ネットワークに属することができます。

サイドカーデプロイメントでは、Flex Gateway とコンシューマーアプリケーションが同じ Kubernetes ポッドにあります。

ルーティング設定方法

Flex Gateway が実行されているモードや Flex Gateway がデプロイされている技術スタックに応じて、さまざまなルーティング設定方法があります。

Flex Gateway とサービス間の接続の設定方法はデプロイメントモデルに関係ありません。

コントロールプレーン

コントロールプレーンルーティング設定では、Flex Gateway とサービスの接続がリモートコントロールプレーンで設定されます。Flex Gateway の場合、コントロールプレーンは Anypoint Platfrom です。コントロールプレーン設定は Flex Gateway 接続モードでのみ使用できます。

カスタムリソース定義 (CRD)

カスタムリソース定義 (CRD) ルーティング設定では、Flex Gateway とサービスの接続がカスタムリソース yaml ファイルで設定されます。

Flex Gateway の場合、CRD は ​APIinstance​、​Service​、​PolicyBinding​、​Configuration​ であり、宣言型設定リファレンスガイドで定義されています。

Flex Gateway では CRD によって接続がローカルモードで定義されますが、接続モードの一部の接続にも必要となります。

Kubernetes Ingress リソース

ローカルモードで実行されていて Kubernetes でデプロイされている Flex Gateway は、Kubernetes ​Ingress​ リソースを使用して接続ルーティングを定義できます。ルーティングが ​Ingress​ リソースを使用して定義されている場合、Flex Gateway はイングレスコントローラーとして機能します。 Ingress​ リソースは Kubernetes ローカルモードでのみ使用できます。

Ingress​ リソースと CRD は同時に使用できます。

イングレスコントローラーとしての Flex Gateway の設定方法についての詳細は、ローカルモードでのイングレスコントローラーとしての Flex Gateway の設定を参照してください。