Membuat instance di jaringan pribadi, lalu mengimpor database

Memigrasikan beban kerja dari platform lain ke Cloud SQL untuk PostgreSQL sering kali melibatkan penggunaan konsol Google Cloud untuk mengimpor data dari file dump SQL yang Anda ekspor dari lingkungan sebelumnya.

Tutorial ini menunjukkan cara membuat Google Cloud resource yang Anda butuhkan, lalu mengimpor database SQL ke instance Cloud SQL untuk PostgreSQL. Tutorial ini menunjukkan praktik terbaik saat bermigrasi ke Cloud SQL untuk PostgreSQL, termasuk penggunaan jaringan Virtual Private Cloud (VPC) dengan akses layanan pribadi dan mengaktifkan IP pribadi untuk instance Cloud SQL Anda.

Saat Anda menyelesaikan langkah-langkahnya, pertahankan nilai default untuk setelan kecuali jika ditentukan lain.

Tujuan

  1. Download contoh file dump SQL.
  2. Buat jaringan Virtual Private Cloud baru dengan akses layanan pribadi.
  3. Buat bucket Cloud Storage dan upload file dump SQL ke dalamnya.
  4. Buat instance Cloud SQL untuk PostgreSQL yang dikonfigurasi untuk IP pribadi.
  5. Buat pengguna.
  6. Buat database tujuan.
  7. Impor dari file dump ke database baru.
  8. Verifikasi bahwa database berhasil diimpor dengan melihat struktur dan menjalankan kueri.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, baca bagian Pembersihan.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. Peran yang diperlukan

    Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

    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.

    Mendapatkan file dump database contoh

    Untuk tutorial ini, Anda akan menggunakan database sampel kecil yang berisi kode negara dan ibu kota dunia.

    Download file SQL untuk database countries ke lingkungan lokal Anda: countries-postgres.sql.

    Membuat jaringan dengan akses layanan pribadi

    Sebelum membuat resource lainnya, buat jaringan VPC untuk menjalankan layanan Anda. Akses layanan pribadi memungkinkan Anda membatasi akses ke database Cloud SQL dengan membuat koneksi pribadi antara jaringan eksternal dan Cloud SQL untuk PostgreSQL menggunakan alamat IPv4 internal.

    1. Di konsol Google Cloud , buka halaman VPC networks.

      Buka halaman Jaringan VPC

    2. Klik Create VPC network.

    3. Di kolom nama, masukkan tutorial-network.

    4. Untuk Mode pembuatan subnet, klik Kustom.

    5. Di kolom nama, masukkan tutorial-subnet.

    6. Pilih wilayah di dekat Anda.

    7. Untuk IPv4 range, masukkan 10.0.0.0/24.

    8. Untuk Akses Google Pribadi, pilih Aktif.

    9. Klik Done.

    10. Di bagian bawah halaman, klik Create.

    Setelah proses pembuatan jaringan VPC selesai, Anda dapat mengonfigurasi akses layanan pribadi untuk jaringan tersebut.

    1. Di layar VPC networks, klik tutorial-network.
    2. Di panel menu untuk tutorial-network, klik Private services access.
    3. Klik Rentang IP yang dialokasikan untuk layanan.
    4. Klik Alokasikan rentang IP.
    5. Untuk Nama, masukkan tutorial-range.
    6. Untuk Rentang alamat IP, pilih Kustom.
    7. Di kolom Rentang, masukkan 192.168.0.0/20.
    8. Klik Alokasikan.
    9. Di submenu, klik Private connections to services.
    10. Klik Create connection.
    11. Di drop-down Assigned allocation, pilih tutorial-range.
    12. Klik Hubungkan. Dalam satu atau dua menit, konsol Google Cloud akan menampilkan pesan yang memberi tahu Anda bahwa Anda telah berhasil membuat koneksi pribadi.

    Membuat bucket Cloud Storage

    Selanjutnya, buat bucket Cloud Storage untuk menyimpan file dump SQL yang Anda download sebelumnya. Alat impor Cloud SQL mengharapkan file dump berada di bucket. Bucket Cloud Storage harus memiliki nama yang unik secara global.

    1. Di konsol Google Cloud , buka halaman Bucket Cloud Storage.

      Buka Buckets

    2. Klik Create.
    3. Untuk nama bucket, buat nama yang unik secara global yang terdiri dari huruf kecil, angka, dan tanda hubung. Anda dapat menggunakan generator string acak, seperti random.org/strings untuk membuat nama. Catat nama yang Anda pilih.
    4. Klik Lanjutkan.
    5. Di bagian Jenis lokasi, pilih Region. Ini adalah opsi dengan biaya terendah.
    6. Pilih region yang sama dengan yang Anda pilih untuk subnet Anda. Menempatkan Google Cloud resource di region yang sama akan mengurangi latensi, meningkatkan kecepatan, menurunkan biaya transfer data, dan menyederhanakan jaringan.
    7. Klik Lanjutkan.
    8. Klik Create.
    9. Jika muncul dialog, biarkan opsi Enforce public access prevention on this bucket tetap dicentang, lalu klik Confirm.

    Halaman Bucket details untuk bucket baru akan terbuka dengan panel Objects dipilih.

    Upload file dump Anda ke bucket

    Upload file dump SQL contoh yang Anda download sebelumnya ke bucket Anda.

    1. Di tab Objects, klik Upload, lalu klik Upload files.
    2. Buka dan pilih file countries-postgres.sql.
    3. Klik Buka. Cloud Storage mengupload file dump ke bucket.

    Membuat instance Cloud SQL

    Buat instance Cloud SQL di konsol Google Cloud menggunakan setelan berikut. Untuk semua setelan lainnya, pertahankan setelan default. Meskipun Anda tidak perlu mengaktifkan IP pribadi untuk proses impor, menggunakan IP pribadi untuk beban kerja produksi adalah praktik terbaik.

    1. Buka halaman Instance Cloud SQL di konsol Google Cloud .
      Buka halaman Instance Cloud SQL
    2. Klik Create Instance.
    3. Klik Pilih PostgreSQL.
    4. Untuk Choose a Cloud SQL edition, pilih Enterprise.
    5. Untuk Edition preset, pilih Sandbox.
    6. Untuk Instance ID, masukkan tutorial-instance.
    7. Pilih dan masukkan sandi untuk akun pengguna default, lalu simpan untuk penggunaan di masa mendatang.
    8. Pilih region yang sama dengan yang Anda pilih untuk subnet dan bucket Anda.
    9. Untuk Zonal availability, pilih Single zone.
    10. Luaskan Show configuration options.
    11. Luaskan Connections.
    12. Hapus IP Publik.
    13. Pilih Private IP.
    14. Dari drop-down Network, pilih tutorial-network. Tindakan ini akan menempatkan instance Cloud SQL baru di jaringan pribadi yang Anda buat sebelumnya.
    15. Klik Buat instance, lalu tunggu hingga instance diinisialisasi dan dimulai. Proses inisialisasi dapat memerlukan waktu lebih dari lima menit.

    Menambahkan pengguna

    Sebelum dapat membaca atau menulis ke database, Anda harus membuat pengguna database yang berbeda dari pengguna root.

    1. Di menu navigasi SQL, klik Pengguna.
    2. Klik Add user account.
    3. Di panel yang terbuka, pilih Autentikasi bawaan.
    4. Pada kolom Nama pengguna, masukkan tutorial-user.
    5. Masukkan sandi untuk pengguna baru. Simpan sandi ini untuk penggunaan berikutnya.
    6. Klik Tambahkan.

    Buat database tujuan

    Alur kerja impor mengharuskan Anda memilih database tujuan untuk mengimpor, jadi Anda perlu membuat database kosong.

    1. Di menu navigasi SQL, klik Databases.
    2. Klik Create database.
    3. Untuk Database Name, ketik countries.
    4. Klik Create.

    Mengimpor dari file dump

    Sekarang Anda siap mengimpor database countries menggunakan file dump countries-postgres.sql yang Anda upload ke bucket Cloud Storage.

    1. Di menu navigasi SQL, klik Ringkasan.
    2. Di halaman ringkasan, klik Impor.
    3. Di bagian File format, pilih SQL.
    4. Di bagian Select source file, pilih Select file from Google Cloud Storage.
    5. Klik Browse.
    6. Luaskan bucket penyimpanan yang Anda buat sebelumnya.
    7. Klik countries-postgres.sql.
    8. Klik Pilih.
    9. Di bagian Tujuan, klik drop-down Database, lalu pilih negara.
    10. Klik Import.

    Setelah proses impor selesai dan database countries telah diimpor ke Cloud SQL untuk PostgreSQL, pesan keberhasilan akan ditampilkan.

    Memvalidasi data yang diimpor di Cloud SQL untuk PostgreSQL

    Setelah operasi impor selesai, Anda dapat memverifikasi bahwa database telah diimpor dengan menghubungkannya menggunakan Cloud SQL Studio, memeriksa daftar tabel, dan menjalankan kueri pengujian terhadap data.

    Melakukan autentikasi ke Cloud SQL Studio

    Dengan akun pengguna yang Anda buat sebelumnya, hubungkan ke database baru menggunakan Cloud SQL Studio.

    1. Di menu navigasi SQL, klik Cloud SQL Studio. Dialog login akan ditampilkan.
    2. Di drop-down Database, pilih countries.
    3. Pilih Built-in database authentication.
    4. Di drop-down Pengguna, pilih tutorial-user.
    5. Di kolom Password, masukkan sandi yang Anda pilih untuk pengguna di bagian Tambahkan pengguna.
    6. Klik Autentikasi. Cloud SQL Studio akan terbuka.

    Melihat dan membuat kueri tabel

    1. Di panel Explorer, periksa database countries dan konfirmasi bahwa database memiliki dua tabel: capitals dan country_codes.
    2. Klik Untitled Query untuk membuka editor kueri.
    3. Tempel kode berikut ke editor kueri:

      SELECT
        "capitals"."country_capital",
        "country_codes"."country_name"
      FROM
        "capitals"
      JOIN
        "country_codes"
      ON
        "capitals"."alpha_2_code" = "country_codes"."alpha_2_code"
      ORDER BY
        "capitals"."country_capital";
      
    4. Klik Run.

    Panel hasil menampilkan daftar ibu kota negara di dunia dan negaranya dalam urutan abjad.

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, lakukan salah satu hal berikut:

    • Menghapus project yang berisi resource
    • Pertahankan project dan hapus resource satu per satu.

    Menghapus project

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Menghapus resource satu per satu

    Jika ingin mempertahankan project, tetapi menghindari timbulnya biaya, hapus instance Cloud SQL, bucket Cloud Storage, dan jaringan VPC yang Anda buat selama tutorial.

    Hapus instance Cloud SQL

    Pertama, nonaktifkan perlindungan penghapusan, lalu hapus instance Cloud SQL tutorial:

    1. Di menu navigasi SQL, klik Ringkasan.
    2. Klik Edit.
    3. Luaskan bagian Perlindungan Data.
    4. Di Perlindungan penghapusan instance, batalkan pilihan semua opsi.
    5. Klik Simpan. Setelah operasi selesai, Hapus dapat dipilih.
    6. Klik Hapus. Dialog akan muncul.
    7. Di kolom Instance ID, masukkan tutorial-instance.
    8. Klik Hapus.

    Menghapus bucket Cloud Storage

    Selanjutnya, hapus bucket penyimpanan dan isinya.

    1. Di menu navigasi konsol Google Cloud utama, buka Cloud Storage > Buckets.
    2. Pilih kotak di samping nama bucket yang Anda buat sebelumnya.
    3. Klik Delete.
    4. Pada dialog, konfirmasi penghapusan dengan mengetik DELETE, lalu klik Hapus.

    Hapus jaringan VPC

    Setelah menghapus resource di jaringan VPC, Anda siap menghapus jaringan. Sebelum dapat menghapus jaringan VPC, Anda harus menghapus koneksi peering yang dibuat secara otomatis saat Anda membuat jaringan VPC.

    1. Di menu navigasi utama, buka VPC networks > VPC network peering.
    2. Centang kotak di samping koneksi peering dengan jaringan VPC tutorial-network.
    3. Klik Hapus.
    4. Pada dialog, konfirmasi dengan mengklik Hapus.

    Setelah koneksi peering dihapus, Anda dapat menghapus jaringan VPC.

    1. Di menu VPC Network, klik VPC networks.
    2. Klik tutorial-network untuk membuka halaman detail.
    3. Klik Hapus jaringan VPC.
    4. Pada dialog, konfirmasi penghapusan dengan mengetik tutorial-network, lalu mengklik Hapus.

    Langkah berikutnya