Anypoint Flex Gateway は、実行されている場所を問わずに API を管理して保護するように設計された、Envoy ベースの超高速かつ軽量の API ゲートウェイです。DevOps や CI/CD のワークフローとシームレスに統合できる Flex Gateway は、要求量の多いアプリケーションやマイクロサービスで求められるパフォーマンスを保証しつつ、あらゆる環境でエンタープライズセキュリティと容易な管理を実現します。
次の動画では、Flex Gateway の概要を紹介しています。
Flex Gateway アーキテクチャ
スケーリング
1 つの Flex Gateway で最大 1,000 個のバックエンド API をサポートできます。高可用性のために、並列で実行されている複数のゲートウェイをデプロイすることをお勧めします。複数のゲートウェイをデプロイすると、ゲートウェイのパフォーマンスと堅牢性が向上するため、拡張が必要な高パフォーマンスアプリケーションにお勧めします。
デプロイメント種別
管理または自己管理 Flex Gateway として Flex Gateway をデプロイできます。CloudHub 2.0 の管理 Flex Gateway では管理オプションが完全に提供され、自己管理 Flex Gateway ではオプションが増え、制御が強化されます。
管理 Flex Gateway
管理 Flex Gateway は CloudHub 2.0 の Flex Gateway の完全にホストされたバージョンであり、MuleSoft によって Anypoint Platform でホストされ、管理されます。管理 Flex Gateway では、高可用性、自動スケーリング、運用オーバーヘッドの低減、定期的な自動パッチおよびアップグレードが提供されます。ポイント & クリックでの設定や監視を通じて API ゲートウェイの運用を簡素化するように設計されており、MuleSoft が保守やインフラストラクチャを担います。
管理 Flex Gateway では、各ランタイムユニットはゲートウェイインスタンスと呼ばれます。
自己管理 Flex Gateway
自己管理 Flex Gateway は分散型ランタイムエンティティで、クラウドデータセンターにインストールできるほか、テスト目的でローカルのラップトップにインストールできます。自己管理 Flex Gateway では、基盤となるインフラストラクチャを自分で管理する必要があります。自己管理 Flex Gateway では、Docker コンテナのバックエンドアプリケーションに対するサイドカーとして、Kubernetes デプロイメントとして、またはさまざまな Linux 環境で、Docker コンテナなどのさまざまなインストールオプションが使用できます。
自己管理 Flex Gateway では、各ランタイムユニットはレプリカと呼ばれます。高可用性のために、自己管理 Flex Gateway をクラスターとしてデプロイして複数のレプリカを並列で実行することをお勧めします。クラスターを使用すると、ゲートウェイのパフォーマンスと堅牢性が向上するため、拡張が必要な高パフォーマンスアプリケーションにお勧めします。
自己管理 Flex Gateway に含まれる Fluent Bit の実装により、ローカルファイル、または New Relic、Sumo Logic、Splunk などのアグリゲーターへのログ出力が可能になります。分散レート制限やキャッシュで使用するために外部 REDIS ストレージを設定することもできます。ゲートウェイのレプリカではこのストレージをレート制限調整のための一時的なワークスペースとして活用しており、顧客のサービスレベル契約を遵守するうえできわめて重要です。
自己管理 Flex Gateway は次の 2 つの方法のいずれかでインストールできます。
接続モードの自己管理 Flex Gateway
接続モードでは、ゲートウェイは MuleSoft コントロールプレーンに完全に接続されます。この接続により、一元管理、オブザーバビリティ、セキュリティが可能になります。Anypoint API Manager を使用すると、完全な API ライフサイクル管理とポリシー設定が可能になります。Anypoint Runtime Manager を使用すると、ゲートウェイをデプロイして設定できます。
UI ベースの環境でポリシーをデプロイし、ゲートウェイを管理および監視するには、接続モードを選択します。
ローカルモードの自己管理 Flex Gateway
コントロールプレーンからほとんど接続されていないスタンドアロンゲートウェイを設定して管理することもできます。この環境では、ローカルモードを選択します。
| ローカルモードでデプロイされた Flex Gateway は、登録および使用量メトリクスの記録のためにのみコントロールプレーンに接続します。 |
ローカルモードでは、ローカルに保存された宣言型設定ファイルを使用して、すべての設定およびポリシーアプリケーションを管理します。
ローカルモードを使用して、アプリケーションデプロイメント用の CI/CD パイプラインを構築します。
相違点の概要
次の表に、接続モードとローカルモードの相違点の概要を示します。
| 接続モード | ローカルモード | |
|---|---|---|
ユースケース |
管理、オブザーバビリティ、セキュリティを一元化する。Flex Gateway はコントロールプレーンに接続します。 |
ほとんど接続されていない方法で、コントロールプレーンとは独立して運用する。ローカルに保存された宣言型設定ファイルを使用して管理します。CI/CD パイプラインを構築します。 |
ポリシーの適用 |
API Manager 経由 |
ローカルの宣言型設定ファイル経由 |
エアギャップされるか? |
いいえ。 Flex Gateway はコントロールプレーンに接続されます。 |
いいえ。 Flex Gateway はローカルで管理されますが、登録および使用量メトリクスのためにのみコントロールプレーンに接続されます。 |
デプロイメントとインストールのオプション
管理デプロイメントオプション
CloudHub 2.0 の管理 Flex Gateway は Runtime Manager を使用してデプロイできます。詳細は、CloudHub 2.0 への管理 Flex Gateway のデプロイを参照してください。
自己管理インストールオプション
自己管理 Flex Gateway はさまざまな方法でインストールできます。
-
Salesforce から Heroku にデプロイされた Docker コンテナ内のスタンドアロンランタイム
-
Docker コンテナ内のスタンドアロンランタイム
-
Docker コンテナ内のバックエンドアプリケーションへのサイドカー (これにより単一バックエンドアプリケーションを保護)
-
高可用性、高パフォーマンスのユースケース向けの Kubernetes
デプロイメント -
高可用性、高パフォーマンスのユースケース向けの IBM Power の OpenShift
デプロイメント -
次のようなさまざまな Linux 環境上のスタンドアロンの単一ランタイムまたはレプリカ。
-
Amazon Linux 2023
-
CentOS 8
-
Debian Bookworm
-
Red Hat Enterprise Linux (9)
-
IBM Power (ppc64le) の Red Hat Enterprise Linux (9)
-
Ubuntu Jammy
-
スタンドアロンゲートウェイはトランザクション量が低い限られた数の API を保護するのに適しています。ただし、他のシナリオや、高可用性や信頼性が重要な場合は、Kubernetes のイングレスコントローラーを使用することを検討してください。
バージョン廃止日
Flex Gateway バージョン廃止日についての詳細は、 「MuleSoft Product Versioning and Back Support Policy (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 の使用状況についての詳細は、「使用状況レポートの表示」を参照してください。