Menyiapkan nama DNS kustom untuk instance Cloud SQL

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:

  1. Buat instance yang dikonfigurasi dengan CA yang dikelola pelanggan.
  2. Tambahkan nilai SAN kustom ke instance. Nilai SAN kustom disisipkan ke dalam kolom SAN sertifikat server instance.
  3. Tentukan alamat IP instance.
  4. Buat data DNS kustom untuk instance Anda.
  5. 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 dengan enum 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
Perhatian: Jika Anda mengupdate instance yang sudah memiliki nilai SAN kustom, tentukan nilai SAN kustom yang ada atau nilai yang ada akan diganti.

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:

  1. 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
  2. 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.

  3. 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 data TXT untuk mencari nama koneksi instance.

    Misalnya, string koneksi untuk instance Anda adalah my-project:region:my-instance, tetapi Anda ingin terhubung menggunakan nama DNS prod-db.mycompany.example.com. Jika alamat IP instance di jaringan perusahaan Anda adalah 192.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
    

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. Driver klien PostgreSQL lainnya memiliki flag konfigurasi yang serupa.

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