Halaman ini menjelaskan cara membuat instance Cloud SQL untuk PostgreSQL.
Untuk mengetahui informasi mendetail tentang semua setelan instance, lihat Setelan instance.
Instance yang baru dibuat memiliki database postgres
.
Sebelum memulai
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Pastikan Anda memiliki peran Admin Cloud SQL dan Compute Viewer di
akun pengguna.
Pelajari lebih lanjut tentang peran dan perizinan
Buat instance PostgreSQL
Konsol
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Klik Create instance.
- Di panel Choose your database engine pada halaman Create an instance, klik Choose PostgreSQL.
- 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).
- Masukkan sandi untuk pengguna
postgres
. Opsional: Konfigurasikan kebijakan sandi untuk instance sebagai berikut:
- Centang kotak Aktifkan kebijakan sandi.
- 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 Anda gunakan kembali.
- Larang nama pengguna: Mencegah penggunaan nama pengguna dalam sandi.
- Tetapkan interval perubahan sandi: Menentukan jumlah jam minimum yang diperlukan untuk mengubah sandi.
- Pilih versi database untuk instance Anda: PostgreSQL 17, PostgreSQL 16 (default), PostgreSQL 15, PostgreSQL 14, PostgreSQL
13, PostgreSQL 12, PostgreSQL 11, PostgreSQL 10, atau PostgreSQL
9.6.
Versi database tidak dapat diedit setelah instance dibuat.
- .Pilih edisi Cloud SQL untuk instance Anda:
Enterprise
atauEnterprise plus
. Untuk mengetahui informasi selengkapnya tentang edisi Cloud SQL, lihat Pengantar edisi Cloud SQL. - 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 ke
Any
untuk zona utama danAny (different from primary)
untuk zona sekunder. - Jika zona utama dan sekunder ditentukan, keduanya harus berada di zona yang berbeda.
- Zona secara default ditetapkan ke
- 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 Google Opsi 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.- Perluas Opsi tampilkan rentang IP yang dialokasikan.
- Pilih rentang IP dari menu drop-down.
Instance Anda dapat memiliki alamat IP publik dan pribadi.
- Pelajari lebih lanjut cara menggunakan IP pribadi.
- Pelajari lebih lanjut rentang alamat IP yang dialokasikan.
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 Anda Pilih 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 disimpan Jumlah 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 LABEL Tambahkan 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 PostgreSQL Enterprise Plus. Untuk mengetahui informasi selengkapnya tentang cache data, lihat cache data. -
Klik Create Instance.
Catatan: Mungkin diperlukan waktu beberapa menit untuk membuat instance. Namun, Anda dapat melihat informasi tentang instance saat sedang dibuat.
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.
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.
- Gunakan perintah
gcloud sql instances create
untuk membuat instance: - 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)
- 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 menggunakan parameter
--no-assign-ip
. - Gunakan parameter
--network
untuk menentukan nama jaringan VPC yang ingin Anda gunakan untuk membuat koneksi pribadi. 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 (CA Service) akan digunakan. CA server bawahan di region menandatangani sertifikat server dan dibagikan di seluruh instance di region.- Zona harus berupa zona yang valid.
- Jika zona sekunder ditentukan, zona utama juga harus ditentukan.
- 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 Anda untuk terhubung ke instance.
- Setel sandi untuk pengguna
postgres
:gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --password=PASSWORD
Untuk instance edisi Cloud SQL Enterprise Plus:
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --region=REGION \ --tier=TIER \ --edition=ENTERPRISE_PLUS
Untuk instance edisi Cloud SQL Enterprise:
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --region=REGION \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --edition=ENTERPRISE
--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:
Misalnya, perintah berikut membuat instance edisi Cloud SQL Enterprise dengan dua vCPU dan memori 7.680 MB:
gcloud sql instances create myinstance \ --database-version=POSTGRES_16 \ --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=POSTGRES_16 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
--cpu
dan --memory
.
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:
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 Anda gunakan kembali. |
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. |
Atur interval perubahan sandi | --password-policy-password-change-interval |
Menentukan durasi minimum yang setelahnya Anda dapat mengubah sandi, misalnya, 2 mnt selama 2 menit. |
Konektivitas | ||
IP Pribadi | --network
|
--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 ).
Parameter ini hanya valid jika: |
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 |
|
Parameter Parameter |
Mode CA server | --server-ca-mode |
Flag Penggunaan flag |
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:
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. |
Pemulihan point-in-time | --enable-point-in-time recovery |
Mengaktifkan pemulihan point-in-time dan logging tulis di depan. Pelajari lebih lanjut. |
Setelan retensi untuk logging biner | --retained-transaction-log-days |
Jumlah hari untuk menyimpan log write-ahead 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 flag database lebih lanjut. |
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.
|
Integrasi dengan Vertex AI | ||
--enable-google-ml-integration |
Memungkinkan instance Cloud SQL terhubung ke Vertex AI untuk meneruskan permintaan prediksi real-time dan insight ke AI. | |
--database-flags cloudsql.enable_google_ml_integration=on |
Dengan mengaktifkan flag ini, Cloud SQL dapat terintegrasi dengan Vertex AI. |
Terraform
Untuk membuat instance, gunakan resource Terraform.
Menerapkan perubahan
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
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).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
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
-
Tinjau konfigurasi dan pastikan resource yang akan dibuat atau
diupdate oleh Terraform sesuai yang Anda inginkan:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada prompt:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- 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:
- Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan
argumen
deletion_protection
kefalse
.deletion_protection = "false"
- Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan
memasukkan
yes
pada prompt:terraform apply
-
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
- REGION: Region
- DATABASE_VERSION: string enum versi database (misalnya,
POSTGRES_16
) - PASSWORD: sandi untuk pengguna root
- MACHINE_TYPE: string enum jenis (tingkat) mesin, seperti:
db-custom-[CPUS]-[MEMORY_MBS]
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
atauGOOGLE_MANAGED_CAS_CA
. Jika Anda tidak menentukanserverCaMode
, konfigurasi defaultnya adalahGOOGLE_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 ketrue
.Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan
PATCH
dengannull
sebagai nilai untukenablePasswordPolicy
. 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 adalahCOMPLEXITY_DEFAULT
.reuseInterval
: Menentukan jumlah sandi sebelumnya yang tidak dapat Anda gunakan kembali.disallowUsernameSubstring
: Mencegah penggunaan nama pengguna dalam sandi ketika ditetapkan ketrue
.passwordChangeInterval
: Menentukan durasi minimum setelah Anda dapat mengubah sandi. Nilai dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengans
. Misalnya,3.5s
.
Untuk membuat instance agar dapat berintegrasi dengan Vertex AI, sertakan objek enableGoogleMlIntegration dalam permintaan. Integrasi ini memungkinkan Anda menerapkan model bahasa besar (LLM), yang dihosting di Vertex AI, ke database Cloud SQL untuk PostgreSQL.
Tetapkan parameter berikut, jika diperlukan:
enableGoogleMlIntegration
: jika parameter ini ditetapkan ketrue
, instance Cloud SQL dapat terhubung ke Vertex AI untuk meneruskan permintaan prediksi real-time dan insight ke AIcloudsql.enable_google_ml_integration
: jika parameter ini ditetapkan keon
, Cloud SQL dapat berintegrasi dengan Vertex AI
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", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "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": "user@example.com", "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.
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": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "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
- REGION: Region
- DATABASE_VERSION: string enum versi database (misalnya,
POSTGRES_16
) - PASSWORD: sandi untuk pengguna root
- MACHINE_TYPE: string enum jenis (tingkat) mesin, seperti:
db-custom-[CPUS]-[MEMORY_MBS]
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 Anda gunakan 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
atauGOOGLE_MANAGED_CAS_CA
. Jika Anda tidak menentukanserverCaMode
, konfigurasi defaultnya adalahGOOGLE_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 ketrue
.Untuk menghapus kebijakan sandi, Anda dapat menggunakan permintaan
PATCH
dengannull
sebagai nilai untukenablePasswordPolicy
. 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 adalahCOMPLEXITY_DEFAULT
.reuseInterval
: Menentukan jumlah sandi sebelumnya yang tidak dapat Anda gunakan kembali.disallowUsernameSubstring
: Mencegah penggunaan nama pengguna dalam sandi ketika ditetapkan ketrue
.passwordChangeInterval
: Menentukan durasi minimum setelah Anda dapat mengubah sandi. Nilai dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengans
. Misalnya,3.5s
.
Untuk membuat instance agar dapat berintegrasi dengan Vertex AI, sertakan objek enableGoogleMlIntegration dalam permintaan. Integrasi ini memungkinkan Anda menerapkan model bahasa besar (LLM), yang dihosting di Vertex AI, ke database Cloud SQL untuk PostgreSQL.
Tetapkan parameter berikut, jika diperlukan:
enableGoogleMlIntegration
: jika parameter ini ditetapkan ketrue
, instance Cloud SQL dapat terhubung ke Vertex AI untuk meneruskan permintaan prediksi real-time dan insight ke AIcloudsql.enable_google_ml_integration
: jika parameter ini ditetapkan keon
, Cloud SQL dapat berintegrasi dengan Vertex AI
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", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "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": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "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.
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": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "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.
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.
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:
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 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
- Buat database PostgreSQL pada instance.
- Buat pengguna PostgreSQL pada instance.
- Amankan dan kontrol akses ke instance.
- Hubungkan ke instance dengan klien PostgreSQL.
- Impor data ke database.