View a markdown version of this page

Membuat proxy untuk Amazon RDS - Amazon Relational Database Service

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

Membuat proxy untuk Amazon RDS

Anda dapat mengaitkan proksi dengan instans DB RDS for MariaDB, RDS for Microsoft SQL Server, RDS for MySQL, atau RDS for PostgreSQL.

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

  2. Di panel navigasi, pilih Proksi.

  3. Pilih Buat proksi.

  4. Konfigurasikan pengaturan berikut untuk proxy Anda.

    Pengaturan Deskripsi
    Keluarga mesin Protokol jaringan database yang dikenali proxy ketika menafsirkan lalu lintas jaringan ke dan dari database.
    catatan

    Untuk menggunakan RDS untuk PostgreSQL , pastikan untuk menyimpan database di instance Anda. postgres Lihat Pemecahan masalah database yang dihapus postgres.

    Pengidentifikasi proxy Nama yang unik dalam ID AWS akun Anda dan Wil AWS ayah saat ini.
    Batas waktu koneksi klien tidak aktif

    Proxy menutup koneksi klien jika tetap idle selama periode yang ditentukan. Secara default, ini adalah 1.800 detik (30 menit). Koneksi tidak aktif ketika 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 yang tidak aktif. Untuk meminimalkan biaya koneksi selama lonjakan beban kerja, tingkatkan batas waktu.

    Basis Data Instans RDS 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 instans DB Amazon RDS. Kemudian, coba buat proxy lagi.
    Koneksi maksimum kumpulan koneksi Nilai antara 1 dan 100 untuk menentukan persentase max_connections batas yang dapat digunakan Proxy RDS. Jika Anda hanya ingin menggunakan satu proxy dengan instance atau cluster DB ini, setel nilai ini ke 100. Untuk informasi selengkapnya tentang cara RDS Proxy menggunakan pengaturan ini, lihatMaxConnectionsPercent.
    Filter penyematan sesi

    Mencegah RDS Proxy 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 mempengaruhi yang lain, 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 berikut dianggap aman:

    • SETpernyataan 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.

    Batas waktu pinjaman koneksi Jika Anda mengharapkan proxy 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 semuanya sedang digunakan.
    Kueri inisialisasi

    (Opsional) Tambahkan kueri inisialisasi, atau ubah yang saat ini. 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 satu SET pernyataan, gunakan pemisah koma. Contoh:

    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 metode otentikasi atau 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 (IAM) peran

    Peran IAM dengan izin untuk mengakses rahasia Manajer Rahasia, yang mewakili kredenSIAL untuk akun pengguna basis data yang dapat digunakan proxy. Atau, Anda dapat membuat peran IAM baru dari Konsol Manajemen AWS.

    catatan

    Jika manajer peran diaktifkan di akun Anda, Amazon RDS melampirkan peran untuk Anda, dan opsi peran yang dijelaskan di sini diganti dengan opsi Kustom isasi. Untuk menggunakan peran yang berbeda, pilih Ku stomisasi. Untuk informasi selengkapnya, lihat pembuatan peran IAM di Panduan Pengguna IAM.

    Rahasia Manajer Rahasia

    Buat atau pilih rahasia Manajer Rahasia yang mewakili kredenSIAL untuk akun pengguna database yang dapat menggunakan proxy.

    Bila skema otentikasi default disetel ke Tidak ada, bidang ini wajib diisi. Ketika skema otentikasi default disetel ke otentikasi IAM, bidang ini menjadi opsional dan ditandai seperti itu di konsol.

    Anda dapat memilih satu atau lebih rahasia dari dropdown atau membuat rahasia baru menggunakan tautan Buat rahasia baru.

    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. Tentukan opsi ini hanya jika koneksi klien Anda menggunakan kredentif database untuk otentikasi.
    Otentikasi IAM Tentukan Diperlukan , Diizinkan, atau Tidak Diizinkan untuk otentikasi IAM untuk koneksi ke proxy Anda. Opsi Diizinkan hanya berlaku untuk proxy untuk RDS untuk SQL Server. 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.
    Skema otentikasi default

    Pilih jenis otentikasi default yang digunakan proxy untuk koneksi klien ke proxy dan koneksi dari proxy ke database yang mendasarinya. Anda memiliki opsi berikut:

    • Tidak ada (default) - Proksi mengambil kredenSIAL database dari rahasia Manajer Rahasia.

    • Otentikasi IAM - Proksi menggunakan otentikasi IAM untuk terhubung ke database, memungkinkan otentikasi IAM ujung ke ujung.

    Saat Anda memilih otentikasi IAM, peringatan informasi muncul yang mengingatkan Anda untuk mengaktifkan otentikasi basis data IAM untuk database dalam konfigurasi grup target.

    catatan

    Opsi ini didukung untuk keluarga mesin MySQL, PostgreSQL, dan MariaDB saja.

    Akun database untuk otentikasi IAM

    Bidang ini hanya muncul ketika skema otentikasi default disetel ke otentikasi IAM dan peran Identitas dan manajemen akses (IAM) disetel ke Buat peran IAM.

    Beri nama akun pengguna database untuk proxy yang akan digunakan dengan otentikasi IAM. Bidang ini harus diisi. Tentukan beberapa akun dengan:

    • Mengetik nama pengguna database untuk menambahkannya sebagai tag

    • Menggunakan nama pengguna database tertentu (mis.,db_user,jane_doe)

    • Menggunakan pola wildcard untuk beberapa pengguna (mis.,db_test_*)

    Setiap akun muncul sebagai tag yang dapat dilepas yang dapat Anda hapus dengan mengklik ikon X. Konsol menggunakan nilai-nilai ini untuk membuat rds-db:connect izin yang sesuai dalam kebijakan peran IAM.

    Memerlukan Keamanan Lapisan Transportasi

    Menegakkan TLS/SSL untuk semua koneksi klien. Proxy menggunakan pengaturan enkripsi yang sama untuk koneksi ke database yang mendasarinya, apakah koneksi klien dienkripsi atau tidak dienkripsi.

    Jenis jaringan koneksi target

    Versi IP yang digunakan proxy untuk terhubung ke database target. Pilih dari salah satu pilihan berikut:

    • IPv4 — Proxy terhubung ke database menggunakan alamat IPv4.

    • IPv6 — Proxy terhubung ke database menggunakan alamat IPv6.

    Defaultnya adalah IPv4. Untuk menggunakan IPv6, database Anda harus mendukung mode dual-stack. Dual-stack mode tidak tersedia untuk koneksi target.

    Jenis jaringan titik akhir

    Versi IP untuk titik akhir proxy yang digunakan klien untuk terhubung ke proxy. Pilih dari salah satu pilihan berikut:

    • IPv4 — Titik akhir proxy hanya menggunakan alamat IPv4.

    • IPv6 — Titik akhir proxy hanya menggunakan alamat IPv6.

    • Dual-stack- Titik akhir proxy mendukung alamat IPv4 dan IPv6.

    Defaultnya adalah IPv4. Untuk menggunakan IPv6 atau dual-stack, VPC dan subnet Anda harus dikonfigurasi untuk mendukung jenis jaringan yang dipilih.

    Subnet

    Bidang ini sudah 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. Untuk jenis jaringan titik akhir IPv6 atau dual-stack, pastikan bahwa subnet yang dipilih mendukung jenis jaringan yang dipilih.

    Grup keamanan VPC

    Pilih grup keamanan VPC yang ada atau buat yang baru dari Konsol Manajemen AWS. 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 masuk dari aplikasi Anda ke proxy dan keluar dari proxy ke database. Misalnya, jika Anda menggunakan grup keamanan yang sama untuk database dan proxy, pastikan bahwa sumber daya dalam grup keamanan tersebut dapat berkomunikasi satu sama lain.

    Saat Anda menggunakan VPC bersama, hindari menggunakan grup keamanan default untuk VPC atau grup yang terkait dengan akun lain. Sebagai gantinya, pilih grup keamanan milik akun Anda. Jika tidak ada, buatlah satu. Untuk informasi selengkapnya, lihat Bekerja dengan VPC bersama.

    RDS menyebarkan proxy di beberapa Zona Ketersediaan untuk memastikan ketersediaan tinggi. Untuk mengaktifkan komunikasi lintas AZ, daftar kontrol akses jaringan (ACL) untuk subnet proxy Anda harus mengizinkan keluar pada port engine dan masuk pada semua port. Untuk informasi selengkapnya tentang ACL jaringan, lihat Mengontrol lalu lintas ke subnet menggunakan ACL jaringan. 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 mesin di mana Tujuan diatur ke VPC CIDR.

    Aktifkan logging yang disempurnakan

    Aktifkan pengaturan ini untuk memecahkan masalah kompatibilitas proxy atau kinerja. Saat diaktifkan, RDS Proxy mencatat informasi kinerja terperinci untuk membantu Anda men-debug perilaku SQL atau kinerja koneksi proxy dan skalabilitas.

    Hanya aktifkan pengaturan ini untuk debugging dan pastikan langkah-langkah keamanan yang tepat dilakukan untuk melindungi informasi sensitif dalam log. Untuk meminimalkan overhead, RDS Proxy secara otomatis menonaktifkan pengaturan ini 24 jam setelah aktivasi. Gunakan sementara untuk memecahkan masalah tertentu.

  5. Pilih Buat proksi.

Untuk membuat proxy dengan menggunakan AWS CLI, panggil perintah create-db-proxy dengan parameter yang diperlukan berikut:

  • --db-proxy-name

  • --engine-family

  • --role-arn

  • --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 } \ --role-arn iam_role \ --vpc-subnet-ids space_separated_list \ [--default-auth-scheme { NONE | IAM_AUTH }] \ [--auth ProxyAuthenticationConfig_JSON_string] \ [--vpc-security-group-ids space_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeout value] \ [--debug-logging | --no-debug-logging] \ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] \ [--target-connection-network-type { IPV4 | IPV6 }] \ [--tags comma_separated_list]

Untuk Windows:

aws rds create-db-proxy ^ --db-proxy-name proxy_name ^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --role-arn iam_role ^ --vpc-subnet-ids space_separated_list ^ [--default-auth-scheme { NONE | IAM_AUTH }] ^ [--auth ProxyAuthenticationConfig_JSON_string] ^ [--vpc-security-group-ids space_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeout value] ^ [--debug-logging | --no-debug-logging] ^ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] ^ [--target-connection-network-type { IPV4 | IPV6 }] ^ [--tags comma_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" } ]

--endpoint-network-typeParameter menentukan versi IP untuk titik akhir proxy yang digunakan klien untuk terhubung ke proxy. Nilai yang valid adalah:

  • IPV4— Titik akhir proxy hanya menggunakan alamat IPv4 (default).

  • IPV6- Titik akhir proxy hanya menggunakan alamat IPv6.

  • DUAL- Titik akhir proxy mendukung alamat IPv4 dan IPv6.

--target-connection-network-typeParameter menentukan versi IP yang digunakan proxy untuk terhubung ke database target. Nilai yang valid adalah:

  • IPV4— Proxy terhubung ke database menggunakan alamat IPv4 (default).

  • IPV6— Proxy terhubung ke database menggunakan alamat IPv6.

Untuk menggunakan jenis jaringan titik akhir IPv6 atau dual-stack, VPC dan subnet Anda harus dikonfigurasi untuk mendukung jenis jaringan yang dipilih. Untuk menggunakan jenis jaringan koneksi target IPv6, database Anda harus mendukung mode dual-stack.

Tip

Jika Anda belum tahu ID subnet yang akan digunakan untuk parameter --vpc-subnet-ids, lihat Menyiapkan prasyarat jaringan untuk RDS Proxy untuk contoh tentang 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 VPC bersama.

Untuk membuat pengaitan yang tepat untuk proksi, Anda juga dapat menggunakan perintah register-db-proxy-targets. 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-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 proksi RDS, panggil operasi Amazon RDS API CreateDBProxy. Anda melewati parameter dengan struktur AuthConfig data.

Proksi RDS secara otomatis membuat grup target bernama default saat Anda membuat setiap proksi. Anda mengaitkan cluster RDS dengan grup target dengan memanggil fungsi RegisterDBProxyTargets.

penting

Bila Anda memilih otentikasi IAM untuk skema otentikasi default:

  • Anda harus mengaktifkan otentikasi database IAM pada instans database target atau cluster sebelum proxy berhasil terhubung.

  • Jika Anda memilih Buat peran IAM, bidang Akun database untuk otentikasi IAM diperlukan.

  • Jika Anda memilih peran IAM yang ada, konsol tidak secara otomatis memperbarui peran dengan izin koneksi database. Periksa apakah peran tersebut memiliki rds-db:connect izin yang diperlukan.