概要
このマニュアルではCloud Automator のコマンドラインツールを使用して、ジョブを別の Cloud Automator 組織に一括移行する際に、例外的な書き換えが必要なケースとその対応について解説します。
※移行の概要と基本的な手順はこちらのマニュアルをご参照ください。
ジョブに後処理が設定されている場合
移行元のジョブに成功時の後処理 (completed_post_process_id) や、失敗時の後処理 (failed_post_process_id) が設定されている場合、それぞれのIDを移行先の組織のIDに置き換える必要があります。
以下のコマンドを使用することで移行先の後処理IDに修正することが可能です。
jq '.[] |= (
.completed_post_process_id |= map(
if . == 100 then 1000
elif . == 200 then 2000
elif . == 300 then 3000
else . end
) |
.failed_post_process_id |= map(
if . == 400 then 4000
elif . == 500 then 5000
else . end
)
)' export_job.json > import_jobs.json
ジョブのトリガーがSQSトリガーである場合
SQSトリガーのジョブを移行する際は、移行前のCloud Automator組織のグループに登録されている「SQSキューが存在しているAWSアカウントID」を移行後のCloud Automator組織のグループに登録されているAWSアカウントIDに修正する必要があります。
以下のコマンドを使用することで移行先のAWSアカウントIDに修正することが可能です。
$ jq '
map(
if .rule_value.aws_account_id == "111" then .rule_value.aws_account_id = "333"
else
.
end
)
' import_job.json > import.json
ジョブのアクションタイプがGoogle Cloud系であった場合
ジョブのアクションタイプがGoogle Cloud系であった場合、コマンドラインツールを使ってジョブを別の Cloud Automator 組織に移行するの「5. 移行対象のジョブを絞り込む」でAWSアカウントIDではなく、Google CloudアカウントIDで絞り込む必要があります。一覧でエクスポートしたジョブからGoogle CloudアカウントIDでジョブを絞り込むコマンドは以下の通りです。
$ jq '[
.[] |
select(.group_id == 111 and .google_cloud_account_id == 222)
]' export_job.json > import_job.json
また、Google CloudアカウントIDも移行前のCloud Automator組織に登録されているIDから、移行先のCloud Automator組織に登録されているIDに修正する必要があります。修正するためのコマンドは以下の通りです。こちらはコマンドラインツールを使ってジョブを別の Cloud Automator 組織に移行するの「7. ジョブを移行する」でAWSアカウントIDを書き換えているものと同等の処理です。
$ jq '[
.[] |
select(.group_id == 111 and .google_cloud_account_id == 222) |
.group_id = 333 |
.google_cloud_account_id = 444
]' import_job.json > import.json