Flex Gateway の概要

Anypoint Flex Gateway は、実行されている場所を問わずに API を管理して保護するように設計された、Envoy ベースの超高速かつ軽量の API ゲートウェイです。DevOps や CI/CD のワークフローとシームレスに統合できる Flex Gateway は、要求量の多いアプリケーションやマイクロサービスで求められるパフォーマンスを保証しつつ、あらゆる環境でエンタープライズセキュリティと容易な管理を実現します。

次の動画では、Flex Gateway の概要を紹介しています。

Unresolved include directive in modules/ROOT/pages/index.adoc - include::_partials/product-spotlight-video.html[]

Flex Gateway アーキテクチャ

Flex Gateway は、連動して機能する次の 2 つのコンポーネントで構成されます。

次の図は、これらのコンポーネント間のリレーションを示しています。

Flex Gateway の概念図,

コントロールプレーン

コントロールプレーンは、管理とオブザーバビリティを一元化する MuleSoft でホストされたプラットフォームであり、次の操作を実行できます。

  • API をビルドする。

  • ポリシーを追加する。

  • API をランタイムにデプロイする。

  • Anypoint API Manager で API を監視する。

  • Anypoint Runtime Manager でランタイムを設定する。

ランタイム

ゲートウェイランタイムは、顧客がホストする分散型エンティティで、クラウドデータセンターにインストールされるか、テスト目的でローカルのラップトップにインストールされます。ランタイムはコントロールプレーンからコマンドを受け取り、バックエンド API を転送して保護します。セキュリティを念頭に置いて構築された Flex Gateway は、mTLS と HTTPs を介してランタイムとコントロールプレーン間の通信を保護します。

Fluent Bit の実装により、ローカルファイル、または New Relic、Sumo Logic、Splunk などのアグリゲーターへのログ出力が可能になります。

レプリカ

ランタイム単位は​レプリカ​と呼ばれます。高可用性のために 1 つのランタイムで 600 バックエンド API をサポートできますが、Flex Gateway をクラスターとしてデプロイして複数のレプリカを並列で実行することをお勧めします。クラスターを使用すると、ゲートウェイのパフォーマンスと堅牢性が向上するため、拡張が必要な高パフォーマンスアプリケーションにお勧めします。

1 つの Flex Gateway で複数のバックエンド API をサポートできます。より多くのバックエンド API をサポートするには、複数のレプリカまたは追加の Flex Gateway をデプロイすることができます。レプリカの CPU とメモリを増加すると、スループットとパフォーマンスが向上します。

省略可能な外部 REDIS ストレージを設定して、分散レート制限や分散キャッシュなどの機能を使用できます。ゲートウェイのレプリカは、REDIS ストレージをスクラッチパッドとして使用して複数のレプリカ間でレート制限を調整するため、顧客の SLA が遵守されます。

API インスタンス

Flex Gateway は、HTTP および REST API インスタンスをサポートしています。

Flex Gateway では SOAP API がネイティブではサポートされず、XML のスキーマ検証が一切提供されません。ただし、HTTP API インスタンスをパブリッシュして HTTP プロトコルを使用する API を保護することはできます。

SOAP API をパブリッシュするには、SOAP API のトラブルシューティングを参照してください。

接続モードとローカルモード

Flex Gateway は次の 2 つの方法でデプロイできます。

接続モード

接続モードでは、ゲートウェイは MuleSoft コントロールプレーンに完全に接続されます。この接続により、一元管理、オブザーバビリティ、セキュリティが可能になります。Anypoint API Manager を使用すると、完全な API ライフサイクル管理とポリシー設定が可能になります。Anypoint Runtime Manager を使用すると、ゲートウェイをデプロイして設定できます。

UI ベースの環境でポリシーをデプロイし、ゲートウェイを管理および監視するには、接続モードを選択します。

ローカルモード

コントロールプレーンからほとんど接続されていないスタンドアロンゲートウェイを設定して管理することもできます。この環境では、ローカルモードを選択します。

ローカルモードでデプロイされた Flex Gateway は、登録および使用量メトリクスの記録のためにのみコントロールプレーンに接続します。

ローカルモードでは、ローカルに保存された宣言型設定ファイルを使用して、すべての設定およびポリシーアプリケーションを管理します。

ローカルモードを使用して、アプリケーションデプロイメント用の CI/CD パイプラインを構築します。

相違点の概要

次の表に、接続モードとローカルモードの相違点の概要を示します。

接続モード ローカルモード

ユースケース

管理、オブザーバビリティ、セキュリティを一元化する。Flex Gateway はコントロールプレーンに接続します。

ほとんど接続されていない方法で、コントロールプレーンとは独立して運用する。ローカルに保存された宣言型設定ファイルを使用して管理します。CI/CD パイプラインを構築します。

ポリシーの適用

API Manager 経由

ローカルの宣言型設定ファイル経由

エアギャップされるか?

いいえ。 Flex Gateway はコントロールプレーンに接続されます。

いいえ。 Flex Gateway はローカルで管理されますが、登録および使用量メトリクスのためにのみコントロールプレーンに接続されます。

インストールオプション

Flex Gateway はさまざまな方法でインストールできます。

  • 次のようなさまざまな Linux 環境上のスタンドアロンの単一ランタイムまたはレプリカ。

    • Amazon Linux 2023

    • CentOS 8

    • Debian (Buster、Bullseye、Bookworm)

    • Red Hat Enterprise Linux (8、9)

    • IBM Power (ppc64le) の Red Hat Enterprise Linux (8、9)

    • SUSE Linux Enterprise (SLES 15 SP2)

    • IBM Power (ppc64le) の SUSE Linux Enterprise (SLES 15 SP2)

    • Ubuntu (Bionic、Focal、Jammy)

  • Docker コンテナ内のスタンドアロンランタイム

  • Docker コンテナ内のバックエンドアプリケーションへのサイドカー (これにより単一バックエンドアプリケーションを保護)

  • 高可用性、高パフォーマンスのユースケース向けの Kubernetes ​デプロイメント

  • 高可用性、高パフォーマンスのユースケース向けの IBM Power の OpenShift ​デプロイメント

少数の API を保護し、トランザクション数が少なく、高可用性や堅牢性への影響が最小限に抑えられる場合は、スタンドアロンゲートウェイを使用します。それ以外の場合は、Kubernetes の Ingress コントローラーを使用します。

バージョン廃止日

Flex Gateway バージョン廃止日についての詳細は、 「MuleSoft Product Feature Retirements (MuleSoft 製品機能の要件)」​を参照してください。

共有責任

Flex Gateway が正常に動作するための責任は、お客様と MuleSoft との間で共有されます。

MuleSoft の責任

MuleSoft は以下の責任を負います。

  • Flex Gateway (エージェント、Envoy パッケージ、Fluent Bit パッケージを含む) の提供とサポート

  • Kubernetes クラスターへの Flex Gateway のインストールに必要なベース Helm チャートの提供とサポート。

  • オンライン Docker イメージレジストリの提供とサポート

  • Linux のインストールに必要なオンラインパッケージリポジトリの提供とサポート

お客様の責任

動作環境を問わず、お客様は以下の責任を負います。

  • Anypoint コントロールプレーンとの接続の維持

  • 通常の Flex Gateway 動作に干渉するサードパーティソフトウェア (ウイルス対策ソフトウェア、DPI、アプリケーションセキュリティシステムなど) を実行しないこと。

Kubernetes での動作時には、お客様は以下の責任を負います。

  • 特定のニーズへのベース Helm チャートの適合

  • Kubernetes ​デプロイメント​の管理。例:

    • 内部負荷分散

    • イングレス​リソースに対するカスタマイズ

    • ログ転送

    • 監視

    • ネットワークポート、NAT ゲートウェイ、プロキシ

    • コンテナランタイムとネットワーク

    • Kubernetes 環境のプロビジョニングと管理。以下が必要です。

      • お客様の IT チームによるインフラストラクチャのプロビジョニングと管理

      • お客様のネットワークチームによる許可ポートとプロキシの設定

      • お客様のセキュリティチームによるコンプライアンスの検証とセキュリティ証明書の取得

毎月の Flex Gateway の使用状況についての詳細は、​「使用状況レポートの表示」​を参照してください。

次のステップ