はじめに
2024年6月頃、IBM Cloudでは既存の監視ツールであるLog AnalysisとActivity Trackerの後継サービスであるIBM Cloud LogsをFrankfurtとMadridリージョンにGAし、2024年9月にはTokyoとOsakaリージョンでGAされました。
そのため、既存のLog AnalysisとActivity Trackerのインスタンスを後継のCloud Logsに移行する検証を行いました。
今回はLog AnalysisからCloud Logsへのマイグレーションの流れを整理しています。
参考としてCloud Logs Routingを設定する流れを整理したこちらの記事もご確認ください。
Log AnalysisとActivity Trackerは2025年3月30日でEOSされる予定です。
そのため、EOSまでに既存インスタンスのマイグレーションが必要となりますので、ご注意ください。
Log AnalysisやActivity TrackerからCloud Logsへのマイグレーションには、以下の項目の移行が可能です。
- カテゴリ(リソースグループ)の移行
- ビューとアラートの移行
- ダッシュボードと画面の移行
- 除外ルールの移行
- 解析ルールの移行
- データ使用量の移行
- アーカイブ設定の移行
また、今回の内容にはIBM Cloudのアカウント(無料利用可能)が前提となっています。
マイグレーションの流れ
IBM Cloudへログイン
後述しますが、マイグレーションはコマンドベースのMigration Tool
を使って行います。
そのため、まずはターミナルにてIBM Cloudにログインします。ログインはCLIを使用したログインが便利です。
右上のプロフィールアイコンにてCLIとAPIにログイン
をクリックし、IBM Cloud CLIをコピーします。その後、IBM Cloud CLIをターミナルに入力します。
また、検証の時点ではまだ国内リージョンがGAされる前だったため、今回はリージョンをCloud LogsインスタンスのFrankfurt(eu-de)に設定しました。
moonsy@moon ~ % ibmcloud login -a https://cloud.ibm.com -u passcode -p xxxxxxxxxx
API エンドポイント: https://cloud.ibm.com
認証中です...
OK
ターゲットのアカウント xxxxxxxx (xxxxxxxxxxxxxxxxxxxxxxxxxxx) <-> xxxxxxx
リージョンを選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. eu-de
6. eu-es
7. eu-gb
8. ca-tor
9. us-south
10. us-south-test
11. us-east
12. br-sao
数値を入力してください> 5
ターゲットのリージョン eu-de
API エンドポイント: https://cloud.ibm.com
Region: eu-de
ユーザー: xxxxxxxxx@ibm.com
アカウント: xxxxxxxx (xxxxxxxxxxxxxxxxxxxxxxxxxxx) <-> xxxxxxx
リソース・グループ: リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
Logging CLIのインストール
上記の通り、今回Log AnalysisやActivity TrackerからCloud Logsへのマイグレーションはlogging
コマンドにて実行したためインストールが必要となります。
もしlogging
コマンドがインストールされていない場合は、Cloud Logのコマンドを使用するために以下のコマンドにてLogging CLIをインストールします。
ibmcloud plugin install logging
moonsy@moon ~ % ibmcloud plugin install logging
リポジトリー 'IBM Cloud' から 'logging' を検索しています...
プラグイン 'logging 0.1.11' がリポジトリー 'IBM Cloud' 内で見つかりました
バイナリー・ファイルをダウンロードしようとしています...
17.65 MiB / 17.65 MiB [===========================================================================================================] 100.00% 0s
18507186 バイトがダウンロードされました
バイナリーをインストールしています...
OK
プラグイン 'logging 0.1.11' は /Users/moonsungyun/.bluemix/plugins/logging に正常にインストールされました。 'ibmcloud plugin show logging' を使用して詳細を表示してください。
既存インスタンスのCRN確認とアプリケーションログ+操作ログを収集するインスタンスの移行手順
まずTerraformスクリプトを適用するには、 IBM Cloud Logsのインスタンスを作成および管理する権限を持つAPIキーを使用してキーをExportする必要があります。そのため、IBM CloudのAPIキーを作成します。
ダッシュボードにて管理
→アクセス(IAM)
をクリックします。
APIキー
カテゴリーにて作成
をクリックします。
APIの設定を行い、作成
をクリックします。
APIが作成されたらコピー
ボタンにて書き置きします。
その後、上記の通りTerraformスクリプトを適用するために、ターミナルにてAPIキーをexportします。
export IC_API_KEY="作成したAPIキー"
APIは有効期限があまり長くなく、都度生成して利用する必要があるため、もし以下のようにAPI関連のエラーが出た場合には、新たにAPIを作成してください。
ibm_resource_instance.cloud_logs_instance: Creating...
│ Error: [ERROR] Error occured while configuring Resource Catalog service: "Request failed with status code: 400, BXNIM0415E: Transaction-Id:[xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Provided API key could not be found"
次は、インスタンスCRNを確認しますが、logging
コマンドにて実施するマイグレーション作業には既存のLog Analysisインスタンスと新規のCloud LogsのインスタンスCRNを入力して行うため、確認が必要となります。
既存のLog Analysisインスタンスに入り、CRNをコピーし書き置きします。
ターミナルにて以下のコマンドを入力します。こちらのコマンドは、移行ツールを使用してインスタンスを移行し、後でカスタマイズして適用できる Terraform スクリプトを生成するコマンドです。[CRN]部分に上記でコピーしたCRNを置き換えます。
ibmcloud logging migrate create-resources --scope instance --instance-crn [CRN] --terraform -f
moonsy@moon ~ % ibmcloud logging migrate create-resources --scope instance --instance-crn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --terraform -f
プラグイン 'logging 0.1.12' が現在使用可能です (0.1.11 をご利用中です)。
'ibmcloud plugin update logging' を使用してプラグインをアップグレードしてください。
更新チェックを無効にするには 'ibmcloud config --check-version=false' を使用してください。
Do you want to continue the creation of cloud logs instances now.(enter yes/y to procceed or enter no/n to ignore)> yes
OK
t_output_migration_collection_successfully
%!(EXTRA string=/Users/moonsungyun)%
また、上記のコマンド以外にも、必要に応じて以下のコマンドを使って移行を実施することも可能です。
・移行ツールを使用してインスタンスを自動的に移行できるコマンド
ibmcloud logging migrate create-resources --scope instance --instance-crn [CRN] --api
・移行ツールを使用して Terraform スクリプトを生成および適用することでインスタンスを移行するコマンド
ibmcloud logging migrate create-resources --scope instance --instance-crn [CRN] --terraform -f
また、今までのコマンドでのマイグレーションが失敗した場合、以下のコマンドにてマイグレーションを実施することができました。
moonsy@moon ~ % ibmcloud logging migrate create-resources --scope instance --instance-crn crn:v1:bluemix:public:xxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxx:xxxxxxxxxx --api
FAILED
t_output_migrate_failed t_get_instance_failed%!(EXTRA *errors.errorString=t_archive_not_found)
・Terraform を生成して、アカウント内のすべての IBM Log Analysis および IBM Cloud Activity Tracker インスタンスをマイグレーションし、DIRECTORY で指定されたディレクトリーにマイグレーション・ファイルを書き込むコマンド
ibmcloud logging migrate generate-terraform --scope account --directory DIRECTORY
moonsy@moon ~ % ibmcloud logging migrate generate-terraform --scope account --directory xxxxxxxxxx_xxxxxxx_xxxxxxx
OK
t_output_migration_collection_successfully
%!(EXTRA string=IBM)%
・Terraform を生成して、アカウント内のすべての IBM Log Analysis および IBM Cloud Activity Tracker インスタンスをマイグレーションするコマンド
ibmcloud logging migrate generate-terraform --scope account
moonsy@moon ~ % ibmcloud logging migrate generate-terraform --scope account
t_migration_path_exists ()> xxxxxxx@ibm.com
OK
t_output_migration_collection_successfully
%!(EXTRA string=/Users/moonsungyun)%
コマンドが成功したら、/migration-tool/cl/accountID/instanceID/service-type/terraform/tf-directory/
に既存Log Analysisのデータがexportされています。
2024年9月13日現在、上記設定データのexportは可能なものの、migration toolでの設定importがまだできないと確認しました。いつmigration toolが使えるようになるかは未定のため、確認できましたら追記します。
上記の通り、現在Migration Toolが利用できないため、今回のインスタンス作成には、Exportされたjsonファイルを開き、手作業でリージョンを書き換えるなどで実施しました。
[
{
"controlled_by": "",
"id": "xxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxxxxxx",
"locked": false,
"name": "IBM Log Analysis - Osaka Platform",
"parameters": {
"default_receiver": true
},
"region": "jp-tok" → "eu-de", <ここ
"resource_group": "6370a14a3d1a40078c42c9408193ee9e",
"service_instance_crn": "crn:v1:bluemix:public:logdna:jp-tok:a/6a31b82b4f93471f96e9ed0afc261057:af3553fd-dca2-48f7-b287-002c35d6ff2a::",
"service_tags": [
"schematics::offering_id:xxxxxxxxxxx-ea90-4ebe-8d3b-xxxxxxxxxxx.xxxxxxxxxxx-4266-4a41-bb8f-xxxxxxxxxxx",
"schematics::offering_name:iks-integration",
"schematics::offering_version:1.4.4",
"schematics:terraform_v1.1",
"schematics:us-south.workspace.iks_-_cluster_integrations.xxxxxxxxxxx",
"schematics:us-south.workspace.iks_-_cluster_integrations.xxxxxxxxxxx",
"schematics:us-south.workspace.iks_-_cluster_integrations.xxxxxxxxxxx"
],
"tags": [
"common"
],
"type": "service_instance"
}
]
Terraformを使ったCloud Logsのインスタンス作成
Cloud LogsではTerraformに基づいてインスタンスを作成することも可能です。現時点では設定のマイグレーションが完全に適用されないため、インスタンス作成自体はコンソールUI上で行った方が効率的ですが、今後Migration Toolが完成されたらインスタンス作成と設定移行が同時に行われる楽なコマンドですので、ご参考にしていただければと思います。
ターミナルにて、
ワークスペースを初期化するコマンドである、
terraform init
Terraform による実行計画を参照するコマンドである、
terraform plan
planで参照したリソースやインスタンスを作成するコマンドである、
terraform apply
のコマンドを順番に入力します。
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % terraform init
Initializing the backend...
Initializing provider plugins...
- Finding ibm-cloud/ibm versions matching "1.67.1"...
- Installing ibm-cloud/ibm v1.67.1...
- Installed ibm-cloud/ibm v1.67.1 (self-signed, key ID XXXXXXXXXXXXXX)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % terraform plan
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# ibm_iam_authorization_policy.policy-1722498751568646 will be created
+ resource "ibm_iam_authorization_policy" "policy-1722498751568646" {
+ description = "created by migration-tool"
+ id = (known after apply)
+ roles = [
+ "Sender",
]
+ source_resource_group_id = (known after apply)
+ source_resource_instance_id = (known after apply)
+ source_resource_type = (known after apply)
+ source_service_account = (known after apply)
+ source_service_name = "logs-router"
+ target_resource_group_id = (known after apply)
+ target_resource_instance_id = (known after apply)
+ target_resource_type = (known after apply)
+ target_service_name = "logs"
+ transaction_id = (known after apply)
+ version = (known after apply)
}
# ibm_resource_instance.cloud_logs_instance will be created
+ resource "ibm_resource_instance" "cloud_logs_instance" {
+ account_id = (known after apply)
+ allow_cleanup = (known after apply)
+ created_at = (known after apply)
+ created_by = (known after apply)
+ crn = (known after apply)
+ dashboard_url = (known after apply)
+ deleted_at = (known after apply)
+ deleted_by = (known after apply)
+ extensions = (known after apply)
+ guid = (known after apply)
+ id = (known after apply)
+ last_operation = (known after apply)
+ location = "jp-osa"
+ locked = (known after apply)
+ name = "IBM Log Analysis-Osaka-1"
+ plan = "standard"
+ plan_history = (known after apply)
+ resource_aliases_url = (known after apply)
+ resource_bindings_url = (known after apply)
+ resource_controller_url = (known after apply)
+ resource_crn = (known after apply)
+ resource_group_crn = (known after apply)
+ resource_group_id = "6370a14a3d1a40078c42c9408193ee9e"
+ resource_group_name = (known after apply)
+ resource_id = (known after apply)
+ resource_keys_url = (known after apply)
+ resource_name = (known after apply)
+ resource_plan_id = (known after apply)
+ resource_status = (known after apply)
+ restored_at = (known after apply)
+ restored_by = (known after apply)
+ scheduled_reclaim_at = (known after apply)
+ scheduled_reclaim_by = (known after apply)
+ service = "logs"
+ service_endpoints = (known after apply)
+ state = (known after apply)
+ status = (known after apply)
+ sub_type = (known after apply)
+ tags = [
+ "24fae5ab-1721-4669-a1fb-756d2585d2ca",
+ "common",
]
+ target_crn = (known after apply)
+ type = (known after apply)
+ update_at = (known after apply)
+ update_by = (known after apply)
}
Plan: 2 to add, 0 to change, 0 to destroy.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % terraform apply
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# ibm_iam_authorization_policy.policy-1722498751568646 will be created
+ resource "ibm_iam_authorization_policy" "policy-1722498751568646" {
+ description = "created by migration-tool"
+ id = (known after apply)
+ roles = [
+ "Sender",
]
+ source_resource_group_id = (known after apply)
+ source_resource_instance_id = (known after apply)
+ source_resource_type = (known after apply)
+ source_service_account = (known after apply)
+ source_service_name = "logs-router"
+ target_resource_group_id = (known after apply)
+ target_resource_instance_id = (known after apply)
+ target_resource_type = (known after apply)
+ target_service_name = "logs"
+ transaction_id = (known after apply)
+ version = (known after apply)
}
# ibm_resource_instance.cloud_logs_instance will be created
+ resource "ibm_resource_instance" "cloud_logs_instance" {
+ account_id = (known after apply)
+ allow_cleanup = (known after apply)
+ created_at = (known after apply)
+ created_by = (known after apply)
+ crn = (known after apply)
+ dashboard_url = (known after apply)
+ deleted_at = (known after apply)
+ deleted_by = (known after apply)
+ extensions = (known after apply)
+ guid = (known after apply)
+ id = (known after apply)
+ last_operation = (known after apply)
+ location = "eu-de"
+ locked = (known after apply)
+ name = "IBM Cloud Logs eu-de-test"
+ plan = "standard"
+ plan_history = (known after apply)
+ resource_aliases_url = (known after apply)
+ resource_bindings_url = (known after apply)
+ resource_controller_url = (known after apply)
+ resource_crn = (known after apply)
+ resource_group_crn = (known after apply)
+ resource_group_id = "6370a14a3d1a40078c42c9408193ee9e"
+ resource_group_name = (known after apply)
+ resource_id = (known after apply)
+ resource_keys_url = (known after apply)
+ resource_name = (known after apply)
+ resource_plan_id = (known after apply)
+ resource_status = (known after apply)
+ restored_at = (known after apply)
+ restored_by = (known after apply)
+ scheduled_reclaim_at = (known after apply)
+ scheduled_reclaim_by = (known after apply)
+ service = "logs"
+ service_endpoints = (known after apply)
+ state = (known after apply)
+ status = (known after apply)
+ sub_type = (known after apply)
+ tags = [
+ "24fae5ab-1721-4669-a1fb-756d2585d2ca",
+ "common",
]
+ target_crn = (known after apply)
+ type = (known after apply)
+ update_at = (known after apply)
+ update_by = (known after apply)
}
Plan: 2 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
ibm_resource_instance.cloud_logs_instance: Creating...
ibm_resource_instance.cloud_logs_instance: Still creating... [10s elapsed]
ibm_resource_instance.cloud_logs_instance: Still creating... [20s elapsed]
ibm_resource_instance.cloud_logs_instance: Still creating... [30s elapsed]
ibm_resource_instance.cloud_logs_instance: Still creating... [40s elapsed]
ibm_resource_instance.cloud_logs_instance: Still creating... [50s elapsed]
ibm_resource_instance.cloud_logs_instance: Creation complete after 55s [id=crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::]
ibm_iam_authorization_policy.policy-1722498751568646: Creating...
ibm_iam_authorization_policy.policy-1722498751568646: Creation complete after 4s [id=6b4417f7-90dc-49e2-8311-1a835c70f43b]
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
また、Terraformの楽な点として、Terraformでapplyしたインスタンスはdestroyコマンドで一気に削除することも可能です。
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % terraform destory
Terraform has no command named "destory". Did you mean "destroy"?
To see all of Terraform's top-level commands, run:
terraform -help
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % terraform destroy
ibm_resource_instance.cloud_logs_instance: Refreshing state... [id=crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::]
ibm_iam_authorization_policy.policy-1722498751568646: Refreshing state... [id=6b4417f7-90dc-49e2-8311-1a835c70f43b]
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
- destroy
Terraform will perform the following actions:
# ibm_iam_authorization_policy.policy-1722498751568646 will be destroyed
- resource "ibm_iam_authorization_policy" "policy-1722498751568646" {
- description = "created by migration-tool" -> null
- id = "6b4417f7-90dc-49e2-8311-1a835c70f43b" -> null
- roles = [
- "Sender",
] -> null
- source_service_account = "6a31b82b4f93471f96e9ed0afc261057" -> null
- source_service_name = "logs-router" -> null
- target_resource_instance_id = "a559d1d0-ec18-43c7-858b-584064dabb1f" -> null
- target_service_name = "logs" -> null
- transaction_id = "39a28e55f604464f825e007a3b083021" -> null
- resource_attributes {
- name = "accountId" -> null
- operator = "stringEquals" -> null
- value = "6a31b82b4f93471f96e9ed0afc261057" -> null
}
- resource_attributes {
- name = "serviceInstance" -> null
- operator = "stringEquals" -> null
- value = "a559d1d0-ec18-43c7-858b-584064dabb1f" -> null
}
- resource_attributes {
- name = "serviceName" -> null
- operator = "stringEquals" -> null
- value = "logs" -> null
}
}
# ibm_resource_instance.cloud_logs_instance will be destroyed
- resource "ibm_resource_instance" "cloud_logs_instance" {
- account_id = "6a31b82b4f93471f96e9ed0afc261057" -> null
- allow_cleanup = false -> null
- created_at = "2024-08-07T07:34:57.431Z" -> null
- created_by = "IBMid-665001UVGE" -> null
- crn = "crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::" -> null
- dashboard_url = "https://cloud.ibm.com/observe/logging/a559d1d0-ec18-43c7-858b-584064dabb1f/overview" -> null
- extensions = {
- "external_api" = "a559d1d0-ec18-43c7-858b-584064dabb1f.api.eu-de.logs.cloud.ibm.com"
- "external_api_private" = "a559d1d0-ec18-43c7-858b-584064dabb1f.api.private.eu-de.logs.cloud.ibm.com"
- "external_dashboard" = "https://dashboard.eu-de.logs.cloud.ibm.com/a559d1d0-ec18-43c7-858b-584064dabb1f/#/dashboard"
- "external_ingress" = "a559d1d0-ec18-43c7-858b-584064dabb1f.ingress.eu-de.logs.cloud.ibm.com"
- "external_ingress_private" = "a559d1d0-ec18-43c7-858b-584064dabb1f.ingress.private.eu-de.logs.cloud.ibm.com"
- "retention_period" = "7"
- "virtual_private_endpoints.dns_domain" = "private.eu-de.logs.cloud.ibm.com"
- "virtual_private_endpoints.dns_hosts.#" = "2"
- "virtual_private_endpoints.dns_hosts.0" = "a559d1d0-ec18-43c7-858b-584064dabb1f.ingress"
- "virtual_private_endpoints.dns_hosts.1" = "a559d1d0-ec18-43c7-858b-584064dabb1f.api"
- "virtual_private_endpoints.endpoints.#" = "3"
- "virtual_private_endpoints.endpoints.0.ip_address" = "10.12.143.50"
- "virtual_private_endpoints.endpoints.0.zone" = "eu-de-1"
- "virtual_private_endpoints.endpoints.1.ip_address" = "10.12.144.49"
- "virtual_private_endpoints.endpoints.1.zone" = "eu-de-2"
- "virtual_private_endpoints.endpoints.2.ip_address" = "10.12.145.49"
- "virtual_private_endpoints.endpoints.2.zone" = "eu-de-3"
- "virtual_private_endpoints.origin_type" = "vpc"
- "virtual_private_endpoints.ports.#" = "3"
- "virtual_private_endpoints.ports.0.port_max" = "443"
- "virtual_private_endpoints.ports.0.port_min" = "443"
- "virtual_private_endpoints.ports.1.port_max" = "3443"
- "virtual_private_endpoints.ports.1.port_min" = "3443"
- "virtual_private_endpoints.ports.2.port_max" = "80"
- "virtual_private_endpoints.ports.2.port_min" = "80"
} -> null
- guid = "a559d1d0-ec18-43c7-858b-584064dabb1f" -> null
- id = "crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::" -> null
- last_operation = {
- "async" = "true"
- "cancelable" = "false"
- "description" = "service instance Provision succeeded"
- "poll" = "true"
- "poll_after" = "10"
- "state" = "succeeded"
- "type" = "create"
} -> null
- location = "eu-de" -> null
- locked = false -> null
- name = "IBM Cloud Logs eu-de-test" -> null
- plan = "standard" -> null
- plan_history = [
- {
- resource_plan_id = "3373c949-d1b1-4935-a60a-4e80b15440dd"
- start_date = "2024-08-07T07:34:57.431Z"
},
] -> null
- resource_aliases_url = "/v2/resource_instances/a559d1d0-ec18-43c7-858b-584064dabb1f/resource_aliases" -> null
- resource_bindings_url = "/v2/resource_instances/a559d1d0-ec18-43c7-858b-584064dabb1f/resource_bindings" -> null
- resource_controller_url = "https://cloud.ibm.com/services/" -> null
- resource_crn = "crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::" -> null
- resource_group_crn = "crn:v1:bluemix:public:resource-controller::a/6a31b82b4f93471f96e9ed0afc261057::resource-group:6370a14a3d1a40078c42c9408193ee9e" -> null
- resource_group_id = "6370a14a3d1a40078c42c9408193ee9e" -> null
- resource_group_name = "crn:v1:bluemix:public:resource-controller::a/6a31b82b4f93471f96e9ed0afc261057::resource-group:6370a14a3d1a40078c42c9408193ee9e" -> null
- resource_id = "cd515180-d78a-11ec-b396-db7d306c4f73" -> null
- resource_keys_url = "/v2/resource_instances/a559d1d0-ec18-43c7-858b-584064dabb1f/resource_keys" -> null
- resource_name = "IBM Cloud Logs eu-de-test" -> null
- resource_plan_id = "3373c949-d1b1-4935-a60a-4e80b15440dd" -> null
- resource_status = "active" -> null
- service = "logs" -> null
- state = "active" -> null
- status = "active" -> null
- tags = [
- "24fae5ab-1721-4669-a1fb-756d2585d2ca",
- "common",
] -> null
- target_crn = "crn:v1:bluemix:public:globalcatalog::::deployment:3373c949-d1b1-4935-a60a-4e80b15440dd%3Aeu-de86265" -> null
- type = "service_instance" -> null
- update_at = "2024-08-07T07:35:34.858Z" -> null
}
Plan: 0 to add, 0 to change, 2 to destroy.
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
ibm_iam_authorization_policy.policy-1722498751568646: Destroying... [id=6b4417f7-90dc-49e2-8311-1a835c70f43b]
ibm_iam_authorization_policy.policy-1722498751568646: Destruction complete after 3s
ibm_resource_instance.cloud_logs_instance: Destroying... [id=crn:v1:bluemix:public:logs:eu-de:a/6a31b82b4f93471f96e9ed0afc261057:a559d1d0-ec18-43c7-858b-584064dabb1f::]
ibm_resource_instance.cloud_logs_instance: Still destroying... [id=crn:v1:bluemix:public:logs:eu-de:a/6a31...a559d1d0-ec18-43c7-858b-584064dabb1f::, 10s elapsed]
ibm_resource_instance.cloud_logs_instance: Destruction complete after 12s
Destroy complete! Resources: 2 destroyed.
最後に
今回はLog AnalysisからCloud Logsへの設定移行の検証を整理しました。
上記の通り、2024年9月13日時点では、まだmigration toolが未完成であることがわかりました。
そのため、既存のLog Analysisインスタンスの設定ファイルをexportすることは可能ですが、新しいCloud Logsインスタンスへマイグレーションするためには、jsonファイルを手作業で修正するなりの工夫が必要であり、非常に大変な作業となるため、提案する際には注意が必要かと感じました。
migration toolを使用できるようになりましたら、こちらの記事も更新して全体公開したいと思います。
moonsy@moon la-IBM Log Analysis-Osaka-1-jp-osa % ibmcloud logging migrate config --import --crn-origin crn:v1:bluemix:public:logdna:jp-osa:a/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx:: --crn-destination crn:v1:bluemix:public:logs:eu-de:a/xxxxxxxxxxxxxxxxxx:xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxxxxxxxx::
誤った使用法です。 コマンドの構文を確認し、要求を再試行してください。
名前:
ibmcloud logging migrate - ibmcloud logging migrate
使用法:
ibmcloud logging migrate command [arguments...] [options...]
コマンド:
generate-terraform t_migrate_generate_command_description
create-resources t_migrate_create_command_description
remove-resources-tf t_migrate_remove_command_description
参考
IBM Cloud Docs