OIC integrationの一括移行 (2022/08/29)
OIC integrationの一括移行 (2022/08/29)
https://blogs.oracle.com/cloud-infrastructure/post/migrate-oic-integrations
投稿者:Gaurav Aneja
この投稿では、OIC REST APIを使用して、すべてのOracle Integration Cloud(OIC)Integrationをある環境から別の環境に移行する方法を説明します。移行プロセスを監視し、移行プロセス中に発生した問題を特定することができます。
クローンユーティリティのREST APIを使用することで、以下の例のように移行することができます。
- Integration
- コネクション
- パッケージ
- ライブラリ
- 証明書
- ルックアップ
オンプレミスシステムに接続するための接続エージェントがある場合、ターゲットインスタンス上で手動で設定する必要があります。
前提条件
- 両方のインスタンスで管理者権限を持つOICサービス
- 作成と更新のアクセス権限を持つ認証局(CA)クラウドストレージコンテナ
- PostmanのようなAPIコールを実行するツール
移行の手順
このブログ記事では、次のステップを説明します。
- OCIソース環境にOracle Cloud Infrastructure (OCI) Object Storageバケットを作成
- REST API を使用してストレージ・コンテナにアクセスするための認証トークンを生成
- エクスポートアーカイブ API を実行し、統合アーカイブをソース OIC インスタンスからストレージコンテナにエクスポート
- 統合アーカイブのエクスポートを検証
- インポートアーカイブAPIを実行して、IntegrationアーカイブをターゲットOICインスタンスにインポート
- ターゲット環境でインポートされたアーティファクトを検証
次の図は、移行プロセスを示しています。
Object Storageのバケットを作成
ストレージバケットを作成するには、Oracle Cloudテナンシーに移動します。メニューの[Storage]で、[Buckets]を選択します。
[バケットの作成]ボタンをクリックし、バケット名などの詳細を入力し、デフォルトのストレージ階層に[標準]を選択します。
新しく作成したストレージバケットのバケット名とnamespaceを保存し、後でストレージURLを作成する際に使用します。
認証トークンを生成
ストレージバケットにAPIでアクセスする場合、セキュリティトークンが必要です。Oracle Integrationでは、OCI Object StorageサービスのAPIを使用して、Bucketへのファイルの読み書きを行います。そこで、このプロセスで使用するトークンを作成する必要があります。
Auth トークンを作成するには、Oracle Cloud Console で自分のプロファイルをクリックし、[My Profile] を選択します。[Auth tokens] タブを選択し、[Generate Token] ボタンをクリックします。
この認証トークンは、後で取り出すことができないので、安全な場所に保管してください。
エクスポートアーカイブAPIを実行
次のステップを実行するために、OCIにAPIコールを行えるようにする必要があります。最も簡単な方法は、Postmanのようなツールを使用することですが、お好みのツールを使用することができます。
ソース OIC インスタンスから統合アーティファクトをエクスポートするには、POST API 呼び出しを行い、以下のサーバーおよびポート参照をソースインスタンスの詳細情報に置き換えます。また、ストレージの詳細を参照するために、POSTのボディを調整する必要があります。
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"
}
}ストレージの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"
}
Integrationアーカイブのエクスポートを確認
前の応答で提供された 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 インスタンスにインポートするために、ストレージバケットにアクセスする必要があります。次の図は、私たちのバケット内のファイルを示しています。
import archive API を実行して、統合アーカイブをターゲット OIC インスタンスにインポート
アーカイブファイルがバケットに格納された後、OICターゲットインスタンスエンドポイントを使用してインポートAPIを実行し、Integrationアーティファクトをインポートすることができます。リクエストのペイロードには、ストレージバケットに作成されたアーカイブファイル名を使用します。
リクエスト
以下の内容で、ターゲットサーバーのアドレスと認証情報を代入して、リクエストを作成してください。
- URL: https://OICSserver/ic/api/common/v1/importServiceInstanceArchive
例:https://integrationtestinstance1-axdvjzox0ixb-px.integration.ocp.oraclecloud.com/ic/api/common/v1/importServiceInstanceArchive
- HTTP動詞:POST
- ヘッダ:
- Authorization: Basic <OIC username:password>
- ボディ:
{
"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を使用して、インポート状況を監視することができます。ジョブが完了したことを報告した後、ターゲットインスタンスにログインし、すべてのIntegrationアーティファクトが完了としてインポートされていることを確認します。
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 インスタンスから別の OIC インスタンスに統合アーティファクトを移行する方法を示しました。このプロセスは、すべての統合をシームレスに移行する簡単な方法を提供します。
コメント
コメントを投稿