Oracle API Gatewayを使用したマルチクラウド・マイクロサービスの接続

Oracle API Gatewayサービスでは、ネットワーク内からアクセス可能なプライベートIPアドレスで公開でき、インターネット・トラフィックを受け入れるためにパブリックIPアドレスで公開できます。

エンタープライズ・ソリューションを作成する際、特定のニーズの結果として、またはクラウド・ベンダーのチーム・プリファレンスの結果として、ソリューションの様々な部分が異なるクラウド(またはオンプレミス)にデプロイされている場合があります。たとえば、Office 365を拡張するサービスはAzureにデプロイされている場合がありますが、ERPなどのコア・サービスはOCIに存在する場合があります。

その後、これらのサービスの一部をAPIとしてパートナに公開する場合は、異なるクラウドで複数のゲートウェイを操作しようとしません。APIを異なるクラウドに分割することは、APIコンシューマにとって混乱を招く可能性が高くなります。ユーザーが変更が必要になる可能性が高くなるリスクについては言及しません。また、APIの使用に関していくつかの制限や制御がある場合、そのような制御の管理は非常に困難になります。このような場合、Oracle APIゲートウェイを使用すると、複数のバックエンド・サービスを単一の統合APIエンドポイントにリンクできます。

Oracle API GatewayサービスはOracle Cloud Infrastructure Identity and Access Management (OCI IAM)と統合されており、これにより、ネイティブOracle Cloud Infrastructure (OCI)アイデンティティ機能を簡単に認証できます。サービスが異なるクラウド(OCI、Oracle SaaS、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Computingなど)で実行されている場合、Oracle API Gatewayを使用してこれらのサービスをすべてサービス・クライアントに公開できます。

Oracle API Gatewayを使用すると、次の利点があります。
  • マルチクラウド・アーキテクチャをサポート: ベンダーのロックインを回避し、コンプライアンス要件を満たし、回復力を向上し、柔軟性とリスク管理を実現します。ユーザーは、(単一のクラウド・ベンダーにロックされることなく)コンプライアンス要件を満たすために任意のクラウドでサービス・バックエンドを実行できますが、バックエンド・サービスの実行場所に関係なく、統合エンドポイントをクライアントに公開できます。
  • 異なるクラウドで異なるサービスを実行できるようにします。バックエンドが実装されている場所に関係なく、統合エンドポイントを提供します。
  • バックエンドが実装されている場所に関係なく、統合エンドポイントをAPIクライアントに提供できるようにします。場合によっては、バックエンドをデプロイできる場所とできない場所が国別仕様によって決まることがありますが、Oracle API Gatewayはクライアントが影響を受けないことを保証します。

Oracle API Gatewayを使用すると、次の課題に対処できます。

顧客の課題 Oracle API Gatewayソリューション
統合エンドポイントを使用して、マルチクラウド・アーキテクチャを実装し、異なるクラウドでさまざまなマイクロサービスを実行
  • 混合および一致のアプローチを有効にします。様々なマイクロサービスを様々なクラウドに実装できます。
  • イングレスの監視および管理ポイントを提供します。共通ゲートウェイを持つことで、ネットワーク・トラフィックをより制御された方法で転送できます。つまり、他のクラウドへのトラフィックはゲートウェイを介して有効化され、効果的に監視されます。サービスがデプロイされている場所でトラフィックが開始および終了する場合、ネットワークはすべてのものが接続できるようにする必要があります。
マイクロサービスでは内部的な変化が発生し、クラウド間で移行することも可能 他のクラウドですでに実行されているマイクロサービスは、引き続き実行できます(たとえば、MicrosoftベースのアプリケーションはMicrosoft Azureで引き続き実行できます)。
これらのマイクロサービスを活用するクライアント・アプリケーションには、異なるクラウド上で実行されているすべてのマイクロサービスに、中断なく均一にアクセスする必要があります 異なるクラウド上で実行されているすべてのマイクロサービスは、OracleAPI Gatewayを使用してクライアントに一緒に公開できます。

アーキテクチャ

このリファレンス・アーキテクチャは、Oracle API Gatewayを使用して、OCIおよび他のクラウド(またはOCI、Oracle SaaS、サード・パーティ・クラウド、オンプレミス・ネットワークなどのデータ・センター)で実行されているサービスを接続し、サービスをサービス・クライアントに公開する方法を示します。

次の図は、このリファレンス・アーキテクチャのデータ・フローを示しています。



oci-multicloud-api-gateway-flow-oracle.zip

異なるサービス・プロバイダが存在する場合があります。例:
  • サードパーティ・クラウド上の仮想マシンで実行されるコンテナ化されたサービスおよびサービス。
  • Oracle Fusion Cloud ApplicationsOracle Fusion Cloud Enterprise Performance ManagementなどのOracle SaaSアプリケーション(Oracle統合などのサービスを使用して統合できます)。
  • Oracle Autonomous Databaseサービス
  • OCI関数やContainer Engine for Kubernetes (OKE)などのクラウド・ネイティブ・サービス。
サービスは次の方法で使用できます。
  • オンプレミス・アプリケーション(OCI VPNまたはFastConnectを使用して接続)。たとえば、データ・センターで実行されているアプリケーションなどです。
  • インターネット・ベースのクライアント。たとえば、インターネット経由でサービスにアクセスするWebページおよびモバイル・アプリです。

適切なネットワーク接続が確立されると、OCI APIゲートウェイは、異なるバックエンド・サービス・プロバイダに接続し、(必要に応じて)これらのサービスの複雑さを抽象化し、サービス・クライアントが簡単に使用できるサービスAPIを公開できます。

次の図は、このリファレンス・アーキテクチャを示しています。



oci-multicloud-api-gateway-arch-oracle.zip

アーキテクチャには、次のコンポーネントがあります。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。

  • 可用性ドメイン

    アベイラビリティ・ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されるため、耐障害性が提供されます。可用性ドメインは、電源や冷却、内部可用性ドメイン・ネットワークなどのインフラストラクチャを共有しません。そのため、ある可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響することはほとんどありません。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる、重複しない複数のCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンや可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • Oracle Cloud Applications

    SaaSアプリケーションの完全なクラウド・スイートは、エンタープライズ・リソース・プランニング、サプライ・チェーン管理、人材管理から広告やカスタマー・エクスペリエンスまで、最も重要なビジネス機能全体にわたって一貫したプロセスと信頼できる単一ソースを提供します。このアプリケーションは、顧客エンゲージメントの向上、ビジネスの俊敏性の向上、およびこれまで以上に迅速な変化への対応に役立ちます。

  • 統合

    Oracle Integrationは、アプリケーションの統合、プロセスの自動化、ビジネス・プロセスに対するインサイトの取得およびビジュアル・アプリケーションの作成を可能にするフルマネージド・サービスです。

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Databaseは、トランザクション処理およびデータ・ウェアハウス・ワークロードに使用できるフルマネージドの事前構成済データベース環境です。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureでは、データベースの作成、およびデータベースのバックアップ、パッチ適用、アップグレードおよびチューニングが処理されます。

  • APIゲートウェイ

    Oracle API Gatewayでは、ネットワーク内からアクセス可能なプライベート・エンドポイントとともに、必要に応じてパブリック・インターネットに公開できるAPIを公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、CORS、認証と認可およびリクエスト制限をサポートします。

  • サイト間VPN

    Site-to-Site VPNは、オンプレミス・ネットワークとOracle Cloud InfrastructureのVCN間のIPSec VPN接続を提供します。IPSecプロトコル・スイートは、パケットがソースから宛先に転送される前にIPトラフィックを暗号化し、到着時にトラフィックを復号化します。

  • Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureとの間の専用プライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネットベースの接続と比較して、高帯域幅のオプションとより信頼性の高いネットワーク・エクスペリエンスを提供します。

  • 関数

    Oracle Functionsは、完全に管理されたマルチテナントでスケーラビリティが高くオンデマンドのFunctions-as-a-Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。ファンクションを使用すると、コードをデプロイし、それを直接コールするか、イベントに応答してトリガーできます。Oracle Functionsでは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナが使用されます。

推奨事項

開始点として次の推奨事項を使用します。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • 仮想クラウド・ネットワーク(VCN)

    VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準プライベートIPアドレス空間内のCIDRブロックを使用します。

    VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準プライベートIPアドレス空間内のCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを同じサブネットに接続し、セキュリティ境界として機能できます。

    リージョナル・サブネットを使用します。

  • セキュリティ

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティを事前にモニターおよびメンテナンスします。クラウド・ガードでは、ディテクタ・レシピを使用して、リソースでセキュリティの弱点を調べ、オペレータおよびユーザーにリスクのあるアクティビティを監視するために定義できます。構成の誤りやセキュアでないアクティビティが検出されると、クラウド・ガードは修正アクションを推奨し、定義できるレスポンダ・レシピに基づいてそれらのアクションの実行を支援します。

    最大限のセキュリティが必要なリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースにはパブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成して更新すると、Oracle Cloud Infrastructureでは、セキュリティ・ゾーン・レシピのポリシーに対して操作が検証され、ポリシーに違反する操作が拒否されます。

注意事項

Oracle API Gatewayをデプロイする場合は、次のオプションを検討してください。

  • パフォーマンス

    OCI API Gatewayは、外部キャッシュ・サーバー(RedisやKeyDBサーバーなど)と統合することでレスポンス・キャッシュをサポートし、バックエンド・サービスの不要なロードを回避するのに役立ちます。レスポンスがキャッシュされると、同様のリクエストが受信された場合は、リクエストをバックエンド・サービスに送信するのではなく、レスポンス・キャッシュからデータを取得することでレスポンスを完了できます。これにより、バックエンド・サービスの負荷が軽減され、パフォーマンスが向上し、コストが削減されます。

    OCI API Gatewayは、(TTLを離れる時間に基づいて)認証トークンをキャッシュし、アイデンティティ・プロバイダの負荷を減らしてパフォーマンスを向上させます。

  • セキュリティ

    OCIクラウド・サービスは、APIゲートウェイによるファンクション呼出しの許可などのIAMポリシーを使用します。APIゲートウェイは、OAuth認証および認可を使用してアクセスを制御することもできます。IAMでは、IAMを介してフェデレートできる認証と認可が許可されています。その結果、APIゲートウェイには様々なサービスや認証設定に対して認証する機能が備わっています。

  • 高可用性

    デプロイメント要件およびリージョンに基づいて、高可用性オプションの使用を検討してください。オプションには、リージョン内の複数の可用性ドメインにリソースを分散し、可用性ドメイン内のフォルト・ドメインにリソースを分散することが含まれます。フォルト・ドメインは、1つのアベイラビリティ・ドメイン内にデプロイされたワークロードに対して最適な自己回復性を提供します。アプリケーション層で高可用性を実現するには、アプリケーション・サーバーを異なるフォルト・ドメインにデプロイし、ロード・バランサを使用してアプリケーション・サーバー間でクライアント・トラフィックを分散します。

詳細の参照

このリファレンス・アーキテクチャの機能の詳細は、次の追加リソースを参照してください。

謝辞

  • Author: Kaushik Kundu
  • Contributors: Wei Han, Phil Wilkins