ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle API GatewayからOracle Cloud Infrastructure API GatewayへのAPIの移行
イントロダクション
Oracle API Gatewayは、広く普及しているオンプレミス・プラットフォームであり、Webアプリケーションやモバイル・アプリケーション、さらにはクライアント/サーバー・アプリケーションと統合するためのAPIを通じてレガシー・システムを公開したかったことが過去にあった企業で使用されていました。
このチュートリアルでは、Oracle API Gatewayに実装されたAPIを、クラウド・ネイティブ標準内で、ハイブリッド環境(クラウドまたはオンプレミス)で使用できる、より最新のスケーラブルなテクノロジに移行する方法を説明します。この提案は、Oracle Cloud Infrastructure API Gateway (OCI API Gateway)への移行を加速することです。
OCI APIゲートウェイ・サービスでは、インターネット・トラフィックを受け入れる場合に、パブリックIPアドレスで公開できる、ネットワーク上のアクセス可能なプライベート・エンドポイントを含むAPIを公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、CORS、認証と認可およびリクエスト制限をサポートします。
OCI APIゲートウェイ・サービスを使用して、APIクライアント・トラフィックを処理し、バックエンド・サービスにルーティングするために、リージョン・サブネットに1つ以上のAPIゲートウェイを作成します。単一のAPIゲートウェイを使用して、複数のバックエンド・サービス(OCIロード・バランサ、OCIコンピュート・インスタンス、OCI Functionsなど)を単一の統合APIエンドポイントにリンクできます。OCIコンソールおよびREST APIを使用して、OCI APIゲートウェイ・サービスにアクセスして、APIゲートウェイおよびAPIデプロイメントを定義できます。
OCI APIゲートウェイ・サービスは、ネイティブなOCIアイデンティティ機能で簡単な認証を提供するOracle Cloud Infrastructure Identity and Access Management (OCI IAM)と統合されています。
このチュートリアルでは、OCI API Gatewayに移行するためのアーティファクトを準備でき、OCI API GatewayにOpenAPI仕様をデプロイするための自動化の実装という他のチュートリアルとともに使用する必要があります。
ノート:
次のアーティファクトがあります。
Oracle API Gateway XMLエクスポート・ファイルからSwagger仕様を自動的に作成します。
OCI API Gatewayが生成されたSwagger仕様から自動的にインポートできるようにします。
Oracle Integrationに実装し、OCI API Gatewayと統合する必要があるプロセスとオーケストレーションをご覧ください。
これらのアーティファクトは、Oracle API GatewayからOCI API Gatewayへの移行をそのまま完了しません。ステップを編成するには、いくつかの統合を実装する必要があります。場合によっては、APIのコンテキストを分析することで、アプリケーションを最新のアプローチやクラウド・ネイティブ環境に移行できます。
Oracle API GatewayからOCI API Gatewayに移行するための戦略
この戦略では、わずかに異なるテクノロジであるため、OCI API Gatewayに直接移行することはできません。Oracle API Gatewayには、パスとそのポリシー間のマッピングを作成するメカニズムがありますが、認可/認証、HEADER、ビジネス・ルールなどのAPIの複雑さを伴うコール・オーケストレーションの複雑な処理ルールを生成します。OCI API GatewayはAPIゲートウェイとしてのみ機能するため、一部のHEADERの処理、タイムアウトおよび制限の原則の確立は可能ですが、大きな複雑さはありません。このツールは、他の機能を補完する様々なサービスの一部であるため、よりシンプルになり、その機能を正確に区切ることを目的としています。
目的
-
APIをOracle API GatewayからOCI API Gatewayに移行します。
-
OCI API GatewayのAPIのルーティングと、Oracle Integrationの複雑さとオーケストレーション・ルールを分割します。
タスク1: Oracle API Gateway APIのエクスポート
Oracle API Gatewayは、XMLファイル内のすべての定義をエクスポートできます。このアーティファクトを使用して、移行のプロセスを加速します。Oracle API GatewayでAPI定義をエクスポートする方法の詳細は、APIゲートウェイ構成のエクスポートを参照してください。
すべてのAPI定義を含むXMLファイルが表示されます。
タスク2: Oracle API Gateway XMLのSwagger仕様への変換
Oracle API Gateway XMLファイルを使用して、YAML Swaggerファイルに変換します。
-
エクスポートしたOracle API Gateway XMLファイルに変数ファイル名を変更し、次のPythonファイルを実行します: generate_swagger.py。
YAML拡張子を持つファイルを受信します。各ファイルは、Oracle API Gatewayで定義されたAPIのSwagger定義です。
一部の行は、Swagger定義でコメント化されています。これらの行は、各APIでのOracle API Gatewayオーケストレーションを表します。これは、Oracle Integrationでオーケストレーションを計画および構築するのに役立ちます。
-
map_details.py Pythonファイルを変更して、Oracle API GatewayのXML定義ファイルと出力マッピング定義のファイル名を含めます。
このPythonコードを実行すると、Swaggerで説明されている各オーケストレーション・ステップの詳細な定義が表示されます。
タスク3: SwaggerのOCI API Gatewayへのデプロイ
Swaggerファイルを使用すると、自動化プロセスを通じてOCI API Gatewayにインポートできます。Pythonコードによって生成されたすべてのYAMLファイルは、このプロジェクトを使用してOCI API Gatewayにデプロイできます。詳細は、OCI API GatewayにOpenAPI仕様をデプロイするための自動化の実装を参照してください。
このプロジェクトでは、ここで生成されたSwagger仕様をインポートし、使用するAPIをデプロイします。このドキュメントの一部として、バックエンドを手動で調整する必要があります。
タスク4: Oracle Integrationでのオーケストレーションの実装
このタスクでは、ケースをケース別に分析し、オーケストレーション、ビジネス・ルールおよび検証を実装する必要があります。
まず、Oracle API GatewayのAPIの各ステップを分析する必要があります。一部のステップはビジネス・ルールおよびオーケストレーションであり、これらはOracle Integrationの実装の一部である必要があります。この実装は、OCI API Gatewayで公開できるため、Oracle API Gatewayで実行される同じプロセスに従います。
ただし、Oracle Integration内に実装する必要のないステップがいくつかあります。その一部は次のとおりです。
- 認証と許可
- HEADER、QUERYパラメータおよびBODYの処理。
- ルーティング・パス
認証および認可プロセスは、OCI API Gatewayレイヤーに実装できます。また、実装する必要があります。これを実装するには、JWT、OAuth2など、いくつかの方法があります。カスタマイズの許可に加えて、認証および認可をAPIデプロイメントに追加するための認可プロバイダ・ファンクションへのトークンの受渡しを参照してください。
HEADER(およびQUERYパラメータとBODY)処理は、OCI API Gateway自体で実行できます。処理は、REQUESTとRESPONSEの両方で実行できます。
ログはOCI API Gatewayでも処理できますが、回路全体をログに記録しておくことは常に有効です。つまり、Oracle Integrationに実装がある場合は、そこにログも実装してみてください。
関連リンク
承認
- 著者 - Cristiano Hoshikawa (Oracle LAD Aチーム・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Migrate APIs from Oracle API Gateway to Oracle Cloud Infrastructure API Gateway
G27158-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.