RDSProxy Amazon untuk Aurora - Amazon Aurora

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

RDSProxy Amazon untuk Aurora

Dengan menggunakan Amazon RDS Proxy, Anda dapat mengizinkan aplikasi Anda untuk mengumpulkan dan berbagi koneksi database untuk meningkatkan kemampuan mereka dalam skala. RDS Proxy membuat aplikasi lebih tahan terhadap kegagalan database dengan secara otomatis menghubungkan ke instans DB siaga sambil mempertahankan koneksi aplikasi. Dengan menggunakan RDS Proxy, Anda juga dapat menerapkan autentikasi AWS Identity and Access Management (IAM) untuk database, dan menyimpan kredensil dengan aman. AWS Secrets Manager

Menggunakan RDS Proxy, Anda dapat menangani lonjakan tak terduga dalam lalu lintas database. Jika tidak, lonjakan ini dapat menyebabkan masalah karena koneksi berlangganan berlebih atau koneksi baru yang dibuat dengan kecepatan cepat. RDS Proxy membuat kumpulan koneksi database dan menggunakan kembali koneksi di pool ini. Pendekatan ini menghindari memori dan CPU overhead membuka koneksi database baru setiap kali. Untuk melindungi basis data dari permintaan berlebihan, Anda dapat mengontrol jumlah koneksi basis data yang dibuat.

RDSAntrian proxy atau membatasi koneksi aplikasi yang tidak dapat dilayani langsung 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, RDS Proxy menolak koneksi aplikasi (yaitu, itu melepaskan beban). Pada saat yang sama, ia mempertahankan kinerja yang dapat diprediksi untuk beban yang RDS dapat berfungsi dengan kapasitas yang tersedia.

Anda dapat mengurangi biaya overhead untuk memproses kredensil dan membuat koneksi aman untuk setiap koneksi baru. RDS Proxy dapat menangani beberapa pekerjaan itu atas nama database.

RDSProxy sepenuhnya kompatibel dengan versi mesin yang didukungnya. Anda dapat mengaktifkan RDS Proxy untuk sebagian besar aplikasi tanpa perubahan kode. Untuk daftar versi mesin yang didukung, lihat Daerah yang Didukung dan mesin Aurora DB untuk Amazon Proxy RDS.

Wilayah dan ketersediaan versi

Untuk informasi tentang dukungan versi mesin database dan ketersediaan RDS Proxy yang diberikan Wilayah AWS, lihatDaerah yang Didukung dan mesin Aurora DB untuk Amazon Proxy RDS.

Kuota dan batasan untuk Proxy RDS

Kuota dan batasan berikut berlaku untuk RDS Proxy:

  • Setiap Akun AWS ID dibatasi hingga 20 proxy. Jika aplikasi Anda memerlukan lebih banyak proxy, mintalah peningkatan melalui halaman Service Quotas di dalam. AWS Management Console Di halaman Service Quotas, pilih Amazon Relational Database Service (AmazonRDS) dan cari Proxy untuk meminta peningkatan kuota. AWS dapat secara otomatis meningkatkan kuota atau peninjauan permintaan Anda yang tertunda oleh Dukungan.

  • Setiap proksi dapat memiliki hingga 200 rahasia Secrets Manager terkait. Sehingga, setiap proksi dapat terhubung ke hingga 200 akun pengguna yang berbeda pada waktu tertentu.

  • Setiap proksi memiliki titik akhir default. Anda juga dapat menambahkan hingga 20 titik akhir proksi untuk setiap proksi. Anda dapat membuat, melihat, mengubah, dan menghapus titik akhir ini.

  • Dalam sebuah klaster Aurora, semua koneksi yang menggunakan titik akhir proksi default ditangani oleh instans penulis Aurora. Untuk melakukan penyeimbangan beban untuk beban kerja padat baca, Anda dapat membuat titik akhir hanya-baca untuk proksi. Titik akhir tersebut meneruskan koneksi ke titik akhir pembaca klaster. Dengan begitu, koneksi proksi Anda dapat memanfaatkan skalabilitas baca Aurora. Untuk informasi selengkapnya, lihat Ikhtisar titik akhir proksi.

  • Anda dapat menggunakan RDS Proxy dengan cluster Aurora Serverless v2, tetapi tidak dengan cluster v1 Aurora Serverless.

  • RDSProxy Anda harus berada di cloud pribadi virtual (VPC) yang sama dengan database. 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 proxyVPC.

    catatan

    Untuk cluster Aurora DB, Anda dapat mengaktifkan akses silang. VPC Untuk melakukan ini, buat endpoint tambahan untuk proxy dan tentukan grup lainVPC, subnet, dan keamanan dengan endpoint tersebut. Untuk informasi selengkapnya, lihat Mengakses database Aurora di seluruh VPCs.

  • Anda tidak dapat menggunakan RDS Proxy dengan sewaan VPC yang disetel kededicated.

  • Jika Anda menggunakan RDS Proxy dengan Aurora DB cluster yang memiliki IAM otentikasi diaktifkan, periksa otentikasi pengguna. Pengguna yang terhubung melalui proksi harus melakukan autentikasi melalui kredensial masuk. Untuk detail tentang Secrets Manager dan IAM dukungan di RDS Proxy, lihat Menyiapkan kredensi database untuk Proxy AWS Secrets Manager RDS danMenyiapkan AWS Identity and Access Management (IAM) kebijakan untuk RDS Proxy.

  • Anda tidak dapat menggunakan RDS Proxy dengan kustom DNS saat menggunakan validasi SSL nama host.

  • Setiap proksi dapat dikaitkan dengan satu klaster DB target. Namun, Anda dapat mengaitkan beberapa proksi dengan klaster 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 Zona Ketersediaan (AZ) untuk dipertimbangkan saat membuat proksi. Wilayah AS Timur (Virginia N.) tidak mendukung RDS Proxy di use1-az3 Availability Zone. Wilayah AS Barat (California Utara) tidak mendukung RDS Proxy di usw1-az2 Availability Zone. 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 AWS global, lihat kunci konteks kondisi global di Panduan IAM Pengguna.

  • Anda tidak dapat menggunakan RDS Proxy dengan RDS Custom for 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. Menghapus atau memodifikasi rdsproxyadmin pengguna atau izinnya dapat memengaruhi ketersediaan proxy ke aplikasi Anda.

Untuk batasan tambahan untuk setiap mesin DB, lihat bagian berikut:

Keterbatasan tambahan untuk Aurora My SQL

Batasan tambahan berikut berlaku untuk RDS Proxy dengan database Aurora MySQL:

  • RDSDukungan proxy untuk caching_sha2_password otentikasi memerlukan koneksi (TLS) yang aman.

  • RDSDukungan proxy untuk caching_sha2_password diketahui memiliki masalah kompatibilitas dengan versi driver go-sql tertentu.

  • Saat menggunakan driver My SQL 8.4 C, mysql_stmt_bind_named_param API mungkin membentuk paket cacat jika jumlah parameter melebihi jumlah placeholder dalam pernyataan yang disiapkan. Ini menghasilkan tanggapan yang salah. Untuk informasi selengkapnya, lihat Laporan SQL bug saya.

  • Saat ini, semua proxy mendengarkan port 3306 untuk My. SQL Proksi ini masih terhubung ke basis data Anda menggunakan port yang sudah ditentukan dalam pengaturan basis data.

  • Anda tidak dapat menggunakan RDS Proxy dengan SQL database Saya yang dikelola sendiri dalam EC2 instance.

  • Anda tidak dapat menggunakan RDS Proxy dengan instans RDS for My SQL DB yang memiliki read_only parameter dalam grup parameter DB-nya yang disetel ke1.

  • RDSProxy tidak mendukung mode SQL terkompresi Saya. Misalnya, Proksi RDS tidak mendukung kompresi yang digunakan oleh opsi --compress atau -C perintah mysql.

  • Koneksi database yang memproses GET DIAGNOSTIC perintah mungkin mengembalikan informasi yang tidak akurat ketika RDS Proxy menggunakan kembali koneksi database yang sama untuk menjalankan kueri lain. Hal ini dapat terjadi ketika RDS Proxy multipleks koneksi database.

  • Beberapa SQL pernyataan dan fungsi seperti SET LOCAL dapat mengubah status koneksi tanpa menyebabkan penyematan. Untuk perilaku penyematan terbaru, lihat Menghindari menyematkan Proxy RDS.

  • Menggunakan ROW_COUNT() fungsi dalam kueri multi-pernyataan tidak didukung.

  • RDSProxy tidak mendukung aplikasi klien yang tidak dapat menangani beberapa pesan respons dalam satu TLS catatan.

penting

Untuk proxy yang terkait dengan SQL database Saya, jangan setel parameter konfigurasi sql_auto_is_null ke true atau nilai bukan nol dalam kueri inisialisasi. Tindakan ini bisa menyebabkan perilaku aplikasi yang salah.

Keterbatasan tambahan untuk Aurora Postgre SQL

Batasan tambahan berikut berlaku untuk RDS Proxy dengan basis data Aurora SQL Postgre:

  • RDSProxy tidak mendukung filter penyematan sesi untuk SQL Postgre.

  • Saat ini, semua proxy mendengarkan port 5432 untuk Postgre. SQL

  • Untuk PostgreSQL, RDS Proxy saat ini tidak mendukung pembatalan kueri dari klien dengan mengeluarkan file. CancelRequest Misalnya, hal ini bisa terjadi ketika Anda membatalkan kueri yang berjalan lama dalam sesi psql interaktif dengan menggunakan Ctrl+C.

  • Hasil dari SQL fungsi Postgre lastval tidak selalu akurat. Sebagai solusi, gunakan INSERTpernyataan dengan klausa. RETURNING

  • RDSProxy saat ini tidak mendukung mode replikasi streaming.

  • defaultDatabase harus ada.

  • Jika Anda menggunakan ALTER ROLE atau SET ROLE mengubah peran pengguna, koneksi berikutnya sebagai pengguna tersebut ke proxy mungkin tidak menggunakan pengaturan 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 diMembuat proxy RDS.

penting

Untuk proxy yang ada dengan SQL database Postgre, jika Anda memodifikasi otentikasi database untuk digunakan SCRAM saja, proxy menjadi tidak tersedia hingga 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.