Bagikan melalui


Aturan firewall pada Azure Database for PostgreSQL

saat menjalankan instans server fleksibel Azure Database for PostgreSQL, Anda memiliki dua opsi jaringan utama. Opsinya adalah akses privat (integrasi jaringan virtual) dan akses publik (alamat IP yang diizinkan).

Dengan akses publik, instans server fleksibel Azure Database for PostgreSQL diakses melalui titik akhir publik. Secara default, firewall memblokir semua akses ke server. Untuk menentukan host IP mana yang dapat mengakses server, Anda membuat aturan firewall tingkat server. Aturan firewall menentukan rentang alamat IP publik yang diizinkan. Firewall memberikan akses ke server berdasarkan alamat IP asal dari setiap permintaan. Dengan akses privat , tidak ada titik akhir publik yang tersedia dan hanya host yang terletak di jaringan yang sama yang dapat mengakses instans server fleksibel Azure Database for PostgreSQL Anda.

Anda dapat membuat aturan firewall dengan menggunakan portal Microsoft Azure atau dengan menggunakan perintah Azure CLI. Anda harus menjadi pemilik langganan atau kontributor langganan.

Aturan firewall tingkat server berlaku untuk semua database pada instans server fleksibel Azure Database for PostgreSQL yang sama. Aturan tidak memengaruhi akses ke situs web portal Microsoft Azure.

Diagram berikut menunjukkan bagaimana upaya koneksi dari internet dan Azure harus melewati firewall sebelum dapat menjangkau database Azure Database for PostgreSQL:

Diagram aturan firewall di Azure Database for PostgreSQL.

Menyambungkan dari internet

Jika alamat IP sumber permintaan berada dalam salah satu rentang yang ditentukan dalam aturan firewall tingkat server, koneksi diberikan. Jika tidak, itu ditolak.

Misalnya, jika aplikasi Anda tersambung dengan driver Java Database Connectivity (JDBC) untuk Azure Database for PostgreSQL, Anda mungkin mengalami kesalahan ini karena firewall memblokir koneksi:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException:
  • org.postgresql.util.PSQLException: FATAL: tidak ada entri pg_hba.conf untuk host "123.45.67.890", pengguna "adminuser", database "postgresql", SSL

Nota

Untuk mengakses instans server fleksibel Azure Database for PostgreSQL dari komputer lokal Anda, pastikan firewall di jaringan dan komputer lokal Anda memungkinkan komunikasi keluar pada port TCP 5432.

Menyambungkan dari Azure

Kami menyarankan agar Anda menemukan alamat IP keluar dari aplikasi atau layanan apa pun dan secara eksplisit mengizinkan akses ke alamat atau rentang IP individual tersebut. Misalnya, Anda dapat menemukan alamat IP keluar aplikasi Azure App Service, atau menggunakan alamat IP publik yang terkait dengan komputer virtual.

Jika alamat IP keluar tetap tidak tersedia untuk layanan Azure Anda, pertimbangkan untuk mengaktifkan koneksi dari semua alamat IP untuk pusat data Azure:

  1. Di portal Microsoft Azure, pada panel Jaringan , pilih kotak centang Izinkan akses publik dari layanan Azure apa pun dalam Azure ke server ini .

  2. Pilih Simpan.

    Cuplikan layar halaman jaringan dengan firewall.

    Penting

    Opsi Izinkan akses publik dari layanan Azure apa pun dalam Azure ke server ini mengonfigurasi firewall untuk mengizinkan semua koneksi dari Azure, termasuk koneksi dari langganan pelanggan lain. Saat Anda menggunakan opsi ini, pastikan izin masuk dan pengguna Anda membatasi akses hanya untuk pengguna yang berwenang.

Mengelola aturan firewall secara terprogram

Selain menggunakan portal Microsoft Azure, Anda dapat mengelola aturan firewall secara terprogram dengan menggunakan Azure CLI.

Dari Azure CLI, pengaturan aturan firewall dengan alamat awal dan akhir yang sama dengan 0.0.0.0 setara dengan opsi Izinkan akses publik dari layanan Azure apa pun dalam Azure ke server ini di portal. Jika aturan firewall menolak upaya koneksi, aplikasi tidak akan mencapai instans server fleksibel Azure Database for PostgreSQL.

Memecahkan masalah firewall

Pertimbangkan kemungkinan berikut saat akses ke instans server fleksibel Azure Database for PostgreSQL tidak bertingkah seperti yang Anda harapkan:

  • Perubahan pada daftar yang diizinkan belum berlaku: Perubahan pada konfigurasi firewall instans server fleksibel Azure Database for PostgreSQL mungkin memakan waktu hingga lima menit.

  • Rincian masuk tidak diotorisasi, atau kata sandi yang salah digunakan: Jika rincian masuk tidak memiliki izin pada instans server fleksibel Azure Database for PostgreSQL atau kata sandi salah, koneksi ke server ditolak. Membuat pengaturan firewall hanya memberi klien kesempatan untuk mencoba menyambungkan ke server Anda. Setiap klien masih harus memberikan kredensial keamanan yang diperlukan.

Misalnya, kesalahan berikut mungkin muncul jika autentikasi gagal untuk klien JDBC:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: autentikasi kata sandi gagal untuk pengguna "yourusername"

  • Firewall tidak mengizinkan alamat IP dinamis: Jika Anda memiliki koneksi internet dengan alamat IP dinamis dan Anda mengalami masalah saat melewati firewall, coba salah satu solusi berikut:

  • Tanyakan kepada penyedia layanan internet (ISP) Anda untuk rentang alamat IP yang ditetapkan ke komputer klien Anda yang mengakses instans server fleksibel Azure Database for PostgreSQL. Kemudian tambahkan rentang alamat IP sebagai aturan firewall.

  • Dapatkan alamat IP statis sebagai gantinya untuk komputer klien Anda, lalu tambahkan alamat IP statis sebagai aturan firewall.

  • Aturan firewall tidak tersedia untuk format IPv6: Aturan firewall harus dalam format IPv4. Jika Anda menentukan aturan firewall dalam format IPv6, Anda akan mendapatkan kesalahan validasi.