Aturan firewall di Azure Database untuk PostgreSQL - Server Fleksibel

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Fleksibel

Saat Menjalankan server fleksibel Azure Database for PostgreSQL, Anda memiliki dua opsi jaringan utama. Pilihannya adalah akses pribadi (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 server fleksibel Azure Database for PostgreSQL.

Anda dapat membuat aturan firewall menggunakan portal Azure atau 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 Azure.

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

Diagram that shows an overview of how the firewall works.

Menyambungkan dari internet

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

Misalnya, jika aplikasi Anda terhubung dengan driver Java Database Koneksi ivity (JDBC) untuk server fleksibel 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: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL

Catatan

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

Menyambungkan dari Azure

Kami menyarankan 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 dari aplikasi Azure App Service, atau menggunakan alamat IP publik yang terkait dengan mesin virtual.

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

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

Penting

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

Screenshot that shows selections for allowing access to Azure services in the portal.

Mengelola aturan firewall secara terprogram

Selain menggunakan portal Azure, Anda dapat mengelola aturan firewall secara terprogram 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 memberikan klien kesempatan untuk mencoba menyambungkan ke server Anda. Klien masih harus menyediakan info masuk 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: password authentication failed for user "yourusername"

  • Firewall tidak mengizinkan alamat IP dinamis: Jika Anda memiliki sambungan internet dengan pengalamatan IP dinamis dan Anda mengalami masalah untuk menembus 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.

Langkah berikutnya