Instans RDS for PostgreSQL berjalan di dalam Virtual Private Cloud (VPC) dan tidak dapat mengakses Internet publik secara langsung. Topik ini memandu Anda melalui konfigurasi NAT Gateway Internet dan entri Source Network Address Translation (SNAT) agar instans RDS for PostgreSQL Anda dapat terhubung ke database eksternal—MySQL, SQL Server, PostgreSQL, atau Redis—melalui Internet menggunakan ekstensi Foreign Data Wrapper (FDW).
Entri SNAT memberikan akses outbound ke Internet untuk instans tersebut. Jaringan eksternal tidak dapat mengakses instans melalui NAT Gateway.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans RDS for PostgreSQL. Lihat Buat instans RDS for PostgreSQL dengan cepat.
-
Database target (MySQL, SQL Server, PostgreSQL, atau Redis) yang dapat diakses melalui Internet dengan alamat IP publik.
-
Ekstensi FDW yang didukung oleh versi RDS for PostgreSQL Anda. Periksa Ekstensi yang didukung oleh RDS for PostgreSQL untuk ekstensi yang diperlukan berdasarkan jenis database:
-
MySQL:
mysql_fdw -
SQL Server:
tds_fdw -
PostgreSQL:
postgres_fdw -
Redis:
redis_fdw
-
-
Akun pada instans RDS for PostgreSQL. Lihat Buat akun.
-
Akun pada database target, serta database yang berisi data.
Sebelum mengonfigurasi FDW, kumpulkan informasi berikut dari database target:
-
Alamat IP publik atau hostname.
-
Nomor port (default:
3306untuk MySQL). -
Nama database.
-
Username dan password untuk koneksi FDW.
Konfigurasi Internet NAT gateway
Langkah 1: Buat NAT gateway
-
Masuk ke Konsol NAT Gateway.
-
Pada halaman Internet NAT Gateway, klik Create Internet NAT Gateway.
-
(Opsional) Jika ini pertama kalinya Anda menggunakan NAT Gateway, klik Create Service-linked Role di bagian Service-linked Role Creation. Tombol ini muncul di halaman Internet NAT Gateway.
-
Pada halaman Create Internet NAT Gateway, atur parameter berikut lalu klik Buy Now.
Tabel di bawah hanya mencantumkan parameter utama. Untuk semua parameter, lihat Gunakan fitur SNAT Internet NAT gateway untuk mengakses Internet.
Parameter Deskripsi Region Pilih wilayah yang sama dengan instans RDS for PostgreSQL Anda Network And Zone Pilih VPC dan vSwitch dari instans RDS for PostgreSQL Anda. Untuk menemukan VPC, buka halaman Database Connection di Konsol RDS Network Type Pilih Internet NAT Gateway EIP Pilih Configure Later -
Pada halaman Confirm, tinjau konfigurasi lalu klik Activate Now.
Setelah gateway dibuat, gateway tersebut akan muncul di halaman Internet NAT Gateway.
Langkah 2: Asosiasikan Elastic IP Address (EIP)
-
Di Konsol NAT Gateway, klik ID instans NAT gateway yang telah Anda buat.
-
Pada tab Associated EIP, klik Associate EIP.
-
Pada kotak dialog Associate EIP, pilih Purchase and Associate EIP.

-
Klik OK.
EIP akan muncul di bagian Associated EIP.
Langkah 3: Buat entri SNAT
-
Di Konsol NAT Gateway, klik ID instans NAT gateway yang telah Anda buat.
-
Pada tab SNAT, klik Create SNAT Entry.
-
Konfigurasi parameter berikut lalu klik OK.
Parameter Deskripsi SNAT Entry Pilih vSwitch Granularity. Semua instans dalam vSwitch menggunakan EIP untuk mengakses Internet Select vSwitch Pilih vSwitch dari instans RDS for PostgreSQL Anda Select EIP Pilih EIP yang diasosiasikan pada langkah sebelumnya
Entri SNAT akan muncul di SNAT Entry List.
Konfigurasi database target
Tambahkan EIP ke daftar putih atau aturan firewall database target agar menerima koneksi dari instans RDS Anda.
-
MySQL: Lihat Privileges provided by MySQL.
-
PostgreSQL: Lihat The pg_hba.conf file.
-
SQL Server: Lihat Configure the Windows firewall to allow SQL Server access.
-
Redis: Gunakan firewall untuk mengizinkan traffic dari EIP pada port Redis. Misalnya, pada CentOS dengan iptables:
iptables -A INPUT -s <EIP_associated_with_the_Internet_NAT_gateway> -p tcp --dport <Redis_port_number> -j ACCEPT
Konfigurasi instans RDS for PostgreSQL
Langkah-langkah berikut menggunakan database MySQL sebagai contoh. Ekstensi mysql_fdw digunakan sepanjang proses. Ganti nama ekstensi dan opsi FDW dengan nilai yang sesuai untuk jenis database target Anda.
Langkah 1: Hubungkan ke instans RDS
Hubungkan ke instans RDS for PostgreSQL Anda. Lihat Hubungkan ke instans PostgreSQL.
Langkah 2: Instal ekstensi FDW
Jalankan perintah berikut:
CREATE EXTENSION mysql_fdw;
Langkah 3: Buat definisi server
Buat definisi server yang mengarah ke database target. Ganti placeholder dengan nilai aktual:
CREATE SERVER
Contoh untuk database MySQL:
CREATE SERVER mysql_server80
FOREIGN DATA WRAPPER mysql_fdw OPTIONS (
host 'XX.XX.XX.XX',
port '3306'
);
Output yang diharapkan:
CREATE SERVER
Langkah 4: Buat pemetaan pengguna
Petakan definisi server ke pengguna di instans RDS. Hal ini memungkinkan pengguna melakukan autentikasi ke database MySQL target:
CREATE USER MAPPING
Contoh:
CREATE USER MAPPING
FOR pg_client SERVER mysql_server80 OPTIONS (
username 'testuser',
password 'U123456!'
);
Output yang diharapkan:
CREATE USER MAPPING
Langkah 5: Buat tabel eksternal
Buat tabel eksternal yang dipetakan ke tabel di database target. Nama dan tipe kolom harus sesuai dengan tabel remote:
CREATE FOREIGN TABLE
Contoh:
CREATE FOREIGN TABLE mysql_fdw_test (
id int,
name varchar(10)
)
SERVER mysql_server80 OPTIONS (
dbname 'testdb',
table_name 'test'
);
Output yang diharapkan:
CREATE FOREIGN TABLE
Langkah 6: Verifikasi koneksi
Lakukan kueri pada tabel eksternal untuk memastikan data dikembalikan dari database MySQL target:
SELECT * FROM mysql_fdw_test;
Jika kueri mengembalikan baris dari database target, konfigurasi telah selesai.
Langkah selanjutnya
-
Untuk mengakses jenis database eksternal lainnya, ulangi langkah-langkah di atas dengan ekstensi FDW yang sesuai (
tds_fdwuntuk SQL Server,postgres_fdwuntuk PostgreSQL,redis_fdwuntuk Redis). -
Untuk mengelola pengaturan NAT gateway Anda, lihat Gunakan fitur SNAT Internet NAT gateway untuk mengakses Internet.