Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat proxy untuk
Anda dapat menggunakan Amazon RDS Proxy untuk meningkatkan skalabilitas, ketersediaan, dan keamanan aplikasi database Anda dengan menggabungkan koneksi dan mengelola failover database secara lebih efisien. Topik ini memandu Anda melalui pembuatan proxy. Sebelum memulai, pastikan database Anda memenuhi prasyarat yang diperlukan, termasuk izin IAM dan konfigurasi VPC.
Anda dapat mengaitkan sebuah proksi dengan klaster DB Aurora MySQL atau Aurora PostgreSQL.
Untuk membuat proksi
-
Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/
. -
Di panel navigasi, pilih Proksi.
-
Pilih Buat proksi.
-
Konfigurasikan pengaturan berikut untuk proxy Anda.
Pengaturan Deskripsi Keluarga mesin Protokol jaringan database proxy mengenali ketika menafsirkan lalu lintas jaringan ke dan dari database. catatan
Untuk menggunakan Aurora PostgreSQL, pastikan untuk menyimpan database dalam instance Anda.
postgres
Lihat Pemecahan masalah database yang dihapus postgres.Pengidentifikasi proxy Nama yang unik dalam ID AWS akun Anda dan AWS Wilayah saat ini. Batas waktu koneksi klien idle Proxy menutup koneksi klien jika tetap menganggur selama periode tertentu. Secara default, ini adalah 1.800 detik (30 menit). Koneksi tidak digunakan saat aplikasi tidak mengirimkan permintaan baru dalam waktu yang ditentukan setelah menyelesaikan permintaan sebelumnya. Proxy menjaga koneksi database yang mendasarinya tetap terbuka dan mengembalikannya ke kumpulan koneksi, membuatnya tersedia untuk koneksi klien baru.
Untuk secara proaktif menghapus koneksi basi, kurangi batas waktu koneksi klien idle. Untuk meminimalkan biaya koneksi selama lonjakan beban kerja, tingkatkan batas waktu.
Basis Data Aurora DB cluster untuk mengakses melalui proxy ini. Daftar ini hanya mencakup instans dan klaster DB dengan mesin basis data, versi mesin, dan pengaturan lainnya yang kompatibel. Jika daftar kosong, buat instans atau klaster DB baru yang kompatibel dengan Proksi RDS. Untuk melakukannya, ikuti prosedurnya di Membuat klaster DB Amazon Aurora. Kemudian, coba buat proxy lagi. Koneksi kolam koneksi maksimum Nilai antara 1 dan 100 untuk menentukan persentase max_connections
batas yang dapat digunakan RDS Proxy. Jika Anda hanya bermaksud menggunakan satu proxy dengan instans atau cluster DB ini, tetapkan nilai ini ke 100. Untuk informasi selengkapnya tentang cara Proxy RDS menggunakan setelan ini, lihatMaxConnectionsPercent.Filter penyematan sesi Mencegah Proxy RDS menyematkan status sesi tertentu yang terdeteksi, yang melewati langkah-langkah keamanan default untuk koneksi multiplexing. Saat ini, PostgreSQL tidak mendukung pengaturan ini, dan satu-satunya opsi yang tersedia adalah.
EXCLUDE_VARIABLE_SETS
Mengaktifkannya dapat menyebabkan variabel sesi dari satu koneksi memengaruhi yang lain, yang menyebabkan kesalahan atau masalah kebenaran jika kueri bergantung pada variabel sesi yang ditetapkan di luar transaksi saat ini. Gunakan opsi ini hanya setelah mengonfirmasi bahwa aplikasi Anda dapat berbagi koneksi database dengan aman.Pola-pola berikut dianggap aman:
-
SET
pernyataan di mana tidak ada perubahan pada nilai variabel sesi efektif. Dengan kata lain, tidak ada perubahan pada variabel sesi. -
Anda mengubah nilai variabel sesi dan mengeksekusi pernyataan dalam transaksi yang sama.
Untuk informasi selengkapnya, lihat Menghindari menyematkan Proxy RDS.
Koneksi meminjam batas waktu Jika Anda mengharapkan proxy untuk menggunakan semua koneksi database yang tersedia, atur waktu tunggu sebelum mengembalikan kesalahan batas waktu. Anda dapat menentukan hingga lima menit. Pengaturan ini hanya berlaku ketika proxy telah mencapai jumlah maksimum koneksi dan semua sedang digunakan. Kueri inisialisasi (Opsional) Tambahkan kueri inisialisasi, atau ubah yang sekarang. Anda dapat menentukan satu atau beberapa pernyataan SQL untuk proksi yang akan dijalankan saat membuka setiap koneksi basis data baru. Pengaturan ini biasanya digunakan dengan
SET
pernyataan untuk memastikan bahwa setiap koneksi memiliki pengaturan yang identik. Pastikan kueri yang Anda tambahkan valid. Untuk memasukkan beberapa variabel dalam satuSET
pernyataan, gunakan pemisah koma. Misalnya:SET
variable1
=value1
,variable2
=value2
Untuk beberapa pernyataan, gunakan titik koma sebagai pemisah.
penting
Karena Anda dapat mengakses kueri inisialisasi sebagai bagian dari konfigurasi grup target, itu tidak dilindungi oleh otentikasi atau metode kriptografi. Siapa pun yang memiliki akses untuk melihat atau mengelola konfigurasi grup target proxy Anda dapat melihat kueri inisialisasi. Anda tidak boleh menambahkan data sensitif, seperti kata sandi atau kunci enkripsi berumur panjang, ke opsi ini.
AWS Identity and Access Management Peran (IAM) Peran IAM dengan izin untuk mengakses rahasia Secrets Manager, yang mewakili kredensil untuk akun pengguna database yang dapat digunakan proxy. Atau, Anda dapat membuat peran IAM baru dari. AWS Management Console
Rahasia Secrets Manager Pilih setidaknya satu rahasia Secrets Manager terpisah yang berisi kredensial pengguna basis data yang memungkinkan proksi mengakses klaster DB Aurora. Jenis otentikasi klien Jenis otentikasi yang digunakan proxy untuk koneksi dari klien. Pilihan Anda berlaku untuk semua rahasia Secrets Manager yang Anda kaitkan dengan proksi ini. Jika Anda perlu menentukan jenis otentikasi klien yang berbeda untuk setiap rahasia, buat proxy Anda dengan menggunakan AWS CLI atau API sebagai gantinya. Autentikasi IAM Apakah memerlukan atau melarang autentikasi IAM untuk koneksi ke proxy Anda. Pilihan Anda berlaku untuk semua rahasia Secrets Manager yang Anda kaitkan dengan proksi ini. Jika Anda perlu menentukan otentikasi IAM yang berbeda untuk setiap rahasia, buat proxy Anda dengan menggunakan AWS CLI atau API sebagai gantinya. Memerlukan Keamanan Lapisan Transportasi Menerapkan TLS/SSL untuk semua koneksi klien. Proxy menggunakan pengaturan enkripsi yang sama untuk koneksi ke database yang mendasarinya, apakah koneksi klien dienkripsi atau tidak terenkripsi.
Subnet Bidang ini diisi sebelumnya dengan semua subnet yang terkait dengan VPC Anda. Anda dapat menghapus subnet apa pun yang tidak diperlukan untuk proxy, tetapi Anda harus meninggalkan setidaknya dua subnet.
Grup keamanan VPC Pilih grup keamanan VPC yang ada atau buat yang baru dari. AWS Management Console Konfigurasikan aturan masuk untuk memungkinkan aplikasi Anda mengakses proxy dan aturan keluar untuk mengizinkan lalu lintas dari target database Anda.
catatan
Grup keamanan harus mengizinkan koneksi dari proxy ke database. Ini berfungsi baik untuk masuknya dari aplikasi Anda ke proxy dan keluar dari proxy ke database. Misalnya, jika Anda menggunakan grup keamanan yang sama untuk database dan proxy, pastikan sumber daya dalam grup keamanan tersebut dapat berkomunikasi satu sama lain.
Saat Anda menggunakan VPC bersama, hindari menggunakan grup keamanan default untuk VPC atau yang terkait dengan akun lain. Sebagai gantinya, pilih grup keamanan milik akun Anda. Jika tidak ada, buat satu. Untuk informasi selengkapnya, lihat Bekerja dengan berbagi VPCs.
RDS menyebarkan proxy di beberapa Availability Zone untuk memastikan ketersediaan tinggi. Untuk mengaktifkan komunikasi lintas AZ, daftar kontrol akses jaringan (ACL) untuk subnet proxy Anda harus mengizinkan jalan keluar pada port engine dan masuknya pada semua port. Untuk informasi selengkapnya tentang jaringan ACLs, lihat Mengontrol lalu lintas ke subnet menggunakan jaringan ACLs. Jika ACL jaringan untuk proksi dan target Anda identik, Anda harus menambahkan aturan masuknya protokol TCP tempat Sumber diatur ke CIDR VPC. Anda juga harus menambahkan aturan keluar protokol TCP khusus port engine di mana Tujuan diatur ke CIDR VPC.
Aktifkan logging yang disempurnakan Aktifkan pengaturan ini untuk memecahkan masalah kompatibilitas proxy atau masalah kinerja. Saat diaktifkan, Proxy RDS mencatat informasi kinerja terperinci untuk membantu Anda men-debug perilaku SQL atau kinerja dan skalabilitas koneksi proxy.
Hanya aktifkan pengaturan ini untuk debugging dan pastikan langkah-langkah keamanan yang tepat ada untuk melindungi informasi sensitif di log. Untuk meminimalkan overhead, RDS Proxy secara otomatis menonaktifkan pengaturan ini 24 jam setelah aktivasi. Gunakan sementara untuk memecahkan masalah tertentu.
-
-
Pilih Buat proksi.
Untuk membuat proxy dengan menggunakan AWS CLI, panggil create-db-proxyperintah dengan parameter yang diperlukan berikut:
--db-proxy-name
--engine-family
--role-arn
--auth
--vpc-subnet-ids
Nilai --engine-family
ini bersifat peka huruf besar-kecil.
contoh
Untuk Linux, macOS, atau Unix:
aws rds create-db-proxy \ --db-proxy-name
proxy_name
\ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --authProxyAuthenticationConfig_JSON_string
\ --role-arniam_role
\ --vpc-subnet-idsspace_separated_list
\ [--vpc-security-group-idsspace_separated_list
] \ [--require-tls | --no-require-tls] \ [--idle-client-timeoutvalue
] \ [--debug-logging | --no-debug-logging] \ [--tagscomma_separated_list
]
Untuk Windows:
aws rds create-db-proxy ^ --db-proxy-name
proxy_name
^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --authProxyAuthenticationConfig_JSON_string
^ --role-arniam_role
^ --vpc-subnet-idsspace_separated_list
^ [--vpc-security-group-idsspace_separated_list
] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeoutvalue
] ^ [--debug-logging | --no-debug-logging] ^ [--tagscomma_separated_list
]
Berikut ini adalah contoh nilai JSON untuk opsi --auth
. Contoh ini menerapkan jenis otentikasi klien yang berbeda untuk setiap rahasia.
[ { "Description": "proxy description 1", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789123:secret/1234abcd-12ab-34cd-56ef-1234567890ab", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_SCRAM_SHA_256" }, { "Description": "proxy description 2", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret/1234abcd-12ab-34cd-56ef-1234567890cd", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_MD5" }, { "Description": "proxy description 3", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122221111:secret/1234abcd-12ab-34cd-56ef-1234567890ef", "IAMAuth": "REQUIRED" } ]
Tip
Jika Anda belum mengetahui subnet yang akan digunakan IDs untuk --vpc-subnet-ids
parameter, lihat Menyiapkan prasyarat jaringan untuk RDS Proxy contoh cara menemukannya.
catatan
Grup keamanan ini harus mengizinkan akses ke basis data yang terhubung ke proksi. Grup keamanan yang sama digunakan sebagai jalur masuk dari aplikasi ke proksi, dan jalur keluar dari proksi ke basis data. Misalnya, anggap saja Anda menggunakan grup keamanan yang sama untuk basis data dan proksi Anda. Dalam kasus ini, pastikan sumber daya dalam grup keamanan tersebut dapat berkomunikasi dengan sumber daya lain dalam grup keamanan yang sama.
Saat menggunakan VPC bersama, Anda tidak dapat menggunakan grup keamanan default untuk VPC, atau grup keamanan milik akun lain. Pilih grup keamanan milik akun Anda. Jika belum ada, buat. Untuk informasi selengkapnya tentang batasan ini, lihat Bekerja dengan berbagi VPCs.
Untuk membuat asosiasi yang tepat untuk proxy, Anda juga menggunakan register-db-proxy-targetsperintah. Tentukan nama grup target default
. Proksi RDS secara otomatis membuat grup target dengan nama ini saat Anda membuat setiap proksi.
aws rds register-db-proxy-targets --db-proxy-name
value
[--target-group-nametarget_group_name
] [--db-instance-identifiersspace_separated_list
] # rds db instances, or [--db-cluster-identifierscluster_id
] # rds db cluster (all instances)
Untuk membuat proxy RDS, panggil Create operasi Amazon RDS API. DBProxy Anda melewati parameter dengan struktur AuthConfigdata.
Proksi RDS secara otomatis membuat grup target bernama default
saat Anda membuat setiap proksi. Anda mengaitkan Aurora DB cluster dengan grup target dengan memanggil fungsi DBProxy Register Targets.