Bagikan melalui


Gambaran umum jaringan untuk Azure Database for PostgreSQL dengan akses publik (alamat IP yang diizinkan)

Artikel ini menjelaskan konsep konektivitas dan jaringan untuk instans server fleksibel Azure Database for PostgreSQL.

Saat membuat instans server fleksibel Azure Database for PostgreSQL, Anda harus memilih salah satu opsi jaringan berikut:

  • Akses privat (integrasi jaringan virtual)
  • Akses publik (alamat IP yang diizinkan) dan titik akhir privat

Karakteristik berikut berlaku baik Anda memilih untuk menggunakan akses pribadi atau opsi akses publik:

  • Koneksi dari alamat IP yang diizinkan perlu diautentikasi ke instans server fleksibel Azure Database for PostgreSQL dengan kredensial yang valid.
  • Enkripsi koneksi diberlakukan untuk lalu lintas jaringan Anda.
  • Server memiliki nama domain yang sepenuhnya memenuhi syarat (FQDN). Untuk properti hostname dalam string koneksi, sebaiknya gunakan FQDN, alih-alih alamat IP.
  • Kedua opsi mengontrol akses di tingkat server, bukan di tingkat database atau tabel. Anda akan menggunakan properti peran PostgreSQL untuk mengontrol database, tabel, dan akses objek lainnya.

Catatan

Karena layanan Azure Database for PostgreSQL adalah layanan database terkelola, pengguna tidak menyediakan akses host atau sistem operasi untuk melihat atau memodifikasi file konfigurasi seperti pg_hba.conf. Konten file diperbarui secara otomatis berdasarkan pengaturan jaringan.

Menggunakan jaringan akses publik dengan Azure Database for PostgreSQL

Saat Anda memilih metode akses publik, instans server fleksibel Azure Database for PostgreSQL Anda diakses melalui titik akhir publik melalui internet. Titik akhir publik adalah alamat DNS yang dapat diselesaikan secara publik. Frasa alamat IP yang diizinkan mengacu pada rentang IP yang Anda pilih untuk memberikan izin akses ke server Anda. Izin ini disebut aturan firewall.

Pilih opsi jaringan ini jika Anda menginginkan kemampuan berikut:

  • Menyambungkan dari sumber daya Azure yang tidak mendukung jaringan virtual.
  • Sambungkan dari sumber daya di luar Azure yang tidak tersambung oleh VPN atau Azure ExpressRoute.
  • Pastikan bahwa instans server fleksibel Azure Database for PostgreSQL memiliki titik akhir publik yang dapat diakses melalui internet.

Karakteristik metode akses publik meliputi:

  • Hanya alamat IP yang Anda izinkan yang memiliki izin untuk mengakses instans server fleksibel Azure Database for PostgreSQL Anda. Secara default, tidak ada alamat IP yang diizinkan. Anda dapat menambahkan alamat IP selama pembuatan server atau sesudahnya.

  • Instans server fleksibel Azure Database for PostgreSQL Anda memiliki nama DNS yang dapat diselesaikan secara publik.

  • Instans server fleksibel Azure Database for PostgreSQL Anda tidak berada di salah satu jaringan virtual Azure Anda.

  • Lalu lintas jaringan ke dan dari server Anda tidak melalui jaringan privat. Lalu lintas menggunakan jalur internet umum.

Aturan firewall

Aturan firewall tingkat server berlaku untuk semua database pada instans server fleksibel Azure Database for PostgreSQL yang sama. 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 JDBC untuk PostgreSQL, Anda mungkin mengalami kesalahan ini saat mencoba terhubung ketika 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 instans 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.

Aturan firewall yang dikelola secara terprogram

Selain menggunakan portal Azure, Anda dapat mengelola aturan firewall secara terprogram dengan menggunakan Azure CLI. Untuk informasi selengkapnya, lihat Jaringan.

Perbolehkan semua alamat IP 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. Jika alamat IP keluar tetap tidak tersedia untuk layanan Azure Anda, Anda dapat mempertimbangkan untuk mengaktifkan koneksi dari semua alamat IP pusat data Azure.

Untuk mengaktifkan pengaturan ini dari portal Azure, pada panel Jaringan, pilih kotak centang Izinkan akses publik dari layanan Azure apa pun dalam Azure ke server ini lalu pilih Simpan.

Penting

Opsi Izinkan akses publik dari layanan Azure dan sumber daya dalam Azure mengonfigurasi firewall untuk mengizinkan semua koneksi, termasuk koneksi dari langganan pelanggan lain. jika Anda memilih opsi ini, pastikan bahwa login dan izin pengguna Anda membatasi akses hanya untuk pengguna yang diotorisasi.

Memecahkan masalah akses publik

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

  • Perubahan pada daftar yang diizinkan belum berlaku. Mungkin ada penundaan selama lima menit agar perubahan pada konfigurasi firewall server fleksibel Azure Database for PostgreSQL berlaku.

  • Autentikasi gagal. Jika pengguna tidak memiliki izin pada instans server fleksibel Azure Database for PostgreSQL atau kata sandi salah, koneksi ke instans server fleksibel Azure Database for PostgreSQL ditolak. Membuat pengaturan firewall hanya memberikan klien kesempatan untuk mencoba menyambungkan ke server Anda. Klien masih harus menyediakan info masuk keamanan yang diperlukan.

  • Alamat IP klien dinamis mencegah akses. Jika Anda memiliki koneksi internet yang menggunakan alamat IP dinamis dan Anda memiliki masalah melewati firewall, cobalah salah satu solusi berikut ini:

    • 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. Kemudian 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 mendapatkan kesalahan validasi.

Nama host

Terlepas dari opsi jaringan yang Anda pilih, kami sarankan Anda selalu menggunakan FQDN sebagai nama host saat menyambungkan ke instans server fleksibel Azure Database for PostgreSQL Anda. Alamat IP server tidak dijamin tetap statis. Menggunakan FQDN membantu Anda menghindari perubahan pada string koneksi Anda.

Contoh yang menggunakan FQDN sebagai nama host adalah hostname = servername.postgres.database.azure.com. Jika memungkinkan, hindari menggunakan hostname = 10.0.0.4 (alamat privat) atau hostname = 40.2.45.67 (alamat publik).

Alamat IP outbound untuk konfigurasi firewall

Saat instans server fleksibel Azure Database for PostgreSQL Anda perlu membuat koneksi keluar ke layanan eksternal (misalnya, untuk replikasi logis, ekstensi yang tersambung ke sumber daya eksternal, atau sumber data eksternal), Anda mungkin perlu mengonfigurasi aturan firewall pada layanan eksternal tersebut untuk memungkinkan lalu lintas dari server database Anda.

Menemukan alamat IP server

Untuk mengetahui alamat IP yang terpasang pada instans server fleksibel Azure Database for PostgreSQL Anda saat ini:

  • Menggunakan resolusi DNS: Anda dapat memetakan FQDN server (servername.postgres.database.azure.com) untuk mendapatkan alamat IP saat ini. Gunakan alat seperti nslookup atau dig:

    nslookup servername.postgres.database.azure.com
    
  • Menggunakan portal Microsoft Azure: Navigasikan ke instans server fleksibel Azure Database for PostgreSQL Anda di portal Microsoft Azure. Alamat IP publik server tidak ditampilkan secara langsung, tetapi Anda dapat menemukannya dengan menyelesaikan FQDN server.

  • Menggunakan Azure CLI: Anda dapat menggunakan Azure CLI untuk mendapatkan informasi tentang server Anda lalu mengatasi nama host:

    az postgres flexible-server show --resource-group myResourceGroup --name myServerName
    

Pertimbangan penting untuk koneksi jaringan keluar

  • Alamat IP dapat berubah: Alamat IP publik yang ditetapkan ke instans server fleksibel Azure Database for PostgreSQL Anda tidak statis dan dapat berubah selama pemeliharaan, pembaruan, atau peristiwa operasional lainnya. Selalu gunakan FQDN jika memungkinkan, dan perbarui aturan firewall eksternal secara teratur jika diperlukan.

  • Rentang IP pusat data Azure: Untuk konfigurasi firewall yang lebih dapat diprediksi, Anda dapat mengizinkan lalu lintas dari seluruh rentang IP pusat data Azure untuk wilayah tempat server Anda berada. Azure menerbitkan rentang IP untuk setiap wilayah dalam unduhan Rentang IP Azure dan Tag Layanan .

  • Tag Layanan: Jika layanan eksternal yang Anda sambungkan juga dihosting di Azure, pertimbangkan untuk menggunakan Tag Layanan Azure untuk aturan firewall yang lebih dinamis dan dapat dipertahankan.

  • Alternatif titik akhir privat: Untuk konektivitas yang lebih stabil dan untuk menghindari alamat IP publik, pertimbangkan untuk menggunakan titik akhir privat alih-alih akses publik.