Halaman ini menjelaskan cara menyiapkan nama sistem nama domain (DNS) kustom untuk instance Cloud SQL Anda.
Ringkasan
Anda dapat mengonfigurasi instance Cloud SQL agar aplikasi dapat terhubung menggunakan nama DNS kustom yang dikelola oleh organisasi Anda. Jika Anda ingin menggunakan nama DNS kustom untuk terhubung ke instance Cloud SQL, bukan menggunakan alamat IP, konfigurasikan nama alternatif subjek (SAN) kustom. Anda dapat mengonfigurasi SAN kustom saat membuat atau memperbarui instance.
Saat Anda menambahkan nama DNS kustom sebagai konfigurasi SAN kustom ke instance, Cloud SQL akan menyisipkan nama DNS kustom ke kolom SAN sertifikat server instance. Penyesuaian ini
memungkinkan Anda menggunakan nama DNS kustom dengan validasi nama host secara aman.
Anda dapat menambahkan daftar yang dipisahkan koma hingga tiga nama DNS kustom ke
konfigurasi SAN kustom. Untuk alasan keamanan, Anda hanya dapat menggunakan konfigurasi SAN kustom
untuk instance yang
dikonfigurasi dengan CUSTOMER_MANAGED_CAS_CA
sebagai mode CA server.
Setelah mengonfigurasi nama DNS kustom untuk instance, Anda dapat menggunakan nama DNS kustom tersebut untuk menghubungkan klien atau aplikasi database, termasuk Cloud SQL Language Connectors dan Proxy Auth Cloud SQL.
Alur kerja
Untuk menyiapkan nama DNS kustom untuk instance, lakukan hal berikut:
- Buat instance yang dikonfigurasi dengan CA yang dikelola pelanggan.
- Tambahkan nilai SAN kustom ke instance. Nilai SAN kustom disisipkan ke dalam kolom SAN sertifikat server instance.
- Tentukan alamat IP instance.
- Buat data DNS kustom untuk instance Anda.
- Hubungkan ke instance menggunakan nama DNS kustom.
Sebelum memulai
Sebelum menyiapkan nama DNS kustom untuk instance, pastikan Anda memiliki peran dan izin yang diperlukan.
Jika Anda membuat instance Cloud SQL baru, untuk menggunakan SAN kustom, instance Anda juga harus menggunakan otoritas sertifikasi (CA) yang dikelola pelanggan untuk mode CA servernya.
Membuat instance dengan nilai SAN kustom
Untuk membuat instance dengan nilai SAN kustom, gunakan perintah gcloud sql instances create
berikut:
gcloud
gcloud sql instances create "INSTANCE_NAME" \ --database-version=DATABASE_VERSION \ --project=PROJECT_ID \ --region=REGION \ --server-ca-mode=CUSTOMER_MANAGED_CAS_CA \ --server-ca-pool=projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID --custom-subject-alternative-names=CUSTOM_DNS_NAME
Lakukan penggantian berikut:
INSTANCE_NAME
dengan nama instance Cloud SQL yang ingin Anda buat.DATABASE_VERSION
denganenum
versi instance Cloud SQL yang ingin Anda buat.PROJECT_ID
dengan ID project tempat Anda berencana membuat instance Cloud SQL.PROJECT_ID_CAS
dengan ID project tempat Anda membuat CA_POOL_ID. Project ini mungkin sama atau berbeda dengan tempat Anda ingin membuat instance Cloud SQL.REGION
dengan region tempat Anda membuat kumpulan CA. Anda harus membuat instance di region yang sama dengan kumpulan CA.CA_POOL_ID
dengan ID kumpulan CA yang Anda buat.CUSTOM_DNS_NAME
dengan maksimal tiga nama DNS kustom, dipisahkan koma tanpa spasi di antara nilai. Contoh,develop.example.com,test.example.com,production.example.com
.
Menambahkan atau memperbarui nilai SAN kustom untuk instance
Untuk menambahkan atau memperbarui nilai SAN kustom untuk instance yang ada, lakukan tindakan berikut:
gcloud
gcloud sql instances patch INSTANCE_NAME \ --custom-subject-alternative-names=CUSTOM_DNS_NAME
Lakukan penggantian berikut:
INSTANCE_NAME
dengan nama instance Cloud SQL yang ingin Anda perbarui.CUSTOM_DNS_NAME
dengan maksimal tiga nama DNS kustom, dipisahkan koma tanpa spasi di antara nilai. Contoh,develop.example.com,new-test.example.com,production.example.com
.
Menghapus semua nilai SAN kustom dari instance
Untuk menghapus semua nilai SAN kustom dari instance, lakukan hal berikut:
gcloud
gcloud sql instances patch INSTANCE_NAME \ --clear-custom-subject-alternative-names
Ganti INSTANCE_NAME
dengan nama instance Cloud SQL yang ingin Anda perbarui.
Membuat data DNS kustom
Sebelum Anda dapat terhubung ke instance menggunakan nama DNS kustom dengan klien dan aplikasi, siapkan pemetaan antara nama DNS dan alamat IP. Pemetaan ini dikenal sebagai resolusi DNS. Jika Anda terhubung secara pribadi, maka buat data DNS di zona DNS pribadi di jaringan Virtual Private Cloud (VPC) yang sesuai.
Untuk membuat data DNS kustom untuk instance Anda, lakukan hal berikut:
Ambil alamat IP untuk instance Anda. Jalankan perintah berikut:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
Lakukan penggantian berikut:
- INSTANCE_NAME: nama instance Cloud SQL
- PROJECT_ID: ID atau nomor project dari project Google Cloud yang berisi instance
Dalam respons, cari kolom
ipAddresses:
.Contoh:
ipAddresses: - ipAddress: 192.0.2.4 type: PRIVATE
Anda dapat mengambil alamat IP pribadi untuk instance yang dikonfigurasi untuk akses layanan pribadi, Private Service Connect, atau keduanya.
Tambahkan dua data DNS ke zona DNS yang digunakan oleh aplikasi Anda. Anda dapat menggunakan server DNS yang Anda kelola sendiri atau zona pribadi Cloud DNS yang digunakan oleh aplikasi Anda.
- Membuat data
A
untuk alamat IP instance - Buat data
TXT
yang berisi nama koneksi instance.
Klien database standar menggunakan data
A
untuk mencari alamat IP guna membuat koneksi. Cloud SQL Language Connectors dan Proxy Auth Cloud SQL menggunakan dataTXT
untuk mencari nama koneksi instance.Misalnya, string koneksi untuk instance Anda adalah
my-project:region:my-instance
, tetapi Anda ingin terhubung menggunakan nama DNSprod-db.mycompany.example.com
. Jika alamat IP instance di jaringan perusahaan Anda adalah192.0.2.4
, buat data DNS berikut:Record type: A Name: prod-db.mycompany.example.com Value: 192.0.2.4 TTL: 600 Record type: TXT Name: prod-db.mycompany.example.com Value: my-project:region:my-instance TTL: 600
- Membuat data
Menghubungkan ke instance menggunakan nama DNS kustom
Saat Anda terhubung ke instance Cloud SQL untuk PostgreSQL, konfigurasikan nama DNS kustom sebagai nama host dan aktifkan verifikasi identitas server di klien Anda.Misalnya, saat menggunakan klien psql
, tentukan flag
sslmode=verify-full
Jika Anda terhubung ke instance Cloud SQL pribadi dari jaringan eksternal, Anda harus mengonfigurasi instance Cloud SQL dan jaringan Virtual Private Cloud (VPC)-nya untuk mengizinkan koneksi eksternal dan mengizinkan Cloud DNS berkomunikasi dengan sistem lokal. Untuk informasi selengkapnya tentang konfigurasi ini, lihat Menghubungkan dari sumber eksternal dan Mengonfigurasi DNS untuk sistem lokal.
Batasan
- Anda tidak dapat menambahkan lebih dari tiga nama DNS sebagai nilai SAN kustom ke sertifikat server instance Cloud SQL.
- Panjang maksimum nama DNS yang dapat Anda tambahkan ke sertifikat sebagai nilai SAN kustom untuk instance adalah 253 karakter.
- Nama DNS yang Anda tambahkan ke sertifikat untuk instance tidak boleh memiliki karakter karakter pengganti (
*
) atau titik di akhir. Misalnya,test.example.com.
tidak diizinkan. - Nama DNS harus valid, seperti yang ditentukan oleh RFC 1034.
- Anda hanya dapat menentukan nilai SAN kustom untuk instance
CUSTOMER_MANAGED_CAS_CA
.
Langkah berikutnya
- Kelola sertifikat SSL/TLS di instance Cloud SQL.
- Pelajari lebih lanjut cara penanganan enkripsi di Google Cloud.
- Hubungkan ke instance Cloud SQL Anda menggunakan sertifikat SSL/TLS.
- Pelajari lebih lanjut cara PostgreSQL menggunakan sertifikat SSL/TLS.