Membuat server PostgreSQL dengan dukungan Azure Arc dari CLI

Dokumen ini menjelaskan langkah-langkah untuk membuat server PostgreSQL di Azure Arc dan untuk menyambungkannya.

Prasyarat

Sebelum dapat melanjutkan tugas dalam artikel ini, Anda harus memiliki alat yang diperlukan. Semua penyebaran memerlukan alat berikut:

  • Azure Data Studio

  • Ekstensi Azure Arc untuk Azure Data Studio

  • Azure CLI (az)

  • arcdata ekstensi untuk Azure CLI

  • kubectl

    Alat klien tambahan tergantung lingkungan Anda. Untuk daftar yang lebih komprehensif, lihat Alat klien.

Selain alat yang diperlukan, untuk menyelesaikan tugas, Anda memerlukan pengontrol data Azure Arc.

Catatan

Sebagai fitur pratinjau, teknologi yang tersaji dalam artikel ini tunduk pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Pembaruan terbaru tersedia dalam catatan rilis.

Memulai

Jika Anda sudah terbiasa dengan topik di bawah, Anda dapat melewati paragraf ini. Ada topik penting yang mungkin ingin Anda baca sebelum melanjutkan pembuatan:

Jika Anda lebih suka mencoba berbagai hal tanpa provisi lingkungan yang lengkap, mulai cepat dengan Langsung memulai Azure Arc di Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) atau di Azure VM.

Langkah awal dan sementara hanya untuk pengguna OpenShift

Terapkan langkah ini sebelum beralih ke langkah berikutnya. Untuk menyebarkan server PostgreSQL ke Red Hat OpenShift dalam proyek selain default, Anda perlu menjalankan perintah berikut terhadap kluster Anda untuk memperbarui batasan keamanan. Perintah ini memberikan hak istimewa yang diperlukan untuk akun layanan yang akan menjalankan server PostgreSQL Anda. Security context constraint (SCC) arc-data-scc adalah yang Anda tambahkan saat menyebarkan pengontrol data Azure Arc.

oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>

Nama server adalah nama server yang akan Anda buat selama langkah berikutnya.

Untuk detail selengkapnya tentang SCC di OpenShift, lihatlah dokumentasi OpenShift. Lanjutkan ke langkah berikutnya.

Membuat server PostgreSQL dengan dukungan Azure Arc

Untuk membuat server PostgreSQL dengan dukungan Azure Arc di pengontrol data Arc, Anda akan menggunakan perintah az postgres server-arc create tempat Anda akan meneruskan beberapa parameter.

Untuk detail tentang semua parameter yang dapat Anda atur pada waktu pembuatan, ulasan output perintah:

az postgres server-arc create --help

Parameter utama yang harus dipertimbangkan adalah:

  • nama server yang ingin Anda sebarkan. Menunjukkan salah satu --name atau -ndiikuti dengan nama yang panjangnya tidak boleh melebihi 11 karakter.

  • Kelas penyimpanan yang Anda inginkan untuk digunakan server Anda. Penting untuk mengatur kelas penyimpanan tepat pada saat Anda menyebarkan server karena pengaturan ini tidak dapat diubah setelah Anda menyebarkan. Anda dapat menentukan kelas penyimpanan yang akan digunakan untuk data, log, dan cadangan. Secara default, jika Anda tidak menunjukkan kelas penyimpanan, kelas penyimpanan pengontrol data akan digunakan.

    • Untuk mengatur kelas penyimpanan untuk cadangan, tunjukkan parameter --storage-class-backups diikuti dengan nama kelas penyimpanan. Mengecualikan parameter ini menonaktifkan pencadangan otomatis
    • Untuk mengatur kelas penyimpanan untuk data, tunjukkan parameter --storage-class-data diikuti dengan nama kelas penyimpanan.
    • Untuk mengatur kelas penyimpanan untuk log, tunjukkan parameter --storage-class-logs diikuti dengan nama kelas penyimpanan.

    Penting

    Jika Anda perlu mengubah kelas penyimpanan setelah penyebaran, mengekstrak data, menghapus server Anda, membuat server baru, dan mengimpor data.

Saat Anda menjalankan perintah buat, Anda akan diminta untuk memasukkan nama pengguna dan kata sandi untuk pengguna administratif. Anda dapat melewati perintah interaktif dengan mengatur AZDATA_USERNAME variabel lingkungan sesi dan AZDATA_PASSWORD sebelum Menjalankan perintah buat.

Contoh

Untuk menyebarkan server PostgreSQL bernama postgres01 yang menggunakan kelas penyimpanan yang sama dengan pengontrol data, jalankan perintah berikut:

az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s

Catatan

  • Jika Anda menyebarkan pengontrol data menggunakan AZDATA_USERNAME variabel lingkungan sesi dan AZDATA_PASSWORD dalam sesi terminal yang sama, maka nilai untuk AZDATA_PASSWORD akan digunakan untuk menyebarkan server PostgreSQL juga. Jika Anda lebih suka menggunakan kata sandi lain, perbarui nilai untuk AZDATA_USERNAME dan AZDATA_PASSWORD atau (2) hapus AZDATA_USERNAME variabel lingkungan dan AZDATA_PASSWORD atau (3) hapus nilainya untuk diminta memasukkan nama pengguna dan kata sandi secara interaktif saat Anda membuat server.
  • Membuat server PostgreSQL tidak akan segera mendaftarkan sumber daya di Azure. Sebagai bagian dari proses mengunggah sumber daya inventaris atau penggunaan data ke Azure, sumber daya akan dibuat di Azure dan Anda akan dapat melihat sumber daya Anda di portal Microsoft Azure.

Mencantumkan server PostgreSQL yang disebarkan di pengontrol data Arc Anda

Untuk mencantumkan server PostgreSQL yang disebarkan di pengontrol data Arc Anda, jalankan perintah berikut:

az postgres server-arc list --k8s-namespace <namespace> --use-k8s
  {
    "name": "postgres01",
    "state": "Ready"
  }

Dapatkan titik akhir untuk menyambungkan ke server PostgreSQL dengan dukungan Azure Arc Anda

Untuk melihat titik akhir untuk server PostgreSQL, jalankan perintah berikut:

az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s

Misalnya:

{
  "instances": [
    {
      "endpoints": [
        {
          "description": "PostgreSQL Instance",
          "endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
        },
        {
          "description": "Log Search Dashboard",
        },
        {
          "description": "Metrics Dashboard",
          "endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
        }
      ],
      "engine": "PostgreSql",
      "name": "postgres01"
    }
  ],
  "namespace": "arc"
}

Anda dapat menggunakan titik akhir Instans PostgreSQL untuk terhubung ke server PostgreSQL dari alat favorit Anda: Azure Data Studio, pgcli psql, pgAdmin, dll.

Kali ini, gunakan build orang dalam Azure Data Studio.

Catatan khusus tentang penyebaran mesin virtual Azure

Ketika Anda menggunakan mesin virtual Azure, maka alamat IP titik akhir tidak akan menampilkan publik alamat IP. Untuk mengambil alamat IP publik, gunakan perintah berikut:

az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table

Anda kemudian dapat menggabungkan alamat IP publik dengan port untuk membuat koneksi Anda.

Anda mungkin juga perlu mengekspos port server PostgreSQL melalui gateway keamanan jaringan (NSG). Untuk mengizinkan lalu lintas melalui (NSG), tetapkan aturan. Untuk menetapkan aturan, Anda harus tahu nama NSG Anda. Anda menentukan NSG menggunakan perintah di bawah ini:

az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table

Setelah memiliki nama NSG, Anda dapat menambahkan aturan firewall mengikuti perintah berikut. Contoh nilai di sini membuat aturan NSG untuk port 30655 dan memungkinkan koneksi dari sumber alamat IP apa pun.

Peringatan

Kami tidak menyarankan untuk menetapkan aturan untuk mengizinkan koneksi dari alamat IP sumber mana pun. Anda dapat mengunci berbagai hal dengan lebih baik dengan menentukan nilai -source-address-prefixes yang khusus untuk alamat IP klien Anda atau rentang alamat IP yang mencakup alamat IP tim atau organisasi Anda.

Ganti nilai parameter --destination-port-ranges di bawah dengan nomor port yang Anda dapatkan dari perintah az postgres server-arc list di atas.

az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'

Tersambung dengan Azure Data Studio

Buka Azure Data Studio dan sambungkan ke instans Anda dengan alamat IP titik akhir eksternal dan nomor port di atas, dan kata sandi yang Anda tentukan pada saat Anda membuat instans. Jika PostgreSQL tidak tersedia di menu Jenis koneksitarik-turun, Anda dapat memasang ekstensi PostgreSQL dengan mencari PostgreSQL di tab ekstensi.

Catatan

Anda harus mengklik tombol [Tingkat Lanjut] di panel koneksi untuk memasukkan nomor port.

Ingat, jika Anda menggunakan mesin virtual Azure, Anda akan memerlukan alamat IP publik yang dapat diakses melalui perintah berikut:

az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table

Tersambung dengan PSQL

Untuk mengakses server PostgreSQL Anda, lewati titik akhir eksternal server PostgreSQL yang Anda ambil dari atas:

Anda sekarang dapat menghubungkan kedua psql:

psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655