Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat RDS Proxy
Untuk mengelola koneksi untuk kumpulan instans DB tertentu, Anda dapat membuat proksi. Anda dapat mengaitkan proxy dengan RDS untuk MariaDB, untuk SQL Microsoft Server, RDS untuk SQL My, RDS atau untuk RDS SQL Postgre DB instance.
Untuk membuat proksi
-
Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/
. -
Di panel navigasi, pilih Proksi.
-
Pilih Buat proksi.
-
Pilih semua pengaturan untuk proksi Anda.
Untuk Konfigurasi proksi, masukkan informasi untuk opsi berikut:
-
Keluarga mesin. Pengaturan ini menentukan protokol jaringan basis data mana yang dikenali proksi ketika menafsirkan lalu lintas jaringan ke dan dari basis data. RDSUntuk MariaDB RDS atau untuk MySQL, pilih MariaDB dan My. SQL RDSUntuk PostgreSQL, pilih Postgre. SQL RDSUntuk SQL Server, pilih SQLServer.
-
ID proksi. Tentukan nama yang unik dalam ID AWS akun Anda dan AWS Wilayah saat ini.
-
Batas waktu koneksi klien idle. Pilih periode waktu saat koneksi klien menjadi idle sebelum proksi menutupnya. Nilai default-nya adalah 1.800 detik (30 menit). Koneksi klien dianggap idle jika aplikasi tidak mengirimkan permintaan baru dalam waktu yang ditentukan setelah permintaan sebelumnya selesai. Koneksi basis data yang mendasarinya akan tetap terbuka dan dikembalikan ke kumpulan koneksi. Oleh karena itu, koneksi dapat digunakan kembali untuk koneksi klien baru.
Jika Anda ingin proksi secara proaktif menghapus koneksi yang sudah tidak terpakai, kurangi batas waktu koneksi klien idle. Saat beban kerja meningkat, untuk menghemat biaya pembangunan koneksi, tambah batas waktu koneksi klien idle.”
Untuk Konfigurasi grup target, masukkan informasi untuk opsi berikut:
-
Basis data. Pilih satu instans RDS DB 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 cluster DB baru yang kompatibel dengan RDS Proxy. Untuk melakukannya, ikuti prosedurnya di Membuat instans Amazon RDS DB. Lalu, coba buat proksi lagi.
-
Koneksi maksimum kumpulan koneksi. Tentukan sebuah nilai dari 1 hingga 100. Pengaturan ini mewakili persentase
max_connections
nilai yang dapat digunakan RDS Proxy untuk koneksinya. Jika hanya ingin menggunakan satu proksi dengan instans atau klaster DB ini, Anda dapat mengatur nilai ini ke 100. Untuk detail tentang cara RDS Proxy menggunakan setelan ini, lihatMaxConnectionsPercent. -
Filter penyematan sesi. (Opsional) Opsi ini memungkinkan Anda untuk memaksa RDS Proxy untuk tidak menyematkan untuk jenis status sesi tertentu yang terdeteksi. Tindakan ini menghindari langkah-langkah keamanan default untuk me-multipleks koneksi basis data di seluruh koneksi klien. Saat ini, pengaturan tidak didukung untuk PostgreSQL. Satu-satunya pilihan adalah
EXCLUDE_VARIABLE_SETS
.Mengaktifkan pengaturan ini dapat menyebabkan variabel sesi dari satu koneksi memengaruhi koneksi lain. Hal ini dapat menyebabkan kesalahan atau masalah ketepatan jika kueri Anda bergantung pada nilai variabel sesi yang ditetapkan di luar transaksi saat ini. Pertimbangkan untuk menggunakan opsi ini setelah memastikan bahwa aplikasi Anda sudah bisa berbagi koneksi basis data dengan aman di seluruh koneksi klien.
Pola berikut bisa dianggap aman:
-
Pernyataan
SET
di mana tidak ada perubahan pada nilai variabel sesi efektif, yaitu 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.
-
-
Batas waktu peminjaman koneksi. Dalam beberapa kasus, mungkin Anda berharap proksi tersebut sekali-sekali menggunakan semua koneksi basis data yang tersedia. Dalam kasus seperti itu, Anda dapat menentukan durasi proksi harus menunggu koneksi basis data menjadi tersedia sebelum menampilkan kesalahan batas waktu. Anda dapat menentukan periode hingga maksimum lima menit. Pengaturan ini hanya berlaku jika proksi memiliki koneksi terbuka maksimum dan semua koneksi sudah digunakan.
-
Kueri inisialisasi. (Opsional) Tambahkan kueri inisialisasi, atau ubah yang sekarang. Anda dapat menentukan satu atau beberapa SQL pernyataan untuk proxy yang akan dijalankan saat membuka setiap koneksi database 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. Sebagai contoh:SET
variable1
=value1
,variable2
=value2
Untuk beberapa pernyataan, gunakan titik koma sebagai pemisah.
Untuk Autentikasi, masukkan informasi untuk opsi berikut:
-
IAMperan. Pilih IAM peran yang memiliki izin untuk mengakses rahasia Secrets Manager yang Anda pilih sebelumnya. Atau, Anda dapat membuat IAM peran baru dari AWS Management Console.
-
Rahasia Secrets Manager. Pilih setidaknya satu rahasia Secrets Manager yang berisi kredensi pengguna database yang memungkinkan proxy mengakses cluster RDSDB DB instance DB.
-
Jenis autentikasi klien. Pilih jenis autentikasi yang digunakan proksi 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, maka buat proxy Anda dengan menggunakan AWS CLI atau API sebagai gantinya.
-
IAMotentikasi. Pilih apakah akan mewajibkan, mengizinkan, atau melarang IAM otentikasi untuk koneksi ke proxy Anda. Opsi izinkan hanya berlaku untuk proxy RDS untuk SQL Server. Pilihan Anda berlaku untuk semua rahasia Secrets Manager yang Anda kaitkan dengan proksi ini. Jika Anda perlu menentukan IAM otentikasi yang berbeda untuk setiap rahasia, buat proxy Anda dengan menggunakan AWS CLI atau API sebagai gantinya.
Untuk Konektivitas, masukkan informasi untuk opsi berikut:
-
Wajibkan Keamanan Lapisan Pengangkutan. Pilih pengaturan ini jika Anda ingin proxy memberlakukanTLS/SSLuntuk semua koneksi klien. Untuk koneksi terenkripsi atau tidak terenkripsi ke sebuah proksi, proksi menggunakan pengaturan enkripsi yang sama saat membuat koneksi ke basis data acuan.
-
Subnet. Bidang ini diisi sebelumnya dengan semua subnet yang terkait dengan Anda. VPC Anda dapat menghapus subnet apa pun yang tidak diperlukan oleh proksi ini. Anda harus membiarkan setidaknya dua subnet.
Masukkan konfigurasi konektivitas tambahan:
-
VPCkelompok keamanan. Pilih grup VPC keamanan yang ada. Atau, Anda dapat membuat grup keamanan baru dari AWS Management Console. Anda harus mengonfigurasi Aturan masuk untuk mengizinkan aplikasi Anda mengakses proksi. Anda juga harus mengonfigurasi Aturan keluar untuk mengizinkan lalu lintas dari target DB Anda.
catatan
Grup keamanan ini harus mengizinkan koneksi dari proksi ke basis data. 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 bersamaVPC, Anda tidak dapat menggunakan grup keamanan default untuk grupVPC, atau grup milik akun lain. Pilih grup keamanan milik akun Anda. Jika belum ada, buat. Untuk informasi selengkapnya tentang batasan ini, lihat Bekerja dengan berbagi VPCs.
RDSmenyebarkan proxy melalui beberapa Availability Zone untuk memastikan ketersediaan tinggi. Untuk mengaktifkan komunikasi lintas-AZ untuk proxy semacam itu, daftar kontrol akses jaringan (ACL) untuk subnet proxy Anda harus mengizinkan jalan keluar khusus port engine dan semua port masuk. Untuk informasi selengkapnya tentang jaringanACLs, lihat Mengontrol lalu lintas ke subnet menggunakan jaringan ACLs. Jika jaringan ACL untuk proxy dan target Anda identik, Anda harus menambahkan aturan masuknya TCPprotokol di mana Sumber diatur ke VPCCIDR. Anda juga harus menambahkan aturan keluar TCPprotokol khusus port engine di mana Tujuan diatur ke. VPC CIDR
(Opsional) Masukkan konfigurasi lanjutan:
-
Aktifkan pencatatan log yang disempurnakan. Anda dapat mengaktifkan pengaturan ini untuk memecahkan masalah kompatibilitas proksi atau masalah performa.
Saat pengaturan ini diaktifkan, RDS Proxy menyertakan informasi terperinci tentang kinerja proxy di lognya. Informasi ini membantu Anda men-debug masalah yang melibatkan SQL perilaku atau kinerja dan skalabilitas koneksi proxy. Dengan demikian, hanya aktifkan pengaturan ini untuk debugging dan ketika Anda memiliki langkah-langkah keamanan untuk melindungi informasi sensitif apa pun yang muncul di log.
Untuk meminimalkan overhead yang terkait dengan proxy Anda, RDS Proxy secara otomatis mematikan pengaturan ini 24 jam setelah Anda mengaktifkannya. Aktifkan 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 JSON nilai untuk --auth
opsi tersebut. Contoh ini menerapkan jenis autentikasi 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 Proxy RDS 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 bersamaVPC, Anda tidak dapat menggunakan grup keamanan default untuk grupVPC, atau grup 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
. RDSProxy secara otomatis membuat grup target dengan nama ini saat Anda membuat setiap proxy.
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 RDS proxy, hubungi RDS API operasi Amazon C reateDBProxy. Anda melewati parameter dengan struktur AuthConfigdata.
RDSProxy secara otomatis membuat grup target bernama default
saat Anda membuat setiap proxy. Anda mengaitkan instance RDS DB dengan grup target dengan memanggil fungsi R egisterDBProxy Targets.