※ 本記事は、Shrinidhi Kulkarniによる”How to configure OCI API Gateway for OCI GoldenGate REST API“を翻訳したものです。
2023年7月5日
![]()

Oracle GoldenGate REST APIは、Oracle GoldenGateのデプロイメントおよびレプリケーション・サービスの管理に使用できます。ここでは、すべてのRESTエンドポイントのリストを表示できます。
API Gatewayサービスを使用すると、ネットワーク内からアクセス可能なプライベート・エンドポイントを含むAPIを公開でき、インターネット・トラフィックを受け入れる場合にパブリックIPアドレスで公開できます。
APIゲートウェイは、インバウンド・トラフィックを、OCI GoldenGateなどのパブリック、プライベートおよびパートナのHTTP APIを含むバックエンド・サービスにルーティングします。各APIゲートウェイは、パブリックIPアドレスをパブリックAPIゲートウェイとしてオプションで公開できるプライベート・エンドポイントです。API Gatewayサービスを使用して、リージョナル・サブネットに1つ以上のAPIゲートウェイを作成し、APIクライアントからのトラフィックを処理してバックエンド・サービスにルーティングします。単一のAPIゲートウェイを使用して、OCI Goldengateおよび複数のバックエンド・サービス(ロード・バランサ、コンピュート・インスタンス、OCIファンクションなど)を単一の統合APIエンドポイントにリンクできます。
APIs
API Gatewayサービスでは、APIはバックエンド・リソースのセットであり、APIクライアントから送信されたリクエストに応じて各バックエンド・リソースに対して実行できるメソッド(GET、PUTなど)です。APIゲートウェイがOCI GoldenGate APIリクエストを処理できるようにするには、APIデプロイメントを作成してAPIゲートウェイにAPIをデプロイする必要があります。
OCIでのAPI Gatewayの作成
1つ以上のAPIゲートウェイを作成して、APIクライアントからのトラフィックを処理し、バックエンド・サービスにルーティングできます。API Gatewayは、コンソール、APIまたはCLIのいずれかを使用して作成できます。このブログでは、OCIコンソールを使用してOCI GoldenGateのAPI Gatewayを作成します。
ここで説明するステップに従って、OCIテナンシにAPI Gatewayを作成します。
APIゲートウェイが作成されると、APIデプロイメントを作成してAPIゲートウェイにAPIをデプロイできます。APIデプロイメントを作成する際、APIを定義するAPIデプロイメント仕様を含めます。API Gatewayサービスは、APIデプロイメント仕様を検証して、有効であることを確認します。次の方法により、複数のバックエンド・サービスのフロント・エンドとして単一のAPIゲートウェイを使用できます。:
- 複数のバックエンド・サービスを定義するAPIデプロイメント仕様を使用して、APIゲートウェイに1つのAPIデプロイメントを作成します。
- 同じAPIゲートウェイ上に複数のAPIデプロイメントを作成し、それぞれに1つ(または複数)のバックエンド・サービスを定義するAPIデプロイメント仕様を使用します。
コンソールを使用したOCI GoldenGateのAPIデプロイメントの新規作成
- OCIコンソールで、ナビゲーション・メニューを開き、「Developer Services」をクリックします。「API Management」で、「Gateways」をクリックします。
- デプロイメントを作成するコンパートメントを選択します。
- 「Gateways」ページで、APIをデプロイするAPIゲートウェイの名前をクリックして、「Gateway Details」ページを表示します。
- 「Gateway Details」ページで、「Resources」リストから「Deployments」を選択し、「Create Deployment」をクリックします。
- 「From Scratch」をクリックし、「Basic Information」セクションで次を指定します。:
Name: 新しいAPIデプロイメントの名前。機密情報は入力しないでください。
パス接頭辞: APIデプロイメント仕様に含まれるすべてのルートをデプロイするパス。例: GoldenGateデプロイメント名
ノート 指定したデプロイメント・パス接頭辞:
前にスラッシュ( / )を付ける必要があります
複数のスラッシュ(隣接していない場合)を含めることができますが、スラッシュで終わることはできません。
英数字の大文字と小文字を含めることができます。
次の特殊文字を含めることができます。 $ – _ . + ! * ‘ ( ) , % ; : @ & =
パラメータおよびワイルドカードを含めることはできません

6. 「Optional」パラメータはデフォルト値のままにします。「Next」をクリックして「Authentication」ページを表示し、認証リクエスト・ポリシーの詳細を入力します。
このブログの範囲では、「No Authentication: to give unauthenticated access to all routes in the API deployment」を選択します。

7. 「Next」をクリックして、APIデプロイメントのルートの詳細を入力します。
「Route 1」セクションで、パスと1つ以上のメソッドをバックエンド・サービスにマッピングするAPIデプロイメントの最初のルートを指定します:
- パス: リストされたメソッドを使用してバックエンド・サービスへのAPIコールのパス。たとえば、/extract
- メソッド: バックエンド・サービスによって受け入れられる、カンマで区切られた1つ以上のメソッド。たとえば、GET、PUT
- 単一のバックエンドの追加または複数のバックエンドの追加: すべてのリクエストを同じバックエンドにルーティングするか、入力したコンテキスト変数およびルールに従ってリクエストを異なるバックエンドにルーティングするか。これらの手順では、1つのバックエンドを使用することを想定しているため、「1つのバックエンドの追加」を選択します。
- バックエンド・タイプ: バックエンド・サービスのタイプ。HTTPを選択し、次の詳細を入力します
-
URL: 抽出用のOCI GoldenGate URLを次の形式で入力します
<console-url>/services/adminsrvr/v2/extracts
- オプション・パラメータの残りはデフォルト値のままにします。
- (オプション)「Another Route」をクリックして、追加のルートの詳細を入力します。追加のルートは、replicatの場合と同様に構成できます。


8. 「Next」をクリックして、新しいAPIデプロイメントに入力した詳細を確認します。
9. 「Create」をクリックして、新しいAPIデプロイメントを作成します。
オプション2: コンソールを使用したJSONファイルからのAPIデプロイメントの作成
- 「Gateways」ページで、APIをデプロイするAPIゲートウェイの名前をクリックして、「Gateway Details」ページを表示します。
- 「Gateway Details」ページで、「Resources」リストから「Deployments」を選択し、「Create Deployment」をクリックします。
- 既存のAPIから「Upload」をクリックし、「Basic Information」セクションで次を指定します:
- Name: 新しいAPIデプロイメントの名前。機密情報は入力しないでください。
- パス接頭辞: APIデプロイメント仕様に含まれるすべてのルートをデプロイするパス。例: GoldenGateデプロイメント名
- 仕様: ファイルをドラッグ・アンド・ドロップするか、「選択」をクリックして、APIデプロイメント仕様を含むJSONファイルをアップロードします。
- JSONファイルにAPIデプロイメント仕様を作成するには:
任意のJSONエディタを使用して、JSONファイルに次の形式でAPIデプロイメント仕様を作成します。:
{ "routes": [
{
"path": "/GGORA",
"methods": ["ANY"],
"backend": {
"type": "HTTP_BACKEND",
"url": "https://h5yeq.deployment.goldengate.us-ashburn-1.oci.oraclecloud.com",
"auth_type": "basic"
}
}
]
}
「Next」をクリックして、新しいAPIデプロイメントに入力した詳細を確認します。
「Create」をクリックして、新しいAPIデプロイメントを作成します。
オプション3: CLIを使用したデプロイメントの作成、コマンド・プロンプトのオープン、oci api-gateway deployment createを実行してデプロイメントを作成することもできます:
oci api-gateway deployment create –compartment-id <compartment-ocid> –display-name <api-name> –gateway-id <gateway-ocid> –path-prefix “/<deployment-path-prefix>” –specification file:///<filename>
複数のバックエンドAPI仕様を備えた単一のAPIデプロイメント
複数のバックエンド・サービスを定義するAPIデプロイメント仕様を使用して、APIゲートウェイに1つのAPIデプロイメントを作成できます。
たとえば、次のAPIデプロイメント仕様では、OCI GoldenGate – Oracleデプロイメントを1つのバックエンドとして、Big Dataを2番目のバックエンドとして定義しています。
{ "routes": [
{
"path": "/GGORA",
"methods": ["GET"],
"backend": {
"type": "HTTP_BACKEND",
"url": "https://hyeq.deployment.goldengate.us-ashburn-1.oci.oraclecloud.com/services/adminsrvr/v2/replicats"
}
},
{
"path": "/GGBD",
"methods": ["GET"],
"backend": {
"type": "HTTP_BACKEND",
"url": "https://xfza.deployment.goldengate.us-ashburn-1.oci.oraclecloud.com/services/adminsrvr/v2/replicats"
}
}
]
}
API Gateway Deployment Endpointを使用したGoldenGate APIのテスト
正常に作成された場合、新しいAPIデプロイメントはアクティブの状態で表示されます。
次のように、GoldenGate REST APIコマンドを使用して、前述のAPIゲートウェイ構成をテストできます。
CuRLの使用:
すべてのReplicatプロセスのリスト
例:
curl -X GET ‘<API Gateway deployment endpoint>’ –user “<username>”:“<password>” -H ‘Content-Type: application/json’ -H ‘cache-control: no-cache’ | python -mjson.tool

ブラウザの使用:
URLは、API Gatewayデプロイメント・ページで指定されたエンドポイント
** 同じデプロイメント内で複数のルートを構成した場合は、パス名を追加します。

