ユースケース 1: 組織が所有している API が組織が所有している API コンシューマーに公開されている

ユースケース 1 では、信頼済み組織の API が信頼済み組織の API コンシューマーに公開されているシナリオのすべてのパターンをカバーしています。

パターン 1: 組織の内部 API が組織の内部コンシューマーに公開されている

パターンの例:

  • セールスアプリケーションがカスタマーサービス API にアクセスし、セールスサービスとカスタマーサービスの両方が顧客組織の内部領域である

  • コールセンターアプリケーションが顧客ドメインで公開された API をコールして顧客情報を取得する

  • モバイルバンクがカスタマーサービスやアカウントサービスをコールして、アカウントの概要画面をエンドコンシューマーに表示する

パターン 1A: 組織の内部 API が同じ VPC またはネットワークを使用する組織の内部コンシューマーに公開されている

このユースケースパターンでは、両方のサービスが同じインフラストラクチャ (同じ公開クラウド VPC、データセンター、Kubernetes クラスターなど) で使用できます。サイドカーゲートウェイまたはスタンドアロンゲートウェイとして Flex Gateway をデプロイできます。

スタンドアロンモードとサイドカーモードの両方で、Flex Gateway と API は同じ内部ネットワークにあります。

次の図は、接続モードで実行されているスタンドアロン Flex Gateway の物理的な実装を示しています。ネットワークポリシー (Netpol) では、Flex Gateway からのイングレスアクセスのみが許可されます。Flex Gateway およびプロバイダーサービスと同じ名前空間または異なる名前空間にコンシューマーアプリケーションを設定できます。

ロードバランサーと Netpol 保護が含まれている UC1 の詳細なビュー

API プロバイダーが Flex Gateway およびコンシューマーアプリケーションとは異なる Kubernetes クラスターにある場合、次のいずれかを実行できます。

  • パターン 1B のように各クラスターに Flex Gateway ランタイムをデプロイする。

  • 次の図に示すように、クラスター間に安全なチャネルでネットワーク制限を確立し、Flex Gateway をそのいずれかのみにデプロイする。2 番目のクラスターでは、イングレスコントローラーとして機能する Flex Gateway からの接続のみを許可します。

Flex Gateway をサポートするために必要なサービスが含まれているパターン 1A の詳細なビュー

パターン 1B: 組織の内部 API が異なる VPC またはネットワークを使用する組織の内部コンシューマーに公開されている

このパターンでは、API プロバイダーが API コンシューマーから分離されます。ただし、2 つのネットワーク間では安全な通信チャネルを使用できます。

トラフィックがプロバイダーの場所の外部とみなされるため、Flex Gateway をイングレスとしてファイアウォールの背後にデプロイします。Flex Gateway は、受信トラフィックを受信して処理します。

必要に応じて、Flex Gateway を使用して TLS または mTLS 接続を終了できます。

信頼済みネットワークから、Flex Gateway が含まれる内部ネットワークに情報が送信されます。

次の図は、Kubernetes の物理的な実装を示しています。

前のネットワークは Kubernetes クラスターになり、Flex Gateway から API を分離するロードバランサーがあります。

パターン 2: 組織の内部 API が組織の外部コンシューマーに公開されている

パターン 2 では、組織が所有している API が組織が所有している API コンシューマーと分離されます。たとえば、ユーザーインターフェースからアクセスするパッケージ配信追跡 API などがこれに該当します。コンシューマーは、インターネット経由でのみ公開 API にアクセスできます。このユースケースでは、Flex Gateway をイングレスとしてデプロイします。

コンシューマーアプリケーションの要求は、Flex Gateway に到達する前にインターネットとファイアウォールを通過します。

このパターンは、パターン 1B と似ています。ただし、このパターンでは、トラフィックが非公開チャネルではなく公開インターネットからきます。トラフィックが公開インターネットからくるので、通信セキュリティを強化するための制御を Flex Gateway に到達する前に追加する必要があります。

次の図は、Kubernetes で組織の内部 API が組織の内部コンシューマーに公開されているシナリオの物理的な実装を示しています。この図では、ファイアウォールが外部 mTLS 受信接続を終了することを前提としています。

前のネットワークは Kubernetes クラスターになり、Flex Gateway から API を分離するロードバランサーと、外部ネットワークへの mTLS 接続があります。

パターン 3: 組織の外部 API が組織の内部コンシューマーに公開されている

パターン 3 では、API コンシューマーが Flex Gateway と同じネットワークにあります。Flex Gateway を使用して、外部サービスへのフローを監視、制御、強化できます。たとえば、Flex Gateway では、外部アクセストラフィックのレート制限や、この外部サービス接続のメトリクスおよび分析の追跡を行うことができます。

パターンの例:

  • 支払サービスが外部サービスプロバイダーから換算レートを取得する必要がある。

  • 内部 API コンシューマーが組織の外部 ServiceNow インスタンス (SaaS サービス) にアクセスする。

パターン 3 では、エグレスコンテナとして機能するスタンドアロンゲートウェイとして Flex Gateway をデプロイします。

Flex Gateway は、外部 API からの受信トラフィックを監視するエグレスとしてデプロイされます。

次の図は、Kubernetes で組織の外部 API が組織の内部コンシューマーに公開されているシナリオの物理的な実装を示しています。この図では、ファイアウォールが外部 mTLS 受信接続を終了することを前提としています。

前のネットワークは kubernetes クラスターになり、

パターン 4: 組織の外部 API が組織の外部コンシューマーに公開されている

パターン 4 では、Flex Gateway が 2 つの組織の外部エンティティ間の仲介役として機能します。たとえば、組織の WorkDay インスタンス (SaaS サービス) が組織の ServiceNow インスタンス (SaaS サービス) にアクセスする場合などがこれに該当します。このパターンでは、安全な通信とポリシーを適用するイングレスおよびエグレスとして Flex Gateway が実行されます。

Flex Gateway は、外部アプリケーションと外部 API 間の仲介役として機能します。

次の図は、Kubernetes で組織の外部 API が組織の外部コンシューマーに公開されているシナリオの物理的な実装を示しています。この図では、ファイアウォールが組織の外部 mTLS 受信接続を終了することを前提としています。

Flex Gateway をサポートするために必要なサービスが含まれているパターン 4 の詳細なビュー