Membuat RDS Proxy - Amazon Aurora

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 klaster DB, buat proksi. Anda dapat mengaitkan proxy dengan cluster Aurora My atau SQL Aurora Postgre DB. SQL

Untuk membuat proksi
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Proksi.

  3. Pilih Buat proksi.

  4. 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. Untuk Aurora MySQL, pilih MariaDB dan My. SQL Untuk Aurora Postgre, pilih PostgreSQL. SQL

    • 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 cluster Aurora 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 klaster DB Amazon Aurora. 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 satu SET 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 .

    • 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 atau melarang IAM otentikasi untuk koneksi ke proxy Anda. 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.

  5. 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 } \ --auth ProxyAuthenticationConfig_JSON_string \ --role-arn iam_role \ --vpc-subnet-ids space_separated_list \ [--vpc-security-group-ids space_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeout value] \ [--debug-logging | --no-debug-logging] \ [--tags comma_separated_list]

Untuk Windows:

aws rds create-db-proxy ^ --db-proxy-name proxy_name ^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --auth ProxyAuthenticationConfig_JSON_string ^ --role-arn iam_role ^ --vpc-subnet-ids space_separated_list ^ [--vpc-security-group-ids space_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeout value] ^ [--debug-logging | --no-debug-logging] ^ [--tags comma_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-name target_group_name] [--db-instance-identifiers space_separated_list] # rds db instances, or [--db-cluster-identifiers cluster_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 cluster Aurora DB dengan grup target dengan memanggil fungsi R egisterDBProxy Targets.