Anda dapat memigrasikan project Google Cloud di antara resource organisasi, atau memindahkan project mandiri (yang tidak memiliki resource organisasi) ke dalam resource organisasi. Untuk memigrasikan project antarorganisasi, Anda harus memiliki izin Identity and Access Management (IAM) yang diperlukan dan mengonfigurasi kebijakan organisasi yang diperlukan pada resource organisasi sumber dan tujuan. Untuk memindahkan project mandiri, Anda hanya memerlukan izin IAM yang diperlukan pada project dan resource organisasi tujuan, beserta kebijakan organisasi yang diperlukan pada resource organisasi tujuan.
Sebelum memulai
Migrasi project adalah operasi lintas organisasi. Untuk mencegah pemindahan 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 untuk memberi Anda peran IAM berikut:
- Project IAM Admin (
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) pada resource tujuan -
Jika resource tujuan adalah organisasi:
Project Creator (
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 (resource folder atau 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
organisasi tujuan.
Di resource organisasi sumber: Tetapkan kebijakan
constraints/resourcemanager.allowedExportDestinations. Tambahkan ID organisasi tujuan sebagai nilai yang diizinkan.Pada 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 resource folder maupun organisasi.
API
Dengan menggunakan Resource Manager API v1, Anda dapat memigrasikan project antar-resource organisasi dengan menetapkan kolom parent ke ID resource tujuan.
Untuk memigrasikan project, lakukan hal 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 pascamigrasi 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 lakukan setelah migrasi:
Verifikasi kebijakan: Pastikan 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 lainnya tidak akan memengaruhi penagihan, dan tagihan akan terus dikenakan 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, temukan nama Project yang akan dimigrasikan, lalu klik tombol menu di sebelah kanan.
- Klik Ubah penagihan, lalu pilih akun penagihan baru.
- Klik Setel akun.
Tagihan yang telah dikenakan dan belum dilaporkan dalam histori transaksi akan ditagihkan ke akun penagihan sebelumnya. Hal ini dapat mencakup tagihan dari hingga dua hari sebelum project dimigrasikan.
Memigrasikan akun penagihan antar-resource organisasi
Akun penagihan dapat dimigrasikan dari satu resource organisasi ke resource organisasi lainnya, meskipun hal ini sering kali bukan langkah yang 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 serta peran roles/billing.admin dan roles/billing.creator di resource organisasi yang ingin Anda kaitkan dengan akun penagihan Anda.
Jika Anda perlu memigrasikan akun penagihan yang ada:
- Di konsol Google Cloud , buka halaman Penagihan.
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
MigrasiGoogle Cloud antar-organisasi tidak otomatis di-roll back jika terjadi masalah selama atau setelah migrasi. Jika perlu mengembalikan migrasi, Anda harus melakukan rollback secara manual.
Jika Anda salah memigrasikan project, Anda dapat me-roll back 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.