※ 本記事は、Gaurav Anejaによる”Bulk migration of OIC integrations“を翻訳したものです。

2022年8月30日


この投稿では、OIC REST APIを使用してすべてのOracle Integration Cloud(OIC)統合をある環境から別の環境に移行する方法を示します。移行プロセスをモニターし、移行プロセス中に発生した問題を識別できます。

クローン・ユーティリティのREST APIを使用することで、次の例を移行できます。

  • 統合
  • 接続
  • パッケージ
  • ライブラリ
  • 証明書
  • 参照

オンプレミス・システムに接続するための接続エージェントがある場合は、ターゲット・インスタンスで手動で構成する必要があります。

前提条件

  • 両方のインスタンスで管理アクセス権を持つOICサービス
  • 作成および更新アクセス権を持つ認証局(CA)クラウド・ストレージ・コンテナ
  • PostmanなどのAPIコールを実行するツール

移行のステップ

このブログ記事では、以下の手順について説明します。

  1. OCIソース環境にOracle Cloud Infrastructure(OCI)Object Storageバケットを作成します。
  2. REST APIを使用してストレージ・コンテナにアクセスするための認証トークンを生成します。
  3. エクスポート・アーカイブAPIを実行して、ソースOICインスタンスからストレージ・コンテナに統合アーカイブをエクスポートします。
  4. 統合アーカイブのエクスポートを確認します。
  5. インポート・アーカイブAPIを実行して、統合アーカイブをターゲットOICインスタンスにインポートします。
  6. ターゲット環境でインポートされたアーティファクトを検証します。

次の図は、移行プロセスを示しています。

A graphic depicting the workflow of the migration process of OIC integrations.

オブジェクト・ストレージ・バケットの作成

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

A screenshot of the Storage tab open in the Oracle Cloud Console.

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

A screenshot of the Create Bucket window with details filled in and selected.

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

A screenshot of the Bucket Details page showing the Bucket Information tab with the namespace highlighted in yellow.

認証トークンの生成

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

認証トークンを作成するには、Oracle Cloud Consoleでプロファイルをクリックし、「マイ・プロファイル」を選択します。「認証トークン」タブを選択し、「トークンの生成」ボタンをクリックします。

A screenshot of the Resources page on the Auth Tokens tab with the Generate Token button highlighted.

この認証トークンは後で取得できないため、どこか安全な場所に保管してください。

エクスポート・アーカイブ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"

}
A screenshot of the export API invocation using Postman.

統合アーカイブのエクスポートの確認

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

A screenshot of the export status of the GET API in Postman.

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インスタンスにインポートする必要があります。次の図は、バケット内のファイルを示しています:

A screenshot of the Object page in the Console showing the OIC export archive bucket.

インポート・アーカイブAPIを実行して、統合アーカイブをターゲットOICインスタンスにインポート

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

A screenshot of the OIC target instance details in Postman.

リクエスト

自分のターゲット・サーバーのアドレスと資格証明に置き換えて、次の詳細でリクエストを作成します:

  • 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を使用します。

A screenshot of the OIC import status in Postman.

完全なレスポンス・ペイロードは、次の例のようになります。

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インスタンス間の統合アーティファクトの移行を示しています。このプロセスにより、すべての統合をシームレスに移行する簡単な方法が提供されます。