Bagikan melalui


Akses publik di Azure Cosmos DB for PostgreSQL

BERLAKU UNTUK: Azure Cosmos DB for PostgreSQL (didukung oleh ekstensi database Citus ke PostgreSQL)

Azure Cosmos DB for PostgreSQL mendukung tiga opsi jaringan:

  • Tidak ada akses
    • Ini adalah default untuk kluster 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 kluster.
    • Setiap simpul memerlukan titik akhir privat untuk memungkinkan host di jaringan virtual yang dipilih untuk mengakses simpul.
    • Fitur keamanan jaringan virtual Azure seperti kelompok keamanan jaringan dapat digunakan untuk kontrol akses.

Saat membuat kluster, Anda dapat mengaktifkan akses publik atau privat, atau memilih default tanpa akses. Setelah kluster dibuat, Anda dapat memilih untuk beralih antara akses publik atau privat, atau mengaktifkannya sekaligus.

Halaman ini menjelaskan opsi akses publik. Untuk akses privat, lihat Akses privat di Azure Cosmos DB for PostgreSQL.

Ringkasan Firewall

Firewall server Azure Cosmos DB for PostgreSQL mencegah semua akses ke simpul koordinator Anda hingga Anda menentukan komputer mana yang memiliki izin. Firewall memberikan akses ke server berdasarkan alamat IP asal 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 mengakses simpul koordinator 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 atau kontributor langganan.

Semua akses database ke node koordinator Anda diblokir oleh firewall secara default. Untuk mulai menggunakan server dari komputer lain, Anda perlu menentukan satu atau beberapa aturan firewall tingkat server untuk membuka akses ke server Anda. Gunakan aturan firewall untuk menentukan alamat IP mana yang berkisar dari Internet untuk memperbolehkan. Akses ke situs web portal 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 ditunjukkan 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 kluster mengontrol siapa yang dapat terhubung ke simpul 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.

Memecahkan masalah firewall server database

Saat akses ke layanan Microsoft Azure Cosmos DB for PostgreSQL tidak bertingkah seperti yang Anda harapkan, pertimbangkan poin-poin ini:

  • Perubahan pada daftar izinkan belum berlaku: Mungkin ada penundaan lima menit agar perubahan pada konfigurasi firewall Azure Cosmos DB for PostgreSQL berlaku.

  • Pengguna tidak berwenang atau kata sandi yang salah digunakan: Jika pengguna tidak memiliki izin di server atau kata sandi yang digunakan salah, koneksi ke server ditolak. Membuat pengaturan firewall hanya memberi klien kesempatan untuk mencoba menyambungkan ke server Anda. Klien masih harus menyediakan info masuk 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 simpul koordinator, lalu tambahkan rentang alamat IP sebagai aturan firewall.

    • Sebagai gantinya, dapatkan alamat IP statis untuk komputer klien Anda, kemudian tambahkan alamat IP statis sebagai aturan firewall.

Langkah berikutnya

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