All Products
Search
Document Center

ApsaraDB RDS:Konfigurasikan sertifikat kustom

Last Updated:Aug 19, 2026

ApsaraDB RDS for PostgreSQL mendukung enkripsi SSL baik dengan sertifikat yang dikelola Alibaba Cloud maupun sertifikat kustom. Gunakan sertifikat kustom jika Anda perlu mengontrol certificate authority (CA) atau melindungi beberapa endpoint dengan Subject Alternative Names (SANs).

Topik ini menjelaskan cara menghasilkan sertifikat kustom menggunakan OpenSSL dan mengonfigurasikannya pada instans RDS Anda.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans RDS yang menjalankan PostgreSQL 10 atau versi lebih baru dengan cloud disk. Instans RDS Serverless tidak didukung.

  • OpenSSL terinstal. Linux menyertakan OpenSSL secara default. Di Windows, unduh dan instal dari halaman Win32/Win64 OpenSSL.

Catatan penggunaan

  • Mengaktifkan enkripsi SSL meningkatkan pemanfaatan CPU dan latensi baca/tulis.

  • Setelah mengaktifkan enkripsi SSL, tutup koneksi yang ada dan buat koneksi baru agar perubahan berlaku.

  • Operasi berikut memicu restart instans RDS, yang memerlukan waktu sekitar 3 menit. Lakukan operasi ini selama jam sepi:

    • Mengonfigurasi sertifikat kustom

    • Memodifikasi sertifikat kustom yang sudah ada

    • Menonaktifkan enkripsi SSL

Langkah 1: Hasilkan file sertifikat

Peringatan

Jangan aktifkan enkripsi password saat membuat kunci privat untuk sertifikat server atau sertifikat tanda tangan sendiri. Kunci privat yang dienkripsi dengan password mencegah diaktifkannya enkripsi SSL.

Perintah berikut menggunakan CentOS sebagai contoh. Di Windows, jalankan perintah openssl yang sama, tetapi gunakan copy dan editor teks alih-alih cp dan vim.

Endpoint tunggal

Jalankan ketiga perintah berikut secara berurutan:

# 1. Buat sertifikat CA tanda tangan sendiri dan kunci privatnya
openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-server-ca"

# 2. Buat permintaan penandatanganan sertifikat (CSR) dan kunci privat untuk sertifikat server
#    Ganti nilai CN dengan endpoint yang ingin Anda lindungi
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=pgm-bpxxxxx.pg.rds.aliyuncs.com"

# 3. Tandatangani CSR dengan CA untuk menghasilkan sertifikat server
openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt

Untuk menemukan endpoint yang digunakan dalam nilai CN, lihat Lihat dan ubah endpoint serta nomor port instans ApsaraDB RDS for PostgreSQL.

Beberapa endpoint (Subject Alternative Names)

Untuk melindungi beberapa endpoint, sertakan semuanya sebagai Subject Alternative Names (SANs) dalam sertifikat.

# 1. Buat sertifikat CA tanda tangan sendiri dan kunci privatnya
openssl req -new -x509 -days 365 -nodes -out server-ca.crt -keyout server-ca.key -subj "/CN=root-server-ca"

# 2. Salin konfigurasi OpenSSL default ke file sementara
cp /etc/pki/tls/openssl.cnf /tmp/openssl.cnf
Di Windows, file openssl.cnf berada di direktori \bin\cnf di bawah folder instalasi OpenSSL Anda. Salin ke direktori mana pun yang Anda inginkan.

Buka /tmp/openssl.cnf dengan editor teks dan tambahkan konten berikut:

# Tambahkan di akhir bagian [ req ]
req_extensions = v3_req

# Tambahkan bagian baru [ v3_req ]
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

# Tambahkan bagian baru [ alt_names ] — cantumkan setiap endpoint sebagai entri DNS
[ alt_names ]
DNS.1 = pgm-bpxxxxx.pg.rds.aliyuncs.com
DNS.2 = pgm-bpyyyyy.pg.rds.aliyuncs.com

Kemudian hasilkan CSR dan sertifikat server:

# 3. Buat CSR dan kunci privat server menggunakan konfigurasi yang telah diperbarui
openssl req -new -nodes -text -out server.csr -keyout server.key -config /tmp/openssl.cnf

# 4. Tandatangani CSR dengan CA, termasuk ekstensi SAN
openssl x509 -req -in server.csr -text -days 365 -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt -extensions v3_req -extfile /tmp/openssl.cnf

Saat menjalankan langkah 3, OpenSSL akan meminta parameter CSR. Tabel berikut menjelaskan setiap bidang.

Parameter Deskripsi Contoh
Country Name Kode negara ISO 3166 dua huruf CN
State or Province Name Provinsi atau negara bagian ZheJiang
Locality Name Kota HangZhou
Organization Name Nama perusahaan Alibaba
Organizational Unit Name Nama departemen Aliyun
Common Name Biarkan kosong — nama domain ditentukan dalam openssl.cnf
Email Address Biarkan kosong
A challenge password Biarkan kosong
An optional company name Biarkan kosong

Verifikasi output

Setelah perintah selesai, jalankan ls untuk memastikan semua file yang diperlukan tersedia:

server-ca.crt  server-ca.key  ca.srl  server.crt  server.csr  server.key

Tabel berikut menjelaskan setiap file dan perannya dalam SSL:

File Isi Tujuan
server.crt Sertifikat server Dikirim ke klien untuk mengidentifikasi server
server.key Kunci privat dari sertifikat server Membuktikan bahwa server memiliki sertifikat tersebut
server-ca.crt Sertifikat CA tanda tangan sendiri Digunakan oleh klien untuk memverifikasi sertifikat server
server-ca.key Kunci privat dari sertifikat CA Digunakan untuk menandatangani sertifikat server

Langkah 2: Aktifkan enkripsi SSL dengan sertifikat kustom

Setelah Anda mengonfigurasi sertifikat kustom, status instans berubah dari Running menjadi Modifying SSL dan kembali ke Running dalam waktu sekitar 3 menit.
  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans Anda berada. Klik ID instans.

  2. Di panel navigasi kiri, klik Data Security. Pada halaman yang muncul, klik tab SSL.

  3. Atur Select Certificate Source ke Custom Certificate. Klik Configuration di samping Configure Database Certificate (to Prevent Database Disguise).

  4. Pada kotak dialog, tempel isi file ke bidang yang sesuai. Salin seluruh isi setiap file, termasuk baris header dan footer. Klik OK. Jika sertifikat Anda mencakup beberapa endpoint, setiap endpoint akan muncul sebagai catatan terpisah di Protected Host.

    Bidang File Rentang konten
    Server Certificate server.crt Dari -----BEGIN CERTIFICATE----- hingga -----END CERTIFICATE-----
    Private Key of Server Certificate server.key Dari -----BEGIN PRIVATE KEY----- hingga -----END PRIVATE KEY-----

    使用自定义证书

    使用自定义证书

Langkah 3: Hubungkan ke instans melalui SSL

Anda dapat menghubungkan ke instans RDS dari klien melalui SSL. Untuk informasi selengkapnya, lihat Hubungkan ke instans ApsaraDB RDS for PostgreSQL melalui SSL.

Langkah 4: (Opsional) Perbarui sertifikat kustom

Operasi ini memicu restart instans RDS. Lanjutkan dengan hati-hati.

Di tab SSL, klik Modify di samping Configure Database Certificate (to Prevent Database Disguise). Di kotak dialog, masukkan sertifikat server baru dan kunci privatnya.

更新证书

Langkah 5: (Opsional) Nonaktifkan enkripsi SSL

Operasi ini memicu restart instans RDS. Lanjutkan dengan hati-hati.

Di tab SSL, klik Disable SSL.

closessl

FAQ

Mengapa saya mendapatkan error "The certificate address does not contain the instance connection string"?

CN (Common Name) atau SAN (Subject Alternative Name) pada sertifikat tidak mencantumkan endpoint instans RDS. Sertifikat wildcard (misalnya, *.example.com) tidak didukung.

Untuk mengatasi masalah ini, hasilkan ulang sertifikat dan atur nilai CN atau entri SAN ke endpoint instans RDS lengkap (misalnya, pgm-xxx.pg.rds.aliyuncs.com). Untuk informasi cara melihat endpoint, lihat Lihat dan ubah endpoint serta nomor port instans ApsaraDB RDS for PostgreSQL.

Mengapa konfigurasi SSL gagal dengan error kunci privat?

Kunci privat dihasilkan dengan enkripsi password. Kunci privat yang dienkripsi dengan password tidak didukung.

Untuk mengatasi masalah ini, hasilkan ulang kunci privat tanpa enkripsi password. Gunakan flag -nodes dalam perintah openssl req, seperti yang ditunjukkan pada Langkah 1. File kunci privat harus dimulai dengan -----BEGIN PRIVATE KEY-----.

Mengapa saya mendapatkan error format sertifikat saat mengunggah sertifikat?

File sertifikat mungkin tidak dalam format PEM, atau berisi konten tambahan.

Untuk mengatasi masalah ini, pastikan Anda mengunggah file sertifikat dalam format PEM. Konten harus dimulai dengan -----BEGIN CERTIFICATE----- dan diakhiri dengan -----END CERTIFICATE-----, tanpa teks tambahan di luar baris-baris tersebut.