

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

# Amazon RDS Proxy
<a name="rds-proxy"></a>

Dengan menggunakan Proksi Amazon RDS, Anda dapat mengizinkan berbagai aplikasi untuk berkumpul dan berbagi koneksi basis data untuk meningkatkan kemampuan penskalaannya. Proksi RDS membuat aplikasi lebih tangguh terhadap kegagalan basis data dengan secara otomatis menghubungkan ke sebuah instans DB siaga sekaligus menjaga koneksi aplikasi. Dengan menggunakan RDS Proxy, Anda dapat menerapkan autentikasi AWS Identity and Access Management (IAM) untuk klien yang terhubung ke proxy, dan proxy dapat terhubung ke database menggunakan otentikasi database IAM atau kredensyal yang disimpan di dalamnya. AWS Secrets Manager

![Gambaran umum tentang bagaimana aplikasi terhubung ke RDS Proxy](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/Proxy-Overview.png)


 Dengan Proksi RDS, Anda dapat menangani lonjakan yang tidak dapat diprediksi dalam lalu lintas basis data. Jika tidak, lonjakan ini dapat menyebabkan masalah karena permintaan koneksi berlebihan atau koneksi baru yang dibuat sangatlah tinggi. Proksi RDS membangun kumpulan koneksi basis data dan menggunakan ulang koneksi dalam kumpulan ini. Pendekatan ini menghindari overhead memori dan CPU dari membuka koneksi basis data baru. Untuk melindungi basis data dari permintaan berlebihan, Anda dapat mengontrol jumlah koneksi basis data yang dibuat. 

 Proksi RDS mengantrekan atau membatasi koneksi aplikasi yang tidak dapat dilayani segera dari kumpulan koneksi. Meskipun latensi dapat meningkat, aplikasi Anda dapat terus diskalakan tanpa kegagalan mendadak atau membanjiri basis data. Jika permintaan koneksi melebihi batas yang Anda tentukan, Proksi RDS akan menolak koneksi aplikasi (yakni menumpahkan beban). Selain itu, Proksi RDS akan mempertahankan performa yang dapat diprediksi untuk beban yang dapat dilayani RDS dengan kapasitas yang tersedia. 

![Tampilan terperinci tentang bagaimana aplikasi terhubung ke RDS Proxy dan jenis koneksi yang terlibat.](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/Proxy-detail.png)


 Anda dapat mengurangi overhead untuk memproses kredensial dan membangun koneksi yang aman untuk setiap koneksi baru. Proksi RDS dapat menangani beberapa dari pekerjaan itu untuk mewakili basis data. 

 Proksi RDS sepenuhnya kompatibel dengan versi mesin yang didukungnya. Anda dapat mengaktifkan Proksi RDS pada sebagian besar aplikasi tanpa perubahan kode. 

**Topics**
+ [Ketersediaan wilayah dan versi](#rds-proxy.RegionVersionAvailability)
+ [Kuota dan Pembatasan untuk Proksi RDS](#rds-proxy.limitations)
+ [Merencanakan lokasi penggunaan Proksi RDS](rds-proxy-planning.md)
+ [Konsep dan terminologi Proksi RDS](rds-proxy.howitworks.md)
+ [Mulai menggunakan Proksi RDS](rds-proxy-setup.md)
+ [Mengelola Proksi RDS](rds-proxy-managing.md)
+ [Bekerja dengan titik akhir Proksi Amazon RDS](rds-proxy-endpoints.md)
+ [Memantau metrik Proxy RDS dengan Amazon CloudWatch](rds-proxy.monitoring.md)
+ [Bekerja dengan peristiwa Proksi RDS](rds-proxy.events.md)
+ [Pemecahan masalah untuk Proksi RDS](rds-proxy.troubleshooting.md)
+ [Menggunakan RDS Proxy dengan AWS CloudFormation](rds-proxy-cfn.md)
+ [Menggunakan Proxy RDS dengan Blue/Green Deployment](rds-proxy-blue-green.md)
+ [Praktik terbaik dengan RDS Proxy](rds-proxy-best-practices.md)

## Ketersediaan wilayah dan versi
<a name="rds-proxy.RegionVersionAvailability"></a>

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang versi dan ketersediaan Wilayah Amazon RDS dengan Proksi RDS, lihat [Wilayah dan mesin DB yang Didukung untuk Amazon RDS Proxy](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSProxy.md).

## Kuota dan Pembatasan untuk Proksi RDS
<a name="rds-proxy.limitations"></a>

 Kuota dan batasan berikut berlaku untuk Proksi RDS: 
+  Setiap Akun AWS ID dibatasi hingga 20 proxy. Jika aplikasi Anda memerlukan lebih banyak proxy, mintalah peningkatan melalui halaman **Service Quotas** di dalam. Konsol Manajemen AWS Di halaman **Service Quotas**, pilih **Amazon Relational Database Service (Amazon RDS)** dan cari **Proxy** untuk meminta peningkatan kuota. AWS dapat secara otomatis meningkatkan kuota atau peninjauan permintaan Anda yang tertunda oleh Dukungan.
+ Setiap proxy dapat memiliki hingga 200 rahasia Secrets Manager terkait, sehingga membatasi koneksi hingga 200 akun pengguna yang berbeda saat menggunakan rahasia. 
+  Setiap proxy memiliki titik akhir default yang disediakan hanya di dua Availability Zone yang dipilih dari subnet yang dikonfigurasi proxy. Jika subnet di lebih dari dua AZ dikonfigurasi, dua akan dipilih. 
+  Anda dapat menambahkan hingga 20 titik akhir proxy tambahan untuk setiap proxy. Titik akhir tambahan ini disediakan di semua Availability Zone yang ditentukan selama pembuatannya. Anda dapat membuat, melihat, mengubah, dan menghapus titik akhir ini. 
+ Untuk instans DB RDS dalam konfigurasi replikasi, Anda dapat mengaitkan proksi dengan instans DB penulis saja, bukan dengan replika baca.
+ Proksi RDS Anda harus berada dalam cloud privat virtual (VPC) yang sama seperti basis data. Proksi tersebut tidak dapat diakses publik, meskipun basis datanya dapat diakses publik. Misalnya, jika membuat prototipe basis data di host lokal, Anda tidak dapat terhubung ke proksi kecuali Anda menyiapkan persyaratan jaringan yang diperlukan untuk mengizinkan koneksi ke proksi. Ini karena host lokal Anda berada di luar VPC proksi. 
+  Anda tidak dapat menggunakan Proksi RDS dengan VPC yang penghuniannya diatur ke `dedicated`. 
+  Anda tidak dapat menggunakan RDS Proxy di VPC yang memiliki kontrol `Enforce Mode` enkripsi dengan diaktifkan. 
+ Untuk jenis jaringan titik akhir IPv6, konfigurasikan VPC dan subnet Anda untuk hanya mendukung IPv6. Untuk jenis jaringan koneksi target IPv4 dan IPv6, konfigurasikan VPC dan subnet Anda untuk mendukung mode dual-stack. 
+ Jika Anda menggunakan Proxy RDS dengan yang mengaktifkan autentikasi IAM, proxy dapat terhubung ke database menggunakan autentikasi IAM atau kredensyal yang disimpan di Secrets Manager. Klien yang terhubung ke proxy harus mengautentikasi menggunakan kredensyal IAM. Untuk petunjuk konfigurasi terperinci, lihat [Menyiapkan kredensil database untuk RDS Proxy](rds-proxy-secrets-arns.md) dan [Mengkonfigurasi otentikasi IAM untuk RDS Proxy](rds-proxy-iam-setup.md)
+  Anda tidak dapat menggunakan Proksi RDS dengan DNS kustom saat menggunakan validasi nama host SSL. 
+  Setiap proksi dapat dikaitkan dengan satu instans DB target. Namun, Anda dapat mengaitkan beberapa proksi dengan instans DB yang sama.
+ Pernyataan apa pun dengan teks berukuran lebih dari 16 KB menyebabkan proksi menyematkan sesi ke koneksi saat ini.
+ Wilayah tertentu memiliki batasan Availability-Zone (AZ) untuk dipertimbangkan saat membuat proxy Anda. Wilayah AS Timur (Virginia Utara) tidak mendukung Proksi RDS di Zona Ketersediaan `use1-az3`. Wilayah AS Barat (California Utara) tidak mendukung Proksi RDS di Zona Ketersediaan `usw1-az2`. Saat memilih subnet sekaligus membuat proksi, pastikan Anda tidak memilih subnet di Zona Ketersediaan yang disebutkan di atas. 
+ Saat ini, RDS Proxy tidak mendukung kunci konteks kondisi global apa pun.

  Untuk informasi selengkapnya tentang kunci konteks kondisi global, lihat [Kunci konteks kondisi global AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dalam *Panduan Pengguna IAM*.
+ Anda tidak dapat menggunakan RDS Proxy dengan RDS Custom untuk SQL Server.
+ Untuk mencerminkan modifikasi grup parameter database apa pun ke proxy Anda, reboot instance diperlukan bahkan jika Anda memilih untuk segera menerapkan perubahan Anda. Untuk parameter tingkat cluster, diperlukan reboot seluruh cluster.
+ Proxy Anda secara otomatis membuat pengguna `rdsproxyadmin` DB saat Anda mendaftarkan target proxy. Ini adalah pengguna yang dilindungi yang penting untuk fungsionalitas proxy. Anda harus menghindari merusak `rdsproxyadmin` pengguna dalam kapasitas apa pun. Menghapus atau memodifikasi `rdsproxyadmin` pengguna atau izinnya dapat mengakibatkan tidak tersedianya proxy ke aplikasi Anda.

Untuk batasan tambahan untuk setiap mesin DB, lihat bagian berikut:
+ [Batasan tambahan untuk RDS for MariaDB](#rds-proxy.limitations-mdb)
+ [Batasan tambahan untuk RDS for Microsoft SQL Server](#rds-proxy.limitations-ms)
+ [Batasan tambahan untuk RDS for MySQL](#rds-proxy.limitations-my)
+ [Batasan tambahan untuk RDS for PostgreSQL](#rds-proxy.limitations-pg)

### Batasan tambahan untuk RDS for MariaDB
<a name="rds-proxy.limitations-mdb"></a>

 Batasan tambahan berikut berlaku untuk Proksi RDS dengan basis data RDS for MariaDB:
+  Saat ini, semua proksi mendengarkan di port 3306 untuk MariaDB. Proksi ini masih terhubung ke basis data Anda menggunakan port yang sudah ditentukan dalam pengaturan basis data. 
+ Anda tidak dapat menggunakan Proksi RDS dengan basis data MariaDB yang dikelola sendiri dalam instans Amazon EC2.
+ Anda tidak dapat menggunakan Proksi RDS dengan instans DB RDS for MariaDB dengan parameter `read_only` dalam grup parameter DB-nya diatur ke `1`.
+ Proksi RDS tidak mendukung mode terkompresi MariaDB. Misalnya, Proksi RDS tidak mendukung kompresi yang digunakan oleh opsi `--compress` atau `-C` perintah `mysql`.
+ Beberapa pernyataan dan fungsi SQL dapat mengubah status koneksi tanpa menyebabkan penyematan. Untuk perilaku penyematan terbaru, lihat [Menghindari menyematkan Proxy RDS](rds-proxy-pinning.md).
+ Proksi RDS tidak mendukung plugin `auth_ed25519` MariaDB.
+ Proksi RDS tidak mendukung Keamanan Lapisan Pengangkutan (TLS) versi 1.3 untuk basis data MariaDB.
+ Koneksi basis data yang memproses perintah `GET DIAGNOSTIC` mungkin menampilkan informasi yang tidak akurat saat Proksi RDS menggunakan kembali koneksi basis data yang sama untuk menjalankan kueri lain. Hal ini bisa terjadi ketika Proksi RDS me-multipleks koneksi basis data. Untuk informasi selengkapnya, lihat [Ikhtisar konsep Proksi RDS](rds-proxy.howitworks.md#rds-proxy-overview).
+ RDS Proxy saat ini tidak mendukung `caching_sha2_password` opsi `ClientPasswordAuthType` untuk MariaDB.

**penting**  
 Untuk proksi yang terkait dengan basis data MariaDB, jangan atur parameter konfigurasi `sql_auto_is_null` ke `true` atau nilai bukan nol dalam kueri inisialisasi. Tindakan ini bisa menyebabkan perilaku aplikasi yang salah. 

### Batasan tambahan untuk RDS for Microsoft SQL Server
<a name="rds-proxy.limitations-ms"></a>

 Batasan tambahan berikut berlaku untuk Proksi RDS dengan basis data RDS for Microsoft SQL Server:
+ Jumlah rahasia Secrets Manager yang perlu dibuat untuk proksi bergantung pada kolasi yang digunakan instans DB Anda. Sebagai contoh, misalkan instans DB Anda menggunakan kolasi peka huruf besar/kecil. Jika aplikasi Anda menerima “Admin” dan “admin,” berarti proksi Anda memerlukan dua rahasia terpisah. Untuk informasi selengkapnya tentang kolasi di SQL Server, lihat dokumentasi [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16).
+ Proksi RDS tidak mendukung koneksi yang menggunakan Active Directory.
+ Anda tidak dapat menggunakan autentikasi IAM dengan klien yang tidak mendukung properti token. Untuk informasi selengkapnya, lihat [Pertimbangan untuk menghubungkan ke Microsoft SQL Server](rds-proxy-connecting.md#rds-proxy-connecting-sqlserver).
+ Hasil dari `@@IDENTITY`, `@@ROWCOUNT`, dan `SCOPE_IDENTITY` tidak selalu akurat. Sebagai solusi, ambil nilainya dalam pernyataan sesi yang sama untuk memastikan bahwa hasilnya menampilkan informasi yang benar.
+ Jika koneksi menggunakan beberapa kumpulan hasil aktif (MARS), Proksi RDS tidak akan menjalankan kueri inisialisasi. Untuk informasi tentang MARS, lihat dokumentasi [ Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/native-client/features/using-multiple-active-result-sets-mars?view=sql-server-ver16).
+ *Saat ini, RDS Proxy tidak mendukung RDS untuk instans SQL Server DB yang berjalan pada versi utama SQL Server 2022.*
+ *RDS Proxy tidak mendukung RDS untuk instans SQL Server DB yang berjalan pada versi utama SQL Server 2014.*
+ RDS Proxy tidak mendukung aplikasi klien yang tidak dapat menangani beberapa pesan respons dalam satu catatan TLS.
+ RDS Proxy tidak mendukung otentikasi IAM end-to-end untuk RDS untuk SQL Server.

### Batasan tambahan untuk RDS for MySQL
<a name="rds-proxy.limitations-my"></a>

 Batasan tambahan berikut berlaku untuk Proksi RDS dengan basis data RDS for MySQL:
+ Dukungan RDS Proxy untuk `caching_sha2_password` otentikasi memerlukan koneksi aman (TLS).
+ Dukungan Proxy RDS `caching_sha2_password` diketahui memiliki masalah kompatibilitas dengan versi driver go-sql tertentu.
+ Saat menggunakan driver MySQL 8.4 C, API mungkin membentuk paket `mysql_stmt_bind_named_param` yang salah bentuk jika jumlah parameter melebihi jumlah placeholder dalam pernyataan yang disiapkan. Ini menghasilkan tanggapan yang salah. Untuk informasi selengkapnya, lihat [laporan bug MySQL](https://bugs.mysql.com/bug.php?id=116860&thanks=4).
+ Saat ini, semua proksi mendengarkan di port 3306 untuk MySQL. Proksi ini masih terhubung ke basis data Anda menggunakan port yang sudah ditentukan dalam pengaturan basis data. 
+  Anda tidak dapat menggunakan Proksi RDS dengan basis data MySQL yang dikelola sendiri dalam instans EC2.
+  Anda tidak dapat menggunakan Proksi RDS dengan instans DB RDS for MySQL dengan parameter `read_only` dalam grup parameter DB-nya diatur ke `1`.
+ Proksi RDS tidak mendukung mode terkompresi MySQL. Misalnya, Proksi RDS tidak mendukung kompresi yang digunakan oleh opsi `--compress` atau `-C` perintah `mysql`.
+ Koneksi basis data yang memproses perintah `GET DIAGNOSTIC` mungkin menampilkan informasi yang tidak akurat saat Proksi RDS menggunakan kembali koneksi basis data yang sama untuk menjalankan kueri lain. Hal ini bisa terjadi ketika Proksi RDS me-multipleks koneksi basis data.
+ Beberapa pernyataan dan fungsi SQL seperti `SET LOCAL` dapat mengubah status koneksi tanpa menyebabkan penyematan. Untuk perilaku penyematan terbaru, lihat [Menghindari menyematkan Proxy RDS](rds-proxy-pinning.md).
+ Menggunakan `ROW_COUNT()` fungsi dalam kueri multi-pernyataan tidak didukung.
+ RDS Proxy tidak mendukung aplikasi klien yang tidak dapat menangani beberapa pesan respons dalam satu catatan TLS.
+ Proxy RDS tidak mendukung kata sandi ganda MySQL.
+ Proxy RDS mungkin tidak berfungsi seperti yang diharapkan saat Anda mengonfigurasi `init_connect` parameter dalam grup parameter RDS DB Anda untuk menyetel variabel status sesi. Sebagai gantinya, setel kueri inisialisasi untuk proxy Anda untuk menjalankan pernyataan inisialisasi sesi saat menggunakan proxy untuk terhubung ke database Anda.

**penting**  
 Untuk proksi yang terkait dengan basis data MySQL, jangan atur parameter konfigurasi `sql_auto_is_null` ke `true` atau nilai bukan nol dalam kueri inisialisasi. Tindakan ini bisa menyebabkan perilaku aplikasi yang salah. 

### Batasan tambahan untuk RDS for PostgreSQL
<a name="rds-proxy.limitations-pg"></a>

 Batasan tambahan berikut berlaku untuk Proksi RDS dengan basis data RDS for PostgreSQL:
+ Proksi RDS tidak mendukung filter penyematan sesi untuk PostgreSQL.
+  Saat ini, semua proksi mendengarkan di port 5432 untuk PostgreSQL.
+ Untuk PostgreSQL, Proxy RDS saat ini tidak mendukung pembatalan kueri dari klien dengan mengeluarkan `CancelRequest`. Misalnya, hal ini bisa terjadi ketika Anda membatalkan kueri yang berjalan lama dalam sesi psql interaktif dengan menggunakan Ctrl\+C. 
+  Hasil dari fungsi [lastval](https://www.postgresql.org/docs/current/functions-sequence.html) PostgreSQL tidak selalu akurat. Sebagai solusi, gunakan pernyataan [INSERT](https://www.postgresql.org/docs/current/sql-insert.html) dengan klausul `RETURNING`.
+ Proksi RDS saat ini tidak mendukung mode replikasi streaming.
+ RDS Proxy tidak mendukung mode negosiasi SSL langsung.
+ RDS Proxy hanya mendukung versi 3.0 dari protokol pesan PostgreSQL.
+ Dengan RDS for PostgreSQL 16, modifikasi nilai `scram_iterations` secara khusus memengaruhi proses autentikasi antara proksi dan basis data. Khususnya, jika Anda mengonfigurasi `ClientPasswordAuthType` ke `scram-sha-256`, penyesuaian apa pun yang dilakukan pada nilai `scram_iterations` tidak akan memengaruhi autentikasi kata sandi klien-ke-proksi. Sebaliknya, nilai iterasi untuk autentikasi kata sandi klien-ke-proksi ditetapkan pada 4096.
+ `postgres`Database default harus ada pada RDS untuk PostgreSQL misalnya agar Proxy RDS berfungsi. Jangan hapus database ini bahkan jika aplikasi Anda menggunakan database yang berbeda.
+ Jika Anda menggunakan `ALTER ROLE` untuk mengubah peran pengguna`SET ROLE`, koneksi berikutnya sebagai pengguna tersebut ke proxy mungkin tidak menggunakan setelan peran ini, jika koneksi tersebut mengalami penyematan. Untuk mencegah hal ini, saat menggunakan proxy, gunakan `SET ROLE` dalam kueri inisialisasi proxy. Untuk informasi selengkapnya, lihat **Kueri inisialisasi** di[Membuat proxy untuk Amazon RDS ](rds-proxy-creating.md).

**penting**  
Untuk proksi yang ada dengan basis data PostgreSQL, jika Anda mengubah autentikasi basis data untuk menggunakan `SCRAM` saja, proksi akan menjadi tidak tersedia selama maksimal 60 detik. Untuk menghindari masalah ini, lakukan salah satu tindakan berikut:  
Pastikan basis data mengizinkan autentikasi `SCRAM` dan `MD5`.
Untuk menggunakan autentikasi `SCRAM` saja, buat proksi baru, migrasi lalu lintas aplikasi ke proksi baru, lalu hapus proksi yang sebelumnya terkait dengan basis data.