イクジニアブログ

育児 + エンジニア = イクジニア

GCP 組織間(org間)でのProjectの移動方法

GCPでは組織間で既存のprojectを移動させる機能があります (2021/05/10現在 プレビュー)

cloud.google.com

例えば会社の統合や分社化などで、組織(org)を統合しなくてはいけない、または組織を分けなくてはいけないときにこちらの機能を使えば1からプロジェクト作成をやりなおすのではなく、リソースなどはそのままに紐付いている組織だけを変更することが出来ます。

移動した際はリソース(GCEやネットワーク設定など)はそのまま残っていますが、例えば組織ポリシーで継承されているIAMなどは移行されないので注意してください。

移動準備

移動をするにあたって、移動元組織と移動先組織でそれぞれ組織ポリシーの変更が必要になります。
また組織ポリシーの変更にあたっては、組織ポリシー管理者などの権限が必要となります

https://cloud.google.com/resource-manager/docs/project-migration#import_export_folders

移動元

プロジェクトの移動はデフォルトの組織ポリシーで禁止されています
ですので、まずは組織ポリシーで移動許可をしなくてはいけません

こちらはホワイトリストで移動出来る組織の指定を行います

参考コマンド

gcloud beta resource-manager org-policies /
   allow constraints/resourcemanager.allowedExportDestinations /
   --organization 移動元組織ID under:organizations/移動先組織ID
移動先

移動先でもどの組織からの受け入れが出来るかホワイトリストで許可をしないといけません

参考コマンド

gcloud beta resource-manager org-policies /
   allow constraints/resourcemanager.allowedImportSources /
   --organization 移動先組織ID under:organizations/移動元組織ID

移動

移動準備が出来ましたらあとは実際に移動コマンドを打てば完成です コマンド実行のために必要な権限はこちらを参考にしてください

https://cloud.google.com/resource-manager/docs/project-migration#assign_permissions

権限がついたら以下のコマンドをたたけば組織間でのプロジェクト移動の完成です

gcloud beta projects move 移動するプロジェクトID /
    --organization 移動先組織ID

以上で組織間のプロジェクト移動が出来ました!!