Akses publik di Azure Database for PostgreSQL - Hyperscale (Citus)

BERLAKU UNTUK: Azure Database for PostgreSQL - Hyperscale (Citus)

Azure Database for PostgreSQL – Hyperscale (Citus) mendukung tiga opsi jaringan:

  • Tidak ada akses
    • Ini adalah default untuk grup server yang baru dibuat jika akses publik atau privat tidak diaktifkan. Tidak ada komputer, baik di dalam atau di luar Azure, yang dapat terhubung ke node database.
  • Akses publik
    • Alamat IP publik ditetapkan ke node koordinator.
    • Akses ke node koordinator dilindungi oleh firewall.
    • Secara opsional, akses ke semua node pekerja dapat diaktifkan. Dalam hal ini, alamat IP publik ditetapkan ke node pekerja dan diamankan oleh firewall yang sama.
  • Akses privat
    • Hanya alamat IP privat yang ditetapkan ke node grup server.
    • Setiap node memerlukan titik akhir privat untuk memungkinkan host di jaringan virtual yang dipilih untuk mengakses node Hyperscale (Citus).
    • Fitur keamanan jaringan virtual Azure seperti kelompok keamanan jaringan dapat digunakan untuk kontrol akses.

Saat Anda membuat grup server Hyperscale (Citus), Anda dapat mengaktifkan akses publik atau privat, atau memilih default tanpa akses. Setelah grup server dibuat, Anda dapat memilih untuk beralih antara akses publik atau privat, atau mengaktifkan keduanya sekaligus.

Halaman ini menjelaskan opsi akses publik. Untuk akses privat, lihat di sini.

Gambaran umum Firewall

Firewall server Azure Database for PostgreSQL mencegah semua akses ke node koordinator Hyperscale (Citus) Anda sampai Anda menentukan komputer mana yang memiliki izin. Firewall memberikan akses ke server berdasarkan alamat IP asal dari setiap permintaan. Untuk mengonfigurasi firewall, Anda membuat aturan firewall yang menentukan rentang alamat IP yang dapat diterima. Anda bisa membuat aturan firewall pada tingkat server.

Aturan firewall: Aturan ini memungkinkan klien untuk mengakses node koordinator Hyperscale (Citus) Anda, yaitu semua database dalam server logis yang sama. Aturan firewall tingkat server dapat dikonfigurasi dengan menggunakan portal Microsoft Azure. Untuk membuat aturan firewall tingkat server, Anda harus menjadi pemilik langganan atau kontributor langganan.

Semua akses database ke node koordinator Anda diblokir oleh firewall secara default. Untuk mulai menggunakan server Anda dari komputer lain, Anda perlu menentukan satu atau beberapa aturan firewall tingkat server untuk memfungsikan akses ke server Anda. Gunakan aturan firewall untuk menentukan alamat IP mana yang berkisar dari Internet untuk memperbolehkan. Akses ke situs web portal Microsoft Azure itu sendiri tidak terpengaruh oleh aturan firewall. Upaya koneksi dari Internet dan Azure harus terlebih dahulu melewati firewall sebelum mereka dapat mencapai Database PostgreSQL Anda, seperti yang diperlihatkan dalam diagram berikut:

Diagram yang menunjukkan aturan firewall tingkat server antara sistem jarak jauh dan lokal dan koneksi yang gagal.

Menyambungkan dari Internet dan dari Azure

Firewall grup server Hyperscale (Citus) mengontrol siapa yang dapat terhubung ke node koordinator grup. Firewall menentukan akses dengan berkonsultasi lewat daftar aturan yang dapat dikonfigurasi. Setiap aturan adalah alamat IP, atau rentang alamat, yang diizinkan masuk.

Ketika firewall memblokir koneksi, hal ini dapat menyebabkan kesalahan aplikasi. Menggunakan driver PostgreSQL JDBC, misalnya, menimbulkan kesalahan seperti:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL

Lihat Membuat dan mengelola aturan firewall untuk mempelajari bagaimana aturan ditentukan.

Pemecahan masalah firewall server database

Saat akses ke layanan Microsoft Azure Database for PostgreSQL - Hyperscale (Citus) tidak berperilaku seperti yang Anda harapkan, pertimbangkan poin-poin berikut:

  • Perubahan pada daftar perkenankan belum berlaku: Mungkin ada penundaan lima menit untuk perubahan pada konfigurasi firewall Hyperscale (Citus) yang akan diterapkan.

  • Pengguna tidak berwenang atau kata sandi yang salah digunakan: Jika pengguna tidak memiliki izin pada server atau kata sandi yang digunakan salah, koneksi ke server ditolak. Membuat pengaturan firewall hanya memberi klien kesempatan untuk mencoba menyambungkan ke server Anda; setiap klien harus tetap memberikan kredensial keamanan yang diperlukan.

Contohnya, jika menggunakan klien JDBC, kesalahan berikut dapat muncul.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "yourusername"

  • Alamat IP dinamis: Jika Anda memiliki koneksi Internet dengan alamat IP dinamis dan Anda mengalami masalah saat melewati firewall, Anda dapat mencoba salah satu solusi berikut:

  • Tanyakan kepada Penyedia Layanan Internet (ISP) Anda untuk rentang alamat IP yang ditetapkan ke komputer klien Anda yang mengakses node koordinator Hyperscale (Citus), lalu 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.

Langkah berikutnya

Untuk artikel tentang membuat aturan firewall tingkat server dan tingkat database, lihat: