

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memutar sertifikat Anda SSL/TLS
<a name="UsingWithRDS.SSL-certificate-rotation"></a>

Sertifikat Otoritas Sertifikat Amazon RDS rds-ca-2019 berakhir pada Agustus 2024. Jika Anda menggunakan atau berencana untuk menggunakan Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) dengan verifikasi sertifikat untuk terhubung ke instans RDS DB atau cluster DB multi-AZ, pertimbangkan untuk menggunakan salah satu sertifikat rds-ca-rsa CA baru 2048-g1, 4096-g1 atau 384-g1. rds-ca-rsa rds-ca-ecc Jika saat ini Anda tidak menggunakan SSL/TLS dengan verifikasi sertifikat, Anda mungkin masih memiliki sertifikat CA yang kedaluwarsa dan harus memperbaruinya ke sertifikat CA baru jika Anda berencana untuk menggunakan SSL/TLS dengan verifikasi sertifikat untuk terhubung ke database RDS Anda.

Amazon RDS menyediakan sertifikat CA baru sebagai praktik terbaik AWS keamanan. Untuk informasi tentang sertifikat baru dan AWS Wilayah yang didukung, lihat[](UsingWithRDS.SSL.md).

Untuk memperbarui sertifikat CA untuk database Anda, gunakan metode berikut: 
+  [Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda](#UsingWithRDS.SSL-certificate-rotation-updating) 
+  [Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan](#UsingWithRDS.SSL-certificate-rotation-maintenance-update) 

Sebelum memperbarui instans DB atau cluster DB multi-AZ untuk menggunakan sertifikat CA baru, pastikan Anda memperbarui klien atau aplikasi yang terhubung ke database RDS Anda.

## Pertimbangan untuk memutar sertifikat
<a name="UsingWithRDS.SSL-certificate-rotation-considerations"></a>

Pertimbangkan situasi berikut sebelum memutar sertifikat Anda:
+ Amazon RDS Proxy menggunakan sertifikat dari AWS Certificate Manager (ACM). Jika Anda menggunakan RDS Proxy, saat memutar SSL/TLS sertifikat, Anda tidak perlu memperbarui aplikasi yang menggunakan koneksi Proxy RDS. Untuk informasi selengkapnya, lihat [Menggunakan TLS/SSL dengan RDS Proxy](rds-proxy.howitworks.md#rds-proxy-security.tls).
+ Jika Anda menggunakan aplikasi Go versi 1.15 dengan instans DB atau cluster DB multi-AZ yang dibuat atau diperbarui ke sertifikat rds-ca-2019 sebelum 28 Juli 2020, Anda harus memperbarui sertifikat lagi. 

  Gunakan `modify-db-instance` perintah untuk instans DB, atau `modify-db-cluster` perintah untuk cluster DB multi-AZ, menggunakan pengidentifikasi sertifikat CA baru. Anda dapat menemukan CAs yang tersedia untuk mesin DB tertentu dan versi mesin DB menggunakan `describe-db-engine-versions` perintah. 

  Jika Anda membuat database atau memperbarui sertifikatnya setelah 28 Juli 2020, tidak ada tindakan yang diperlukan. Untuk informasi selengkapnya, lihat [Go GitHub issue \$139568](https://github.com/golang/go/issues/39568). 

## Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda
<a name="UsingWithRDS.SSL-certificate-rotation-updating"></a>

*Contoh berikut memperbarui sertifikat CA Anda dari *rds-ca-2019* ke 2048-g1. rds-ca-rsa* Anda dapat memilih sertifikat yang berbeda. Untuk informasi lebih lanjut, lihat[Otoritas sertifikat](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities). 

Perbarui toko kepercayaan aplikasi Anda untuk mengurangi waktu henti yang terkait dengan memperbarui sertifikat CA Anda. Untuk informasi selengkapnya tentang restart yang terkait dengan rotasi sertifikat CA, lihat[Rotasi sertifikat server otomatis](#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation).

**Untuk memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda**

1. Unduh SSL/TLS sertifikat baru seperti yang dijelaskan dalam[](UsingWithRDS.SSL.md).

1. Perbarui aplikasi Anda untuk menggunakan sertifikat SSL/TLS baru.

   Metode untuk memperbarui aplikasi untuk SSL/TLS sertifikat baru bergantung pada aplikasi spesifik Anda. Bekerja dengan pengembang aplikasi Anda untuk memperbarui SSL/TLS sertifikat untuk aplikasi Anda.

   Untuk informasi tentang memeriksa SSL/TLS koneksi dan memperbarui aplikasi untuk setiap mesin DB, lihat topik berikut:
   +  [Memperbarui aplikasi untuk terhubung ke instance MariaDB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-mariadb.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instans Microsoft SQL Server DB menggunakan sertifikatSSL/TLSbaru](ssl-certificate-rotation-sqlserver.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instance MySQL DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-mysql.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instans Oracle DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-oracle.md) 
   +  [Memperbarui aplikasi untuk terhubung ke instance PostgreSQL DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-postgresql.md) 

   Untuk contoh skrip yang memperbarui toko kepercayaan untuk sistem operasi Linux, lihat[Contoh skrip untuk mengimpor sertifikat ke trust store Anda](#UsingWithRDS.SSL-certificate-rotation-sample-script).
**catatan**  
Paket sertifikat berisi sertifikat untuk CA lama dan baru, sehingga Anda dapat meningkatkan aplikasi Anda dengan aman dan mempertahankan konektivitas selama periode transisi. Jika Anda menggunakan AWS Database Migration Service untuk memigrasikan database ke instans DB atau cluster , sebaiknya gunakan bundel sertifikat untuk memastikan konektivitas selama migrasi.

1. **Ubah instans DB atau cluster DB multi-AZ untuk mengubah CA dari **rds-ca-2019** menjadi 2048-g1. rds-ca-rsa** Untuk memeriksa apakah database Anda memerlukan restart untuk memperbarui sertifikat CA, gunakan [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)perintah dan periksa `SupportsCertificateRotationWithoutRestart` bendera. 
**penting**  
Jika Anda mengalami masalah konektivitas setelah masa berlaku sertifikat berakhir, gunakan opsi terapkan segera dengan menentukan **Terapkan segera** di konsol atau dengan menentukan opsi `--apply-immediately` menggunakan AWS CLI. Secara default, operasi ini dijadwalkan untuk berjalan selama jendela pemeliharaan berikutnya.  
Untuk instans RDS untuk Oracle DB, kami sarankan Anda memulai ulang Oracle DB Anda untuk mencegah kesalahan koneksi.  
Untuk instans RDS untuk SQL Server Multi-AZ dengan AlwaysOn atau opsi Mirroring diaktifkan, failover diharapkan saat instance di-boot ulang setelah rotasi sertifikat.  
Untuk menyetel penggantian CA instance Anda yang berbeda dari CA RDS default, gunakan perintah CLI [modify-certificate](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html).

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengubah sertifikat CA dari **rds-ca-2019 ke **rds-ca-rsa2048-g1** untuk instans DB** atau cluster DB multi-AZ. 

------
#### [ Console ]

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Databases**, lalu pilih instans DB atau cluster DB multi-AZ yang ingin Anda modifikasi. 

1. Pilih **Ubah**.   
![\[Ubah instans DB atau cluster DB Multi-AZ\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-modify.png)

1. Di bagian **Konektivitas**, pilih **rds-ca-rsa2048-g1**.   
![\[Pilih sertifikat CA\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-ca-rsa2048-g1.png)

1. Pilih **Lanjutkan** dan periksa ringkasan modifikasi. 

1. Untuk segera menerapkan perubahan, pilih **Terapkan segera**. 

1. Di halaman konfirmasi, tinjau perubahan Anda. Jika benar, pilih **Modify DB Instance** atau **Modify cluster** untuk menyimpan perubahan Anda. 
**penting**  
Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

   Atau pilih **Kembali** untuk mengedit perubahan atau **Batalkan** untuk membatalkan perubahan Anda. 

------
#### [ AWS CLI ]

Untuk menggunakan AWS CLI untuk mengubah CA dari **rds-ca-2019** ke **rds-ca-rsa2048-g1** untuk instans DB atau cluster DB multi-AZ, panggil perintah or. [modify-db-instance[modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) Tentukan instans DB atau pengidentifikasi cluster dan `--ca-certificate-identifier` opsi.

Gunakan `--apply-immediately` parameter untuk segera menerapkan pembaruan. Secara default, operasi ini dijadwalkan untuk berjalan selama periode pemeliharaan berikutnya.

**penting**  
Saat Anda menjadwalkan operasi ini, pastikan bahwa Anda telah memperbarui trust store sisi klien sebelumnya.

**Example**  
 **contoh DB**   
Contoh berikut memodifikasi `mydbinstance` dengan menyetel sertifikat CA ke`rds-ca-rsa2048-g1`.   
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Untuk Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Jika instance Anda memerlukan reboot, Anda dapat menggunakan perintah [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI dan menentukan opsi. `--no-certificate-rotation-restart`

**Example**  
 **Kluster DB multi-AZ**   
Contoh berikut memodifikasi `mydbcluster` dengan menyetel sertifikat CA ke`rds-ca-rsa2048-g1`.   
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Untuk Windows:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```

------

## Memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan
<a name="UsingWithRDS.SSL-certificate-rotation-maintenance-update"></a>

Lakukan langkah-langkah berikut untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan.

------
#### [ Console ]

**Untuk memperbarui sertifikat CA Anda dengan menerapkan pemeliharaan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Pembaruan sertifikat**.   
![\[Opsi panel navigasi rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-certupdate.png)

   Halaman **Basis data yang memerlukan pembaruan sertifikat** akan muncul.  
![\[Perbarui sertifikat CA untuk database\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-update-multiple.png)
**catatan**  
Halaman ini hanya menampilkan instans dan cluster DB untuk saat ini. Wilayah AWS Jika Anda memiliki database di lebih dari satu Wilayah AWS, periksa halaman ini di masing-masing Wilayah AWS untuk melihat semua instance DB dengan sertifikat lama SSL/TLS .

1. Pilih instans DB atau cluster DB multi-AZ yang ingin Anda perbarui.

   Anda dapat menjadwalkan rotasi sertifikat untuk periode pemeliharaan berikutnya dengan memilih **Jadwal**. Segera terapkan rotasi dengan memilih **Terapkan sekarang**. 
**penting**  
Jika Anda mengalami masalah konektivitas setelah sertifikat kedaluwarsa, gunakan opsi **Terapkan sekarang**.

1. 

   1. Jika Anda memilih **Jadwal**, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA. Prompt ini juga menyatakan periode terjadwal untuk pembaruan Anda.   
![\[Konfirmasikan rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-schedule.png)

   1. Jika Anda memilih **Terapkan sekarang**, Anda akan diminta untuk mengonfirmasi rotasi sertifikat CA.  
![\[Konfirmasikan rotasi sertifikat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-now.png)
**penting**  
Sebelum menjadwalkan rotasi sertifikat CA pada database Anda, perbarui aplikasi klien yang menggunakan SSL/TLS dan sertifikat server untuk terhubung. Pembaruan ini khusus untuk mesin DB Anda. Setelah Anda memperbarui aplikasi klien ini, Anda dapat mengonfirmasi rotasi sertifikat CA. 

   Untuk melanjutkan, pilih kotak centang, lalu pilih **Konfirmasi**. 

1. Ulangi langkah 3 dan 4 untuk setiap instans dan cluster DB yang ingin Anda perbarui.

------

## Rotasi sertifikat server otomatis
<a name="UsingWithRDS.SSL-certificate-rotation-server-cert-rotation"></a>

Jika CA root Anda mendukung rotasi sertifikat server otomatis, RDS secara otomatis menangani rotasi sertifikat server DB. RDS menggunakan CA root yang sama untuk rotasi otomatis ini, jadi Anda tidak perlu mengunduh paket CA baru. Lihat[Otoritas sertifikat](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities).

Rotasi dan validitas sertifikat server DB Anda bergantung pada mesin DB Anda:
+ Jika mesin DB Anda mendukung rotasi tanpa pengaktifan ulang, RDS secara otomatis merotasi sertifikat server DB tanpa memerlukan tindakan apa pun dari Anda. RDS mencoba merotasi sertifikat server DB Anda dalam periode pemeliharaan yang Anda pilih di waktu paruh sertifikat server DB. Sertifikat server DB baru berlaku selama 12 bulan.
+ Jika mesin DB Anda tidak mendukung rotasi tanpa restart, Amazon RDS membuat Tindakan Pemeliharaan `server-certificate-rotation` Tertunda terlihat melalui Describe-pending-maintenance-actions API, pada waktu paruh sertifikat, atau setidaknya 3 bulan sebelum kedaluwarsa. Anda dapat menerapkan rotasi menggunakan apply-pending-maintenance-action API. Sertifikat server DB baru berlaku selama 36 bulan.

Gunakan [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)perintah dan periksa `SupportsCertificateRotationWithoutRestart` bendera untuk mengidentifikasi apakah versi mesin DB mendukung memutar sertifikat tanpa memulai ulang. Untuk informasi selengkapnya, lihat [Mengatur CA untuk basis data Anda](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities.Selection). 

## Contoh skrip untuk mengimpor sertifikat ke trust store Anda
<a name="UsingWithRDS.SSL-certificate-rotation-sample-script"></a>

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store.

Setiap skrip shell menggunakan keytool, yang merupakan bagian dari Java Development Kit (JDK). Untuk informasi tentang cara menginstal JDK, lihat [JDK Installation Guide](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). 

------
#### [ Linux ]

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi Linux.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n+1 ".pem"}' < ${mydir}/global-bundle.pem

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------
#### [ macOS ]

Berikut adalah contoh skrip shell yang mengimpor paket sertifikat ke trust store di sistem operasi macOS.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
split -p "-----BEGIN CERTIFICATE-----" ${mydir}/global-bundle.pem rds-ca-

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------