Membuat instance

Halaman ini menjelaskan cara membuat instance Cloud SQL untuk MySQL.

Untuk mengetahui detail informasi tentang semua setelan instance, lihat Setelan instance.

Instance yang baru dibuat memiliki empat database sistem:

  • information_schema: Menyediakan akses ke metadata database, informasi tentang server MySQL.
  • mysql: Skema sistem. Objek ini berisi tabel yang menyimpan informasi yang diperlukan oleh server MySQL saat dijalankan.
  • performance_schema: Fitur untuk memantau eksekusi MySQL Server di level rendah.
  • sys: Berisi kumpulan objek yang membantu DBA dan developer menafsirkan data yang dikumpulkan oleh skema performa.

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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Pastikan Anda memiliki peran Admin Cloud SQL dan Compute Viewer di akun pengguna.

    Buka halaman IAM

    Pelajari lebih lanjut tentang peran dan perizinan

Buat instance MySQL

Konsol

  1. Di konsol Google Cloud, buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Klik Create instance.
  3. Pada panel Choose your database engine di halaman Create an instance, klik Choose MySQL.
  4. Di kolom Instance ID pada panel Instance info, masukkan ID untuk instance Anda.

    Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).

  5. Setel sandi untuk pengguna root.

    Meskipun ada opsi untuk menyetel Tidak ada sandi, hal ini tidak direkomendasikan untuk alasan keamanan.

  6. Untuk melihat sandi dalam teks yang jelas, klik ikon Tampilkan sandi.

    Anda dapat memasukkan sandi secara manual atau mengklik Buat agar Cloud SQL membuat sandi untuk Anda secara otomatis.
  7. Opsional: Konfigurasikan kebijakan sandi untuk instance sebagai berikut:

    1. Centang kotak Aktifkan kebijakan sandi.
    2. Klik tombol Siapkan kebijakan sandi, tetapkan satu atau beberapa opsi berikut, lalu klik Save.
      • Panjang minimum: Menentukan jumlah karakter minimum yang harus dimiliki oleh sandi.
      • Kompleksitas sandi: periksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, numerik, dan non-alfanumerik.
      • Batasi penggunaan ulang sandi: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.

        Hanya didukung di Cloud SQL untuk MySQL 8.0 dan yang lebih baru.

      • Larang nama pengguna: Mencegah penggunaan nama pengguna dalam sandi.
  8. Pilih versi database untuk instance Anda: MySQL 8.4, MySQL 8.0 (default), MySQL 5.7, atau MySQL 5.6.
  9. Opsional: Pilih Tampilkan versi minor. Kemudian, pilih versi minor selain versi minor default.
  10. Versi database tidak dapat diedit setelah instance dibuat.

  11. .Pilih edisi Cloud SQL untuk instance Anda: Enterprise atau Enterprise plus. Untuk informasi selengkapnya tentang edisi Cloud SQL, lihat Pengantar edisi Cloud SQL.
  12. Di bagian Pilih ketersediaan region dan zona, pilih region dan zona untuk instance Anda. Ketersediaan region mungkin berbeda berdasarkan edisi Cloud SQL Anda. Untuk informasi selengkapnya, lihat Tentang setelan instance.

    Tempatkan instance Anda di region yang sama dengan resource yang mengaksesnya. Region yang dipilih tidak dapat diubah pada masa mendatang. Pada umumnya, Anda tidak perlu menentukan zona.

    Jika mengonfigurasi instance untuk ketersediaan tinggi, Anda dapat memilih zona utama dan sekunder.

    Kondisi berikut berlaku jika zona sekunder digunakan selama pembuatan instance:

    • Zona secara default ditetapkan keAny untuk zona utama dan Any (different from primary) untuk zona sekunder.
    • Jika zona utama dan sekunder ditentukan, keduanya harus berada di zona yang berbeda.
  13. Pada bagian Sesuaikan instance, perbarui setelan untuk instance Anda. Mulailah dengan mengklik TAMPILKAN OPSI KONFIGURASI untuk menampilkan grup setelan. Kemudian, perluas grup yang diinginkan untuk meninjau dan menyesuaikan setelannya. Ringkasan semua opsi yang telah dipilih ditampilkan di sebelah kanan. Penyesuaian setelan instance ini bersifat opsional. Default ditetapkan di setiap kasus ketika tidak ada penyesuaian yang dilakukan.

    Tabel berikut adalah referensi cepat untuk setelan instance. Untuk mengetahui detail selengkapnya tentang setiap setelan, lihat halaman setelan instance.

    Setelan Catatan
    Machine type
    Machine type Pilih dari Shared core atau Dedicated core. Untuk Shared core, setiap jenis mesin diklasifikasikan berdasarkan jumlah CPU (cores) dan jumlah memori untuk instance Anda.
    Cores Jumlah vCPU untuk instance Anda. Pelajari lebih lanjut.
    Memori Jumlah memori untuk instance Anda, dalam GB. Pelajari lebih lanjut.
    Khusus Untuk jenis mesin Dedicated core, daripada memilih konfigurasi yang telah ditetapkan, pilih tombol Khusus untuk membuat instance dengan konfigurasi kustom. Saat memilih opsi ini, Anda harus memilih jumlah inti dan jumlah memori untuk instance. Pelajari lebih lanjut.
    Penyimpanan
    Jenis penyimpanan Tentukan apakah instance Anda menggunakan penyimpanan SSD atau HDD. Pelajari lebih lanjut.
    Kapasitas penyimpanan Jumlah penyimpanan yang disediakan untuk instance. Pelajari lebih lanjut.
    Aktifkan peningkatan penyimpanan otomatis Menentukan apakah Cloud SQL menyediakan lebih banyak penyimpanan secara otomatis untuk instance Anda saat ruang kosong hampir habis. Pelajari lebih lanjut.
    Enkripsi
    Enkripsi yang dikelola GoogleOpsi default.
    Kunci enkripsi yang dikelola pelanggan (CMEK)Pilih untuk menggunakan kunci Anda dengan Google Cloud Key Management Service. Pelajari lebih lanjut.
    Koneksi
    IP Pribadi Menambahkan alamat IP pribadi untuk instance Anda. Untuk memungkinkan koneksi ke instance, diperlukan konfigurasi tambahan.
    Secara opsional, Anda dapat menentukan rentang IP yang dialokasikan untuk instance yang akan digunakan pada koneksi.
    1. Perluas Opsi tampilkan rentang IP yang dialokasikan.
    2. Pilih rentang IP dari menu drop-down.

    Instance Anda dapat memiliki alamat IP publik dan pribadi.

    IP Publik Menambahkan alamat IP publik untuk instance Anda. Selanjutnya, Anda dapat menambahkan jaringan yang diizinkan untuk terhubung ke instance.

    Instance Anda dapat memiliki alamat IP publik dan pribadi.

    Pelajari lebih lanjut cara menggunakan IP publik.

    Jaringan yang diizinkan

    Tambahkan nama untuk jaringan baru dan Alamat jaringan. Pelajari lebih lanjut.

    Jalur pribadi untuk layanan Google Cloud

    Dengan mencentang kotak ini, Anda mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi pribadi.

    Perlindungan data
    Otomatiskan pencadangan Periode waktu saat Anda ingin pencadangan dimulai. Pelajari lebih lanjut.
    Pilih tempat untuk menyimpan cadangan AndaPilih Multi-region untuk sebagian besar kasus penggunaan. Jika Anda perlu menyimpan cadangan di region tertentu, misalnya, jika ada alasan peraturan untuk melakukannya, pilih Region kemudian pilih region Anda dari menu drop-down Lokasi.
    Pilih jumlah cadangan yang akan disimpanJumlah cadangan otomatis yang ingin Anda pertahankan (dari 1 hingga 365 hari). Pelajari lebih lanjut.
    Aktifkan pemulihan point-in-time Mengaktifkan pemulihan point-in-time dan write-ahead logging. Pelajari lebih lanjut.
    Aktifkan perlindungan penghapusan Menentukan apakah akan melindungi instance dari penghapusan yang tidak disengaja. Pelajari lebih lanjut.
    Pilih jumlah hari untuk log yang akan disimpan Mengonfigurasi retensi write-ahead log dari 1 hingga 7 hari. Setelan defaultnya yakni 7 hari. Pelajari lebih lanjut.
    Pemeliharaan
    Periode pilihan Menentukan periode satu jam ketika Cloud SQL dapat melakukan pemeliharaan yang mengganggu pada instance Anda. Jika Anda tidak menyetel periode ini, pemeliharaan yang mengganggu dapat dilakukan kapan saja. Pelajari lebih lanjut.
    Urutan update Waktu yang Anda pilih untuk update instance, relatif terhadap instance lain dalam project yang sama. Pelajari lebih lanjut.
    Tanda
    Tambahkan tanda Anda dapat menggunakan tanda database untuk mengontrol setelan dan parameter untuk instance. Pelajari lebih lanjut.
    Label
    TAMBAHKAN LABELTambahkan kunci dan nilai untuk setiap label yang ditambahkan. Anda menggunakan label untuk membantu mengatur instance.
    Cache data
    Aktifkan cache data (opsional) Mengaktifkan cache data untuk instance edisi Cloud SQL untuk MySQL Enterprise Plus. Untuk mengetahui informasi selengkapnya tentang cache data, lihat cache data.
  14. Klik Create Instance.

    Catatan: Mungkin diperlukan waktu beberapa menit untuk membuat instance. Namun, Anda dapat melihat informasi tentang instance saat sedang dibuat.

gcloud

Untuk mengetahui informasi cara menginstal dan memulai gcloud CLI, lihat Menginstal gcloud CLI. Untuk mengetahui informasi cara memulai Cloud Shell, lihat dokumentasi Cloud Shell.

  1. Gunakan perintah gcloud sql instances create untuk membuat instance:
  2. Untuk instance edisi Cloud SQL Enterprise Plus:

    gcloud sql instances create INSTANCE_NAME \
    --region=REGION \
    --tier=TIER \
    --database-version=DATABASE_VERSION \
    --edition=ENTERPRISE_PLUS

    Untuk instance edisi Cloud SQL Enterprise:

    gcloud sql instances create INSTANCE_NAME \
    --cpu=NUMBER_CPUS \
    --memory=MEMORY_SIZE \
    --region=REGION

    Sebagai alternatif, Anda dapat menggunakan tanda --tier jika memilih db-f1-micro atau db-g1-small sebagai jenis mesin:
    gcloud sql instances create INSTANCE_NAME \
    --tier=API_TIER_STRING \
    --region=REGION

    vCPU dan ukuran memori memiliki batasan nilai:

    • vCPU harus berupa 1 atau bilangan genap antara 2 dan 96.
    • Memori harus:
      • 0,9 hingga 6,5 GB per vCPU
      • Kelipatan 256 MB
      • Setidaknya 3,75 GB (3840 MB)

    Misalnya, perintah berikut membuat instance edisi Cloud SQL Enterprise dengan dua vCPU dan memori 7.680 MB:

    gcloud sql instances create myinstance \
    --database-version=MYSQL_8_0 \
    --cpu=2 \
    --memory=7680MB \
    --region=us-central1

    Perintah berikut membuat instance edisi Cloud SQL Enterprise Plus dengan empat core:

    gcloud sql instances create myinstance \
    --database-version=MYSQL_8_0_31 \
    --tier=db-perf-optimized-N-4 \
    --edition=ENTERPRISE_PLUS \
    --region=us-central1

    Nilai default untuk REGION adalah us-central1.

    Jangan menyertakan informasi sensitif atau informasi identitas pribadi dalam nama instance Anda; terlihat secara eksternal.
    Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).

    Jika membuat instance untuk ketersediaan tinggi, Anda dapat menentukan zona utama dan sekunder menggunakan parameter --zone dan --secondary-zone. Kondisi berikut berlaku jika zona sekunder digunakan selama pembuatan atau pengeditan instance:

    • Zona harus berupa zona yang valid.
    • Jika zona sekunder ditentukan, zona utama juga harus ditentukan.
    • Jika zona utama dan sekunder ditentukan, zona tersebut harus berbeda.
    • Jika zona utama dan sekunder ditentukan, zona tersebut harus berada di region yang sama.

    Anda dapat menambahkan parameter lainnya untuk menentukan setelan instance lainnya:

    Setelan Parameter Catatan
    Parameter yang diperlukan
    Versi database --database-version Versi database, yang didasarkan pada edisi Cloud SQL Anda.
    Region --region Lihat nilai yang valid.
    Menetapkan kebijakan sandi
    Aktifkan kebijakan sandi --enable-password-policy Mengaktifkan kebijakan sandi saat digunakan. Secara default, kebijakan sandi dinonaktifkan. Jika dinonaktifkan menggunakan parameter --clear-password-policy, parameter kebijakan sandi lainnya akan direset.
    Panjang minimum --password-policy-min-length Menentukan jumlah karakter minimum yang harus dimiliki sandi.
    Kerumitan sandi --password-policy-complexity Mengaktifkan pemeriksaan kerumitan sandi untuk memastikan bahwa sandi berisi salah satu dari setiap jenis karakter berikut: huruf kecil, huruf besar, numerik, dan non-alfanumerik. Tetapkan nilai ke COMPLEXITY_DEFAULT.
    Batasi penggunaan kembali sandi --password-policy-reuse-interval Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali. Hanya didukung di Cloud SQL untuk MySQL 8.0 dan yang lebih baru.
    Larang nama pengguna --password-policy-disallow-username-substring Mencegah penggunaan nama pengguna dalam sandi. Gunakan parameter --no-password-policy-disallow-username-substring untuk menonaktifkan pemeriksaan tersebut.
    Konektivitas
    IP Pribadi --network

    --no-assign-ip (opsional)

    --allocated-ip-range-name (opsional)

    --enable-google-private-path (opsional)

    --network: Menentukan nama jaringan VPC yang ingin Anda gunakan untuk instance ini. Akses layanan pribadi harus sudah dikonfigurasi untuk jaringan tersebut.ork. Hanya tersedia untuk perintah beta (gcloud beta sql instances create).

    --no-assign-ip: Instance hanya akan memiliki alamat IP pribadi.

    --allocated-ip-range-name: Jika telah ditentukan, tetapkan nama rentang untuk rentang IP yang dialokasikan. Contoh , google-managed-services-default. Nama rentang harus sesuai dengan RFC-1035 dan terdiri dari 1-63 karakter. (gcloud alpha sql instances create).

    --enable-google-private-path: Jika menggunakan parameter ini, berarti Anda mengizinkan layanan Google Cloud lainnya, seperti BigQuery, untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi pribadi.

    Parameter ini hanya valid jika:

    • Anda menggunakan parameter --no-assign-ip.
    • Gunakan parameter --network untuk menentukan nama jaringan VPC yang ingin Anda gunakan untuk membuat koneksi pribadi.

    IP Publik --authorized-networks Untuk koneksi IP publik, hanya koneksi dari jaringan yang diizinkan yang dapat terhubung ke instance Anda. Pelajari lebih lanjut.
    Penerapan SSL

    --ssl-mode

    --require-ssl

    Parameter ssl-mode menerapkan penerapan SSL/TLS untuk koneksi. Untuk mengetahui informasi selengkapnya, lihat Setelan untuk Cloud SQL untuk MySQL.

    Parameter require-ssl menentukan apakah koneksi SSL melalui IP diterapkan atau tidak. require-ssl adalah parameter lama. Sebagai gantinya, gunakan ssl-mode. Untuk informasi selengkapnya, lihat IpConfiguration.

    Mode CA server --server-ca-mode

    Flag --server-ca-mode mengonfigurasi jenis otoritas sertifikat server (CA) untuk instance. Anda dapat memilih salah satu opsi berikut:

    • GOOGLE_MANAGED_INTERNAL_CA: ini adalah nilai default. Dengan opsi ini, CA internal yang didedikasikan untuk setiap instance Cloud SQL akan menandatangani sertifikat server untuk instance tersebut.
    • GOOGLE_MANAGED_CAS_CA: dengan opsi ini, hierarki CA yang terdiri dari root CA dan CA server bawahan yang dikelola oleh Cloud SQL dan dihosting di Google Cloud Certificate Authority Service (Layanan CA) akan digunakan. CA server bawahan di region menandatangani sertifikat server dan dibagikan di seluruh instance di region. Opsi ini hanya didukung di MySQL 8.0.30 dan yang lebih baru.

    Penggunaan flag --server-ca-mode berada dalam Pratinjau.

    Jenis mesin dan penyimpanan
    Machine type --tier Digunakan untuk menentukan instance dengan shared-core (db-f1-micro atau db-g1-small). Untuk konfigurasi instance kustom, gunakan parameter --cpu atau --memory sebagai gantinya. Lihatkonfigurasi instance kustom.
    Jenis penyimpanan --storage-type Tentukan apakah instance Anda menggunakan penyimpanan SSD atau HDD. Pelajari lebih lanjut.
    Kapasitas penyimpanan --storage-size Jumlah penyimpanan yang disediakan untuk instance, dalam GB. Pelajari lebih lanjut.
    Peningkatan Penyimpanan Otomatis --storage-auto-increase Menentukan apakah Cloud SQL menyediakan lebih banyak penyimpanan secara otomatis untuk instance Anda saat ruang kosong hampir habis. Pelajari lebih lanjut.
    Batas peningkatan penyimpanan otomatis --storage-auto-increase-limit Tentukan seberapa besar Cloud SQL dapat meningkatkan penyimpanan secara otomatis. Hanya tersedia untuk perintah beta (gcloud beta sql instances create). Pelajari lebih lanjut.
    Cache data (opsional) --enable-data-cache Mengaktifkan atau menonaktifkan cache data untuk instance. Untuk informasi selengkapnya, lihat cache data.
    Pencadangan otomatis dan ketersediaan tinggi
    Ketersediaan tinggi --availability-type Untuk instance dengan ketersediaan tinggi, tetapkan ke REGIONAL. Pelajari lebih lanjut.
    Zona sekunder --secondary-zone ika membuat instance untuk ketersediaan tinggi, Anda dapat menentukan zona utama dan sekunder menggunakan --zone dan --secondary-zone parameters. Pembatasan berikut berlaku jika zona sekunder digunakan selama pembuatan atau pengeditan instance:
    • Zona harus berupa zona yang valid.
    • Jika zona sekunder ditentukan, zona utama juga harus ditentukan.
    • Jika zona utama dan sekunder ditentukan, zona tersebut harus berbeda.

      Jika zona utama dan sekunder ditentukan, zona tersebut harus berada di region yang sama.

    Backup otomatis --backup-start-time Periode waktu saat Anda ingin pencadangan dimulai. Pelajari lebih lanjut.
    Setelan retensi untuk cadangan otomatis --retained-backups-count Jumlah cadangan otomatis yang perlu dipertahankan. Pelajari lebih lanjut.
    Logging biner --enable-bin-log Logging biner memungkinkan replikasi dan pemulihan point-in-time. Pelajari lebih lanjut.
    Setelan retensi untuk logging biner --retained-transaction-log-days Jumlah hari untuk menyimpan log biner untuk pemulihan point-in-time.Pelajari lebih lanjut.
    Tambahkan tanda database
    Tanda database --database-flags Anda dapat menggunakan tanda database untuk mengontrol setelan dan parameter untuk instance. Pelajari tanda database lebih lanjut. Pelajari lebih lanjut cara memformat parameter ini.
    Jadwal pemeliharaan
    Masa pemeliharaan --maintenance-window-day,
    --maintenance-window-hour
    Menentukan periode satu jam kapan Cloud SQL dapat melakukan pemeliharaan yang mengganggu pada instance Anda. Jika Anda tidak menyetel periode, maka pemeliharaan yang dapat mengganggu bisa dilakukan kapan saja. Pelajari lebih lanjut.
    Waktu pemeliharaan --maintenance-release-channel Waktu yang Anda pilih untuk update instance, relatif terhadap instance lain dalam project yang sama. Gunakan preview untuk update sebelumnya, dan production untuk update berikutnya. Pelajari lebih lanjut.
  3. Catat alamat IP yang ditetapkan secara otomatis.

    Jika tidak menggunakan Proxy Auth Cloud SQL, Anda akan menggunakan alamat ini sebagai alamat host yang digunakan aplikasi atau alat untuk terhubung ke instance.

  4. Atur kata sandi untuk pengguna MySQL "root@%":
    gcloud sql users set-password root \
    --host=% \
    --instance INSTANCE_NAME \
    --password PASSWORD

Terraform

Untuk membuat instance, gunakan resource Terraform.

resource "google_sql_database_instance" "mysql_pvp_instance_name" {
  name             = "mysql-pvp-instance-name"
  region           = "asia-northeast1"
  database_version = "MYSQL_8_0"
  root_password    = "abcABC123!"
  settings {
    tier = "db-f1-micro"
    password_validation_policy {
      min_length                  = 6
      complexity                  = "COMPLEXITY_DEFAULT"
      reuse_interval              = 2
      disallow_username_substring = true
      enable_password_policy      = true
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Menerapkan perubahan

Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Menghapus perubahan

Untuk menghapus perubahan Anda, lakukan langkah-langkah berikut:

  1. Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan argumen deletion_protection ke false.
    deletion_protection =  "false"
  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply
  1. Hapus resource yang sebelumnya diterapkan dengan konfigurasi Terraform Anda dengan menjalankan perintah berikut dan memasukkan yes pada prompt:

    terraform destroy

REST v1

Buat instance

Contoh ini akan membuat sebuah instance. Beberapa parameter opsional, seperti cadangan dan logging biner juga disertakan. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat halaman Instances:insert. Untuk mengetahui informasi tentang setelan instance, termasuk nilai yang valid untuk region, lihat Setelan instance.

Jangan menyertakan informasi sensitif atau informasi identitas pribadi di ID instance Anda; karena informasi tersebut terlihat dari luar.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • PROJECT_ID: project ID Anda.
  • INSTANCE_ID: ID instance Anda
  • DATABASE_VERSION: versi database. Misalnya MYSQL_8_4 atau MYSQL_8_0_37. Jika Anda tidak menentukan versi database, versi database default-nya adalah MYSQL_8_0.
  • REGION: Region
  • MACHINE_TYPE: jenis mesin Anda
  • EDITION_TYPE: edisi Cloud SQL Anda
  • DATA_CACHE_ENABLED: (opsional) tetapkan ke true untuk mengaktifkan cache data untuk instance Anda
  • PRIVATE_NETWORK: tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin digunakan untuk instance ini. Akses layanan pribadi harus sudah dikonfigurasi untuk jaringan tersebut.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.
  • CA_MODE: tentukan hierarki otoritas sertifikasi untuk instance, GOOGLE_MANAGED_INTERNAL_CA atau GOOGLE_MANAGED_CAS_CA. Jika Anda tidak menentukan serverCaMode, konfigurasi defaultnya adalah GOOGLE_MANAGED_INTERNAL_CA. Fitur ini berada dalam Pratinjau.

Untuk menetapkan kebijakan sandi saat membuat instance, sertakan objek passwordValidationPolicy dalam permintaan. Tetapkan parameter berikut, jika diperlukan:

  • enablePasswordPolicy: Mengaktifkan kebijakan sandi saat disetel ke true.

    Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan PATCH dengan null sebagai nilai untuk enablePasswordPolicy. Dalam kasus ini, parameter kebijakan sandi lainnya akan diatur ulang.

  • minLength: Menentukan jumlah karakter minimum yang harus dimiliki sandi.
  • complexity: Memeriksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, angka, dan non-alfanumerik. Nilai defaultnya adalah COMPLEXITY_DEFAULT.
  • reuseInterval: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.

    Hanya didukung di Cloud SQL untuk MySQL 8.0 dan yang lebih baru.

  • disallowUsernameSubstring: Mencegah penggunaan nama pengguna dalam sandi saat ditetapkan ke true.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "dataCacheConfig" = {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "backupConfiguration": {
      "binaryLogEnabled": true,
      "enabled": true
    },
    "passwordValidationPolicy": {
      "enablePasswordPolicy": true
      "minLength": "MIN_LENGTH",
      "complexity": COMPLEXITY_DEFAULT,
      "reuseInterval": "REUSE_INTERVAL",
      "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
    }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true,
      "serverCaMode": "CA_MODE"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "[email protected]",
  "insertTime": "2019-09-25T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Memperbarui sandi root

Ketika instance selesai melakukan inisialisasi, perbarui sandi root:

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • project-id: project ID Anda.
  • instance-id: ID instance yang dibuat di langkah sebelumnya
  • root-password: sandi root yang diinginkan

Metode HTTP dan URL:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root

Meminta isi JSON:

{
  "name": "root",
  "host": "%",
  "password": "root-password"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "insertTime": "2019-09-26T14:32:30.592Z",
  "startTime": "2019-09-26T14:32:30.594Z",
  "endTime": "2019-09-26T14:32:33.518Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Mengambil alamat IPv4

Ambil alamat IPv4 yang ditetapkan secara otomatis untuk instance baru:

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • project-id: project ID Anda.
  • instance-id: ID instance yang dibuat di langkah sebelumnya

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0_18",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "us-west1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "18:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "1",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "[email protected]",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "us-west1",
  "gceZone": "us-west1-a"
}

Cari kolom ipAddress dalam respons.

REST v1beta4

Buat instance

Contoh ini akan membuat sebuah instance. Beberapa parameter opsional, seperti cadangan dan logging biner juga disertakan. Untuk daftar lengkap parameter panggilan ini, lihat halaman instances:insert. Untuk mengetahui informasi tentang setelan instance, termasuk nilai yang valid untuk region, lihat Setelan instance

Jangan sertakan informasi sensitif atau informasi identitas pribadi di ID instance Anda; informasi ini terlihat secara eksternal.
Anda tidak perlu menyertakan project ID dalam nama instance. Hal ini dilakukan secara otomatis jika sesuai (misalnya, di file log).

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • PROJECT_ID: project ID Anda.
  • INSTANCE_ID: ID instance Anda
  • DATABASE_VERSION: versi database. Misalnya MYSQL_8_4 atau MYSQL_8_0_37. Jika Anda tidak menentukan versi database, versi default-nya adalah MYSQL_8_0.
  • REGION: Region
  • MACHINE_TYPE: jenis mesin Anda
  • EDITION_TYPE: edisi Cloud SQL Anda .
  • DATA_CACHE_ENABLED: (opsional) tetapkan ke true untuk mengaktifkan cache data untuk instance Anda
  • PRIVATE_NETWORK: tentukan nama jaringan Virtual Private Cloud (VPC) yang ingin digunakan untuk instance ini. Akses layanan pribadi harus sudah dikonfigurasi untuk jaringan tersebut.
  • AUTHORIZED_NETWORKS: Untuk koneksi IP publik, tentukan koneksi dari jaringan resmi yang dapat terhubung ke instance Anda.
  • CA_MODE: tentukan hierarki otoritas sertifikasi untuk instance, GOOGLE_MANAGED_INTERNAL_CA atau GOOGLE_MANAGED_CAS_CA. Jika Anda tidak menentukan serverCaMode, konfigurasi defaultnya adalah GOOGLE_MANAGED_INTERNAL_CA. Fitur ini berada dalam Pratinjau.

Untuk menetapkan kebijakan sandi saat membuat instance, sertakan objek passwordValidationPolicy dalam permintaan. Tetapkan parameter berikut, jika diperlukan:

  • enablePasswordPolicy: Mengaktifkan kebijakan sandi saat disetel ke true.

    Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan PATCH dengan null sebagai nilai untuk enablePasswordPolicy. Dalam kasus ini, parameter kebijakan sandi lainnya akan diatur ulang.

  • minLength: Menentukan jumlah karakter minimum yang harus dimiliki sandi.
  • complexity: Memeriksa apakah sandi merupakan kombinasi karakter huruf kecil, huruf besar, angka, dan non-alfanumerik. Nilai defaultnya adalah COMPLEXITY_DEFAULT.
  • reuseInterval: Menentukan jumlah sandi sebelumnya yang tidak dapat digunakan kembali.

    Hanya didukung di Cloud SQL untuk MySQL 8.0 dan yang lebih baru.

  • disallowUsernameSubstring: Mencegah penggunaan nama pengguna dalam sandi saat ditetapkan ke true.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "dataCacheConfig" {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "backupConfiguration": {
      "binaryLogEnabled": true,
      "enabled": true
    },
    "passwordValidationPolicy": {
      "enablePasswordPolicy": true
      "minLength": "MIN_LENGTH",
      "complexity": COMPLEXITY_DEFAULT,
      "reuseInterval": "REUSE_INTERVAL",
      "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
    }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true,
      "serverCaMode": "CA_MODE"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "[email protected]",
  "insertTime": "2019-09-25T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Memperbarui sandi root

Ketika instance selesai melakukan inisialisasi, perbarui sandi root:

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • project-id: project ID Anda.
  • instance-id: ID instance yang dibuat di langkah sebelumnya
  • root-password: sandi root yang diinginkan

Metode HTTP dan URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root

Meminta isi JSON:

{
  "name": "root",
  "host": "%",
  "password": "root-password"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "insertTime": "2019-09-26T14:32:30.592Z",
  "startTime": "2019-09-26T14:32:30.594Z",
  "endTime": "2019-09-26T14:32:33.518Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Responsnya adalah operasi yang berjalan lama, yang mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Mengambil alamat IPv4

Ambil alamat IPv4 yang ditetapkan secara otomatis untuk instance baru:

Sebelum menggunakan data permintaan lain, buat pengganti berikut:

  • project-id: project ID Anda.
  • instance-id: ID instance yang dibuat di langkah sebelumnya

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0_18",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "us-west1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "18:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "1",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "[email protected]",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "us-west1",
  "gceZone": "us-west1-a"
}

Cari kolom ipAddress dalam respons.

Untuk melihat cara permintaan REST API yang mendasarinya dibuat untuk tugas ini, lihat APIs Explorer pada halaman instances:insert.

Membuat endpoint tulis

Jika Anda berencana membuat instance edisi Cloud SQL Enterprise Plus, dan Anda ingin Cloud SQL membuat endpoint tulis secara otomatis untuk instance tersebut, aktifkan Cloud DNS API untuk project Google Cloud Anda.

Jika Anda sudah memiliki instance edisi Cloud SQL Enterprise Plus dan ingin Cloud SQL membuat endpoint tulis secara otomatis, buat replika yang diaktifkan untuk pemulihan dari bencana lanjutan.

Endpoint operasi tulis adalah nama layanan nama domain (DNS) global yang secara otomatis me-resolve ke alamat IP instance utama saat ini. Endpoint ini mengalihkan koneksi masuk ke instance utama baru secara otomatis jika terjadi operasi failover atau pengalihan replika. Anda dapat menggunakan endpoint tulis dalam string koneksi SQL, bukan alamat IP. Dengan menggunakan endpoint tulis, Anda dapat menghindari perlunya melakukan perubahan koneksi aplikasi saat terjadi pemadaman layanan regional.

Untuk mengetahui informasi selengkapnya tentang cara mendapatkan endpoint tulis untuk instance, lihat Melihat informasi instance. Untuk mengetahui informasi selengkapnya tentang cara menggunakan endpoint tulis untuk terhubung ke instance, lihat Terhubung menggunakan endpoint tulis.

Menentukan versi minor database untuk MySQL 8.0

Anda dapat menentukan versi minor dari instance MySQL 8.0 yang ada dengan menggunakan gcloud atau REST API.

gcloud

Gunakan perintah gcloud sql instances create dengan tanda --database-version.

Ganti variabel berikut sebelum menjalankan perintah:

  • INSTANCE_NAME: nama instance
  • DATABASE_VERSION: Versi minor database dari instance: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31 (versi minor default untuk MySQL 8.0), MYSQL_8_0_32, MYSQL_8_0_33, MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, atau MYSQL_8_0_39. Jika Anda menentukan MYSQL_8_0, versi minor default akan digunakan.

    Jika Anda tidak menentukan tanda ini, versi utama default, MYSQL_8_0, akan digunakan.

gcloud sql instances create INSTANCE_NAME \
--database-version=DATABASE_VERSION

Untuk informasi selengkapnya, lihat dokumentasi membuat instance menggunakan gcloud.

REST v1

Gunakan permintaan POST dengan metode instances:insert dan tanda databaseVersion.

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
Sebelum menggunakan data permintaan apa pun, ganti variabel berikut:
  • project_id: ID project.
  • instance_id: nama instance
  • databaseVersion: Versi database instance: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31 (versi minor default untuk MySQL 8.0), MYSQL_8_0_32, MYSQL_8_0_33, MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, atau MYSQL_8_0_39. Jika Anda menentukan MYSQL_8_0, sebagai versi, versi minor default akan digunakan. Jika Anda tidak menentukan flag databaseVersion, versi utama default, MYSQL_8_0, akan digunakan.

Untuk informasi selengkapnya, baca dokumentasi tentang membuat instance menggunakan REST v1 API.

REST v1beta4

Gunakan permintaan POST dengan metode instances:insert dan tanda databaseVersion.

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances

Sebelum menggunakan data permintaan apa pun, ganti variabel berikut:

  • project_id: ID project.
  • instance_id: nama instance
  • databaseVersion: Versi database instance: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31 (versi minor default untuk MySQL 8.0), MYSQL_8_0_32, MYSQL_8_0_33. MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, atau MYSQL_8_0_39. Jika Anda menentukan MYSQL_8_0, versi minor default akan digunakan. Jika Anda tidak menentukan flag databaseVersion, versi utama default, MYSQL_8_0, akan digunakan.

Untuk informasi selengkapnya, lihat dokumentasi tentang membuat instance menggunakan REST v1beta4 API.

Versi minor database untuk replika baca, clone, dan PITR

Saat membuat replika baca, Anda dapat menentukan versi minor database dari replika baca. Secara default, replika baca baru dibuat pada versi minor default.

Saat meng-clone instance, instance yang baru dibuat memiliki versi minor yang sama dengan versi sumber.

Saat menjalankan pemulihan point-in-time, instance yang baru dibuat memiliki versi minor database yang sama dengan versi minor sumber.

Konfigurasi instance kustom

Menentukan memori dan inti virtual yang tersedia untuk instance Cloud SQL Anda. Ketersediaan jenis mesin ditentukan oleh edisi Cloud SQL Anda.

Untuk workload yang memerlukan pemrosesan real-time, seperti pemrosesan transaksi online (OLTP), pastikan instance Anda memiliki cukup memori untuk memuat seluruh set pekerjaan. Namun, ada faktor lain yang dapat memengaruhi persyaratan memori, seperti jumlah koneksi aktif, dan proses overhead internal. Anda harus melakukan pengujian beban untuk menghindari masalah performa di lingkungan produksi.

Saat mengonfigurasi instance, pilih memori dan vCPU yang cukup untuk menangani workload Anda, dan upgrade seiring peningkatan beban kerja. Konfigurasi mesin dengan vCPU yang tidak memadai dapat kehilangan cakupan SLA-nya. Untuk informasi selengkapnya, lihat Panduan operasional.

Jenis mesin untuk instance edisi Cloud SQL Enterprise Plus

Untuk instance edisi Cloud SQL Enterprise Plus, jenis mesin telah ditetapkan sebelumnya sebagai berikut:

Jenis mesin Enterprise plus vCPU Memori (GB) SSD Lokal
db-perf-optimized-N-2 2 16 375
db-perf-optimized-N-4 4 32 375
db-perf-optimized-N-8 8 64 375
db-perf-optimized-N-16 16 128 750
db-perf-optimized-N-32 32 256 1500
db-perf-optimized-N-48 48 384 3000
db-perf-optimized-N-64 64 512 6000
db-perf-optimized-N-80 80 640 6000
db-perf-optimized-N-96 96 768 6000
db-perf-optimized-N-128 128 864 9000

Jenis mesin untuk instance edisi Cloud SQL Enterprise

Untuk instance edisi Cloud SQL Enterprise, Anda juga dapat membuat konfigurasi instance kustom menggunakan perintah gcloud sql instances create. Dengan konfigurasi instance kustom, Anda dapat memilih jumlah memori dan CPU yang diperlukan instance. Fleksibilitas ini memungkinkan Anda memilih bentuk VM yang sesuai dengan workload Anda.

Nama jenis mesin menggunakan format berikut: db-custom-#-#

Ganti placeholder # pertama dengan jumlah CPU dalam mesin, dan placeholder # kedua dengan jumlah memori di mesin.

Misalnya, jika nama mesin Anda adalah db-custom, dan komputer Anda memiliki 1 CPU dan RAM 3840 MB, format mesin tersebut adalah db-custom-1-3840.

Saat memilih jumlah CPU dan jumlah memori, ada beberapa batasan pada konfigurasi yang Anda pilih:

  • vCPU harus berupa 1 atau bilangan genap antara 2 dan 96.
  • Memori harus:
    • 0,9 hingga 6,5 GB per vCPU
    • Kelipatan 256 MB
    • Setidaknya 3,75 GB (3840 MB)

Tabel berikut berisi daftar nama setiap jenis mesin lama, jumlah CPU dan RAM untuk setiap jenis mesin, serta string yang dihasilkan untuk jenis mesin tersebut.

Anda dapat membuat jenis mesin yang setara dengan menentukan CPU dan RAM yang setara di Google Cloud Console, dengan menggunakan gcloud CLI, atau dengan menentukan db-custom-#-# di API.

Jenis mesin lama vCPU Memori (MB) string db-custom-CPU-RAM (string tingkat API)
db-n1-standard-1 1 3840 db-custom-1-3840
db-n1-standard-2 2 7680 db-custom-2-7680
db-n1-standard-4 4 15360 db-custom-4-15360
db-n1-standard-8 8 30720 db-custom-8-30720
db-n1-standard-16 16 61440 db-custom-16-61440
db-n1-standard-32 32 122880 db-custom-32-122880
db-n1-standard-64 64 245760 db-custom-64-245760
db-n1-standard-96 96 368640 db-custom-96-368640
db-n1-highmem-2 2 13312 db-custom-2-13312
db-n1-highmem-4 4 26624 db-custom-4-26624
db-n1-highmem-8 8 53248 db-custom-8-53248
db-n1-highmem-16 16 106496 db-custom-16-106496
db-n1-highmem-32 32 212992 db-custom-32-212992
db-n1-highmem-64 64 425984 db-custom-64-425984
db-n1-highmem-96 96 638976 db-custom-96-638976

Memecahkan masalah

Masalah Pemecahan masalah
Pesan error: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider. Tidak ada lagi alamat yang tersedia dalam rentang IP yang dialokasikan. Ada beberapa kemungkinan skenario:

  • Ukuran rentang IP yang dialokasikan untuk koneksi layanan pribadi lebih kecil dari /24.
  • Ukuran rentang IP yang dialokasikan untuk koneksi layanan pribadi terlalu kecil untuk jumlah instance Cloud SQL.
  • Persyaratan ukuran rentang IP yang dialokasikan akan lebih besar jika instance dibuat di beberapa region. Lihat ukuran rentang yang dialokasikan

Untuk mengatasi masalah ini, Anda dapat memperluas rentang IP yang dialokasikan atau mengalokasikan rentang IP tambahan ke koneksi layanan pribadi. Untuk informasi selengkapnya, lihat Mengalokasikan rentang alamat IP.

Jika menggunakan tanda --allocated-ip-range-name saat membuat instance Cloud SQL, Anda hanya dapat memperluas rentang IP yang ditentukan.

Jika Anda mengalokasikan rentang baru, pastikan alokasinya tidak tumpang tindih dengan alokasi yang ada.

Setelah membuat rentang IP baru, perbarui peering vpc dengan perintah berikut:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
    

Jika Anda memperluas alokasi yang sudah ada, pastikan untuk hanya menambah rentang alokasi dan tidak menguranginya. Misalnya, jika alokasi asli adalah 10.0.10.0/24, buat alokasi baru dengan minimal 10.0.10.0/23.

Secara umum, jika dimulai dari alokasi /24, mengurangi /mask sebesar 1 untuk setiap kondisi (grup jenis instance tambahan, region tambahan) adalah aturan praktis yang baik. Misalnya, jika mencoba membuat kedua grup jenis instance pada alokasi yang sama, beralih dari /24 ke /23 sudah cukup.

Setelah memperluas rentang IP yang ada, perbarui peering vpc dengan perintah berikut:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID
    
Pesan error: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Coba buat instance Cloud SQL lagi.
Pesan error: Failed to create subnetwork. Required 'compute.projects.get' permission for PROJECT_ID. Saat Anda membuat instance menggunakan alamat IP Pribadi, akun layanan akan dibuat tepat waktu menggunakan Service Networking API. Jika Anda baru saja mengaktifkan Service Networking API, akun layanan mungkin tidak dibuat dan pembuatan instance akan gagal. Dalam hal ini, Anda harus menunggu akun layanan diterapkan di seluruh sistem atau menambahkannya secara manual dengan izin yang diperlukan.

Langkah selanjutnya

  1. Buat database pada instance.
  2. Buat pengguna MySQL pada instance.
  3. Amankan dan kontrol akses ke instance.
  4. Menghubungkan ke instance dengan klien MySQL.
  5. Impor data ke database.