Halaman ini memberikan langkah-langkah untuk memigrasikan project dari satu resource organisasi ke resource organisasi lain, atau dari tanpa resource organisasi ke resource organisasi. Google Cloud
Untuk memigrasikan project, Anda harus memastikan bahwa Anda memiliki izin (Identity and Access Management (IAM)) yang benar dan bahwa kebijakan organisasi tertentu dikonfigurasi di resource sumber dan tujuan.
Sebelum memulai
Migrasi project adalah operasi lintas organisasi. Untuk mencegah pergerakan resource yang tidak sah, Anda harus memenuhi persyaratan berikut.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk memigrasikan project antar-resource organisasi, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Admin IAM Project (
roles/resourcemanager.projectIamAdmin) pada project yang ingin Anda migrasikan antar-resource organisasi -
Project Mover (
roles/resourcemanager.projectMover) pada resource induk project (resource folder atau organisasi) -
Jika resource tujuan adalah folder:
Project Mover (
roles/resourcemanager.projectMover) di resource tujuan -
Jika resource tujuan adalah organisasi:
Pembuat Project (
roles/resourcemanager.projectCreator) di resource tujuan
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Peran ini harus diberikan ke akun pengguna yang sama di organisasi sumber dan tujuan. Peran bawaan ini berisi izin yang diperlukan untuk memigrasikan project. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan.
Izin yang diperlukan
Izin berikut diperlukan untuk memigrasikan project:
resourcemanager.projects.getIamPolicypada project yang ingin Anda migrasikan antar-resource organisasiresourcemanager.projects.updatepada project yang ingin Anda migrasikan di antara resource organisasiresourcemanager.projects.movepada resource induk project (folder atau resource organisasi)- Jika resource tujuan adalah folder:
resourcemanager.projects.movepada resource tujuan - Jika resource tujuan adalah resource organisasi:
resourcemanager.projects.createpada resource tujuan - Jika Anda ingin memigrasikan project yang tidak terkait dengan
organisasi:
resourcemanager.projects.setIamPolicypada project yang ingin Anda migrasikan
Anda juga bisa mendapatkan izin ini dengan peran khusus, atau peran bawaan lainnya.
Kebijakan organisasi yang diperlukan
Secara default, migrasi project dibatasi. Anda harus secara eksplisit mengizinkan ekspor dan impor dengan menetapkan kebijakan organisasi di root kedua organisasi. Untuk mengonfigurasi kebijakan organisasi yang diperlukan untuk migrasi, Anda harus memiliki peran roles/orgPolicy.policyAdmin di organisasi induk dan tujuan.
Di resource organisasi sumber: Tetapkan kebijakan
constraints/resourcemanager.allowedExportDestinations. Tambahkan ID organisasi tujuan sebagai nilai yang diizinkan.Di resource organisasi tujuan: Tetapkan kebijakan
constraints/resourcemanager.allowedImportSources. Tambahkan ID organisasi sumber sebagai nilai yang diizinkan.
Melakukan migrasi
Setelah izin diberikan dan kebijakan diterapkan, Anda dapat memigrasikan project menggunakan Google Cloud CLI atau Resource Manager API.
gcloud
Untuk memigrasikan project ke resource organisasi lain, jalankan perintah berikut:
gcloud beta projects move PROJECT_ID \
--organization ORGANIZATION_ID
Anda juga dapat menentukan folder sebagai resource target, dengan perintah berikut:
gcloud beta projects move PROJECT_ID \
--folder FOLDER_ID
Ganti kolom berikut:
- PROJECT_ID: ID atau nomor project yang ingin Anda migrasikan.
- ORGANIZATION_ID: ID resource organisasi tempat Anda memindahkan project.
- FOLDER_ID: ID folder tempat Anda memindahkan project.
Anda hanya dapat menentukan satu target, baik folder maupun resource organisasi.
API
Dengan menggunakan Resource Manager API v1, Anda dapat memigrasikan project antar-resource organisasi dengan menyetel kolom
parent ke ID resource tujuan.
Untuk memigrasikan project, lakukan langkah-langkah berikut:
- Dapatkan objek
projectmenggunakan metodeprojects.get(). - Perbarui kolom
parentke ID resource tujuan. - Jalankan metode
projects.update().
Cuplikan kode berikut menunjukkan langkah-langkah ini:
project = crm.projects().get(projectId=flags.projectId).execute()
project['parent'] = {
'type': 'organization',
'id': flags.organizationId
}
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()
Tugas pascamigrasi
Setelah berhasil memigrasikan project, Anda harus melakukan beberapa tugas pasca-migrasi untuk memastikan kelangsungan operasi, kepatuhan keamanan, dan penagihan yang tepat. Memigrasikan project akan mengubah hierarki resource-nya, yang memengaruhi izin yang diwariskan dan kebijakan level organisasi.
Berikut beberapa langkah yang dapat Anda selesaikan setelah migrasi:
Verifikasi kebijakan: Verifikasi bahwa project mewarisi kebijakan organisasi yang diharapkan dari induk barunya.
Kontrol akses: Audit peran IAM untuk memastikan pengguna di organisasi baru memiliki akses yang diperlukan.
Penagihan: Perbarui akun penagihan jika project perlu ditagih ke organisasi tujuan. Ini langkah opsional. Untuk mengetahui detailnya, lihat Mengubah akun penagihan untuk project dan Memigrasikan akun penagihan di antara resource organisasi.
Pembersihan: Cabut peran Project Mover sementara dan hapus batasan
allowedExportDestinationsdanallowedImportSources."
Mengubah akun penagihan untuk project
Akun Penagihan Cloud dapat digunakan di seluruh resource organisasi. Memindahkan project dari satu resource organisasi ke resource organisasi lain tidak akan memengaruhi penagihan, dan tagihan akan terus ditagih ke akun penagihan lama. Namun, migrasi project antar-resource organisasi sering kali juga mencakup persyaratan untuk bermigrasi ke akun penagihan baru.
Untuk mengubah akun penagihan, lakukan hal berikut:
- Buka halaman Penagihan di konsol Google Cloud .
Buka halaman Penagihan - Klik nama akun penagihan yang ingin Anda ubah.
- Di bagian Project yang ditautkan ke akun penagihan ini, cari nama Project yang akan dimigrasikan, lalu klik tombol menu di sebelah kanan.
- Klik Ubah penagihan, lalu pilih akun penagihan baru.
- Klik Setel akun.
Biaya yang sudah dikeluarkan dan belum dilaporkan dalam histori transaksi akan ditagih ke akun penagihan sebelumnya. Hal ini dapat mencakup biaya hingga dua hari sebelum project dimigrasikan.
Memigrasikan akun penagihan di antara resource organisasi
Akun penagihan dapat dimigrasikan dari satu resource organisasi ke resource organisasi lain, meskipun langkah ini jarang diperlukan. Sebagian besar resource organisasi yang ada sudah memiliki akun penagihan yang harus digunakan.
Jika akun penagihan baru tidak memiliki resource organisasi yang terkait dengannya, Anda harus mendapatkan peran roles/billing.admin di akun penagihan dan peran roles/billing.admin dan roles/billing.creator di resource organisasi yang ingin Anda kaitkan dengan akun penagihan.
Jika Anda perlu memigrasikan akun penagihan yang ada:
- Di konsol Google Cloud , buka halaman Billing.
Buka halaman Penagihan - Klik nama akun penagihan yang ingin Anda migrasikan.
- Di bagian atas halaman Pengelolaan Akun, klik Ubah organisasi.
- Pilih resource organisasi tujuan, lalu klik Oke.
Akun penagihan kini dikaitkan dengan resource organisasi yang ditentukan.
Me-roll back migrasi
Jika Anda salah memigrasikan project, Anda dapat membatalkan operasi dengan melakukan migrasi lagi, dengan sumber lama sebagai tujuan baru, dan tujuan lama sebagai sumber baru. Anda harus memiliki izin IAM yang diperlukan dan kebijakan organisasi yang diterapkan untuk mengizinkan hal ini seolah-olah ini adalah migrasi yang sepenuhnya baru.
Untuk membatalkan migrasi, lakukan hal berikut:
- Tukar ID sumber dan tujuan di Kebijakan Organisasi Anda (
allowedExportDestinationsdanallowedImportSources). - Ulangi perintah migrasi, dengan memindahkan project kembali ke ID sumber asli.