※ 本記事は、Gaurav Anejaによる”Bulk migration of OIC integrations“を翻訳したものです。
2022年8月30日
この投稿では、OIC REST APIを使用してすべてのOracle Integration Cloud(OIC)統合をある環境から別の環境に移行する方法を示します。移行プロセスをモニターし、移行プロセス中に発生した問題を識別できます。
クローン・ユーティリティのREST APIを使用することで、次の例を移行できます。
- 統合
- 接続
- パッケージ
- ライブラリ
- 証明書
- 参照
オンプレミス・システムに接続するための接続エージェントがある場合は、ターゲット・インスタンスで手動で構成する必要があります。
前提条件
- 両方のインスタンスで管理アクセス権を持つOICサービス
- 作成および更新アクセス権を持つ認証局(CA)クラウド・ストレージ・コンテナ
- PostmanなどのAPIコールを実行するツール
移行のステップ
このブログ記事では、以下の手順について説明します。
- OCIソース環境にOracle Cloud Infrastructure(OCI)Object Storageバケットを作成します。
- REST APIを使用してストレージ・コンテナにアクセスするための認証トークンを生成します。
- エクスポート・アーカイブAPIを実行して、ソースOICインスタンスからストレージ・コンテナに統合アーカイブをエクスポートします。
- 統合アーカイブのエクスポートを確認します。
- インポート・アーカイブAPIを実行して、統合アーカイブをターゲットOICインスタンスにインポートします。
- ターゲット環境でインポートされたアーティファクトを検証します。
次の図は、移行プロセスを示しています。

オブジェクト・ストレージ・バケットの作成
ストレージ・バケットを作成するには、Oracle Cloudテナンシに移動します。メニューで「Storage」に移動し、「Buckets」を選択します。

「バケットの作成」ボタンをクリックしてバケット名などの詳細を入力し、デフォルトのストレージ層に「Standard」を選択します。

新しく作成したストレージ・バケットのバケット名とネームスペースを保存し、後でストレージURLの構成で使用します。

認証トークンの生成
APIを使用してストレージ・バケットにアクセスする場合は、セキュリティ・トークンが必要です。Oracle IntegrationはOCI Object StorageサービスAPIを使用して、バケットへのファイルの読取りおよび書込みを行います。したがって、プロセスで使用するトークンを作成する必要があります。
認証トークンを作成するには、Oracle Cloud Consoleでプロファイルをクリックし、「マイ・プロファイル」を選択します。「認証トークン」タブを選択し、「トークンの生成」ボタンをクリックします。

この認証トークンは後で取得できないため、どこか安全な場所に保管してください。
エクスポート・アーカイブAPIの実行
次のステップを実行するには、OCIへのAPIコールを実行できる必要があります。Postmanなどのツールを使用するのが最も簡単な方法ですが、任意のツールを使用することもできます。
ソースOICインスタンスから統合アーティファクトをエクスポートするには、次のサーバーおよびポート参照をソース・インスタンスの詳細に置き換えてPOST APIコールを実行します。ストレージの詳細を参照するには、ポストの本文を調整する必要もあります。
Request
URL:
https://OIC Server:port/ic/api/common/v1/exportServiceInstanceArchive
HTTP Verb: POST
Header:
Authorization: Basic <oicusername:password>
Body
{"storageInfo":
{
"storageUrl":"https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/axdvjzox0ixb/TestMigrateBucket",
"storageUser":"oracleidentitycloudservice/gaurav.aneja@oracle.com",
"storagePassword":"XXXXXXXXXXXXXXX"
}
}</oicusername:password>
ストレージURLは、以前に作成したバケット名を追加して構成されます。ストレージ・パスワードは、以前に生成された認証トークンです。したがって、URLは次の例のようになります。
- https://Storage-<unique_identifier>.us.storage.oraclecloud.com/v1/Storage-<unique_identifier namespace>/bucket-name
- https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/axdvjzoxxxxxx/TestMigrateBucket
次の例は、成功したAPIコールの予期されるレスポンスを示しています:
{
"jobId": "310144",
"location": "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/axdvjzox0ixb/TestMigrateBucket",
"status": "NOT_STARTED"
}

統合アーカイブのエクスポートの確認
前のレスポンスで提供されるJOBIDを使用して、GET APIコールを使用してエクスポート・アーカイブのステータスをモニターできます。APIコールのURLは https://<instagrationserver>/ic/api/common/v1/exportServiceInstanceArchive/<jobid> です。

APIに対するGETコールからの完全なレスポンスは、次の例のようになります。
RESPONSE-
{
"jobId": "310144",
"jobType": "EXPORT",
"archiveName": "Local_Suite_Instance-310144.zip",
"includeSecurityArtifacts": true,
"overallStatus": "COMPLETED",
"startTime": "Wed May 18 09:58:33 UTC 2022",
"endTime": "Wed May 18 10:04:13 UTC 2022",
"components": [
{
"name": "Integration",
"status": "COMPLETED",
"percentage": 100
},
{
"name": "Process",
"status": "COMPLETED",
"percentage": 100
}
]
}
または、Object Storageバケットで統合エクスポートが使用可能かどうかを確認できます。
ストレージ・バケットにアクセスして次のステップの.zipファイル名をコピーし、アーカイブ・ファイルをターゲットOICインスタンスにインポートする必要があります。次の図は、バケット内のファイルを示しています:

インポート・アーカイブAPIを実行して、統合アーカイブをターゲットOICインスタンスにインポート
アーカイブ・ファイルがバケットに格納された後、OICターゲット・インスタンス・エンドポイントを使用してインポートAPIを実行し、統合アーティファクトをインポートできます。リクエスト・ペイロードのストレージ・バケットに作成されたアーカイブ・ファイル名を使用します。

リクエスト
自分のターゲット・サーバーのアドレスと資格証明に置き換えて、次の詳細でリクエストを作成します:
- URL: https://OICSserver/ic/api/common/v1/importServiceInstanceArchive
Example: https://integrationtestinstance1-axdvjzox0ixb-px.integration.ocp.oraclecloud.com/ic/api/common/v1/importServiceInstanceArchive - HTTP verb: POST
- Header:
- Authorization: Basic <OIC username:password>
- Body:
{
"archiveFile":"Local_Suite_Instance-310144.zip",
"importActivateMode":"importOnly",
"storageInfo":
{
"storageUrl":"https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/axdvjzox0ixb/TestMigrateBucket",
"storageUser":"oracleidentitycloudservice/gaurav.aneja@oracle.com",
"storagePassword":"XXXXXXXXXXXXXXXXX"
}
}
REST APIコールの結果、次のレスポンスが返されます。
Response
{
“jobId”:”5123″,
“status”:”NOT_STARTED”
}
ターゲットOICインスタンスにインポートされたアーティファクトを検証
次のGET APIを使用してインポート・ステータスを監視できます。ジョブが完了したことをレポートした後、ターゲット・インスタンスにログインし、すべての統合アーティファクトが完了したものとしてインポートされていることを確認します。
APIコールのステータス・チェックはGETコールです。今回は、ターゲットOICインスタンス・サーバーとインポート・ジョブIDを使用します。

完全なレスポンス・ペイロードは、次の例のようになります。
RESPONSE-
{
"jobId": "310164",
"jobType": "IMPORT",
"includeSecurityArtifacts": true,
"overallStatus": "COMPLETED",
"startTime": "Wed May 18 10:22:53 UTC 2022",
"endTime": "Wed May 18 10:28:14 UTC 2022",
"mode": "ImportOnly",
"importScheduleParams": false,
"startSchedules": false,
"components": [
{
"name": "Integration",
"status": "COMPLETED",
"percentage": 100
},
{
"name": "Process",
"status": "COMPLETED",
"percentage": 100
}
]
}
インポートの問題およびエラーを確認するには、ストレージ・バケットに移動し、インポート・プロセス中に問題が発生した場合、ログ・ファイルとしてインポート状況を記録しています。
まとめ
この投稿では、REST APIを使用したOICインスタンス間の統合アーティファクトの移行を示しています。このプロセスにより、すべての統合をシームレスに移行する簡単な方法が提供されます。
