Menyebarkan infrastruktur Linux dan PostgreSQL

Selesai

Unit ini memandu Anda melalui pembuatan sumber daya komputasi yang menghosting aplikasi Anda dalam Azure.

Ada beberapa metode untuk menyebarkan infrastruktur di Azure, termasuk portal Azure, Azure CLI, dan templat infrastruktur sebagai kode (termasuk Bicep dan Terraform). Dalam unit ini, Anda menyebarkan templat Bicep yang telah dikonfigurasi sebelumnya yang merangkum sumber daya komputasi yang diperlukan untuk aplikasi Anda. Sumber daya utamanya adalah:

  • Komputer virtual yang menjalankan Linux (Ubuntu 24.04 LTS)
  • Azure Database for Postgres yang menjalankan Postgres 16 atau yang lebih baru
  • Identitas terkelola untuk mengaktifkan akses aman dari VM ke database
  • RBAC, termasuk peran untuk mengakses database sebagai administrator, dan peran yang lebih ketat untuk aplikasi itu sendiri
  • Jaringan virtual untuk VM dan database

Karena contoh ini adalah beban kerja dev/test, dan kami ingin menjaga hal-hal yang hemat biaya dan berkinerja, kami memilih konfigurasi berikut untuk Anda:

  • VM adalah D2s_v4 Standar (dua vCPU, memori 8 GB). Ini memiliki Azure Premium SSD dengan 3.200 operasi I/O maksimum per detik (IOPS) dan penyimpanan 128 GB. Ini memiliki disk SSD Premium P10 128-GB yang terpasang dengan 500 IOPS untuk disk OS. Anda dapat meningkatkan disk OS agar sesuai dengan IOPS VM sesuai kebutuhan.

  • Database adalah D2ds_v4 Tujuan Umum (dua vCore, RAM 8 GB) dengan IOPS maksimum 3.200. Ini memiliki disk SSD Premium P10 128-GB dengan 500 IOPS. Anda dapat meningkatkan disk ini agar sesuai dengan IOPS komputasi sesuai kebutuhan.

Setelah modul selesai, Anda menghapus sumber daya ini untuk menghemat biaya. Namun, Anda juga dapat menonaktifkan VM dan database saat tidak digunakan untuk menghemat biaya komputasi dan hanya membayar penyimpanan yang Anda gunakan. Anda juga dapat meningkatkan beban kerja ini sesuai kebutuhan.

Templat Bicep dalam modul ini menggunakan Azure Verified Modules (AVM). AVM adalah inisiatif untuk menstandarkan modul infrastruktur sebagai kode. Microsoft mempertahankan modul ini, dan merangkum banyak praktik terbaik untuk menyebarkan sumber daya di Azure.

Pastikan Anda memiliki langganan Azure dan Azure CLI

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Modul ini memerlukan Azure CLI versi 2.0.30 atau yang lebih baru. Temukan versi dengan menggunakan perintah berikut:

az --version

Jika Anda perlu memasang atau meningkatkan, Pasang Azure CLI.

Masuk ke Azure menggunakan Azure CLI

Untuk menjalankan perintah di Azure dengan menggunakan Azure CLI, Anda harus masuk terlebih dahulu. Masuk dengan menggunakan az login perintah :

az login

Buat grup sumber daya

Grup sumber daya adalah kontainer untuk sumber daya terkait. Semua sumber daya harus ditempatkan dalam grup sumber daya. Gunakan perintah az group create untuk membuat grup sumber daya:

az group create \
    --name 240900-linux-postgres \
    --location westus2

Menyebarkan templat Bicep dengan menggunakan Azure CLI

Bicep adalah bahasa pemrogram khusus domain (DSL) yang menggunakan sintaks deklaratif untuk menyebarkan sumber daya Azure. Dalam file Bicep, Anda menentukan infrastruktur yang ingin disebarkan ke Azure. Anda kemudian menggunakan file tersebut sepanjang siklus hidup pengembangan untuk berulang kali menyebarkan infrastruktur Anda. Sumber daya Anda disebarkan secara konsisten.

File Bicep yang Anda gunakan untuk menyebarkan sumber daya komputasi untuk unit ini ada di repositori GitHub deploy/vm-postgres.bicep . Ini berisi komputer virtual, jaringan virtual, identitas terkelola, dan kelompok keamanan jaringan (NSG) untuk VM. Anda dapat membaca lebih lanjut tentang Bicep di Apa itu Bicep?.

  1. Kloning repositori contoh ke komputer lokal Anda:

    git clone https://github.com/Azure-Samples/linux-postgres-migration.git
    
  2. linux-postgres-migration Buka direktori:

    cd linux-postgres-migration
    
  3. Sebarkan templat Bicep:

    az deployment group create \
        --resource-group 240900-linux-postgres \
        --template-file deploy/vm-postgres.bicep
    

Pada penyelesaian penyebaran, output JSON mengonfirmasi bahwa sumber daya disebarkan.

Di bagian berikutnya, Anda akan mengonfigurasi dan menjelajahi peran RBAC dan aturan keamanan jaringan pada infrastruktur yang Anda sebarkan dengan menggunakan portal Azure. Saat menggunakan portal Azure, Anda dapat mengodekan peran dan aturan ke dalam templat Bicep. portal Azure menyediakan antarmuka visual yang memudahkan untuk memahami hubungan antara sumber daya dan izin yang ditetapkan kepada mereka.

Buka grup sumber daya di portal Azure

  1. Buka portal Microsoft Azure.

  2. Pada menu layanan, pilih Grup sumber daya.

  3. Pada panel Grup sumber daya, pilih grup 240900-linux-postgressumber daya .

Di bagian kanan atas panel, area Penyebaran memperlihatkan status penyebaran templat Bicep Anda. Saat penyebaran berhasil, penyebaran menunjukkan Berhasil.

Melihat grup keamanan jaringan komputer virtual

  1. Pilih komputer virtual, vm-1.

  2. Di bagian Jaringan , pilih Pengaturan jaringan.

Pengaturan jaringan menunjukkan bahwa grup keamanan jaringan (240900-linux-postgres-nsg) dilampirkan ke subnet jaringan virtual yang sama (240900-linux-postgres-vnet) sebagai komputer virtual.

NSG juga terlihat di dalam grup sumber daya. Ini berisi sekumpulan aturan keamanan masuk dan keluar yang mengontrol lalu lintas ke dan dari komputer virtual.

Kembali ke grup sumber daya

Di bagian atas halaman, pilih tautan breadcrumb untuk kembali ke grup sumber daya (Home > Resource groups > 240900-linux-postgres).

Perhatikan bahwa identitas terkelola yang 240900-linux-postgres-identity ditetapkan pengguna tercantum dalam grup sumber daya.

Anda dapat mempelajari selengkapnya tentang identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna di Apa itu identitas terkelola untuk sumber daya Azure?.

Menambahkan aturan keamanan masuk ke grup keamanan jaringan

Tambahkan aturan keamanan masuk ke NSG untuk mengizinkan lalu lintas SSH dari alamat IP Anda saat ini ke komputer virtual.

Dalam skenario produksi, Anda akan sering menggunakan akses just-in-time, Azure Bastion, atau VPN (seperti Azure atau VPN jala) untuk membatasi akses ke komputer virtual Anda.

  1. Pilih 240900-linux-postgres-nsg.

  2. Pilih Pengaturan>Aturan keamanan masuk.

  3. Pilih Tambahkan.

  4. Di bawah Sumber, pilih Alamat IP saya.

  5. Di bawah Layanan, pilih SSH.

  6. Pilih Tambahkan.

Menampilkan administrator untuk server fleksibel Azure Database for PostgreSQL

  1. Temukan dan pilih server fleksibel Azure Database for PostgreSQL. Ini bernama postgres-xxxxx, di mana xxxxx adalah string unik yang ditentukan templat Bicep. String tetap konsisten di seluruh penyebaran ke langganan dan grup sumber daya Anda.

  2. Pilih .

Untuk skenario ini, Anda hanya menggunakan autentikasi Microsoft Entra. Identitas 240900-linux-postgres-identity terkelola yang ditetapkan pengguna tercantum di bawah Admin Microsoft Entra.

Identitas terkelola 240900-linux-postgres-identity saat ini adalah satu-satunya administrator untuk server. Anda dapat secara opsional menambahkan akun pengguna Anda sendiri sebagai administrator. Tetapi untuk skenario ini, Anda menggunakan identitas terkelola yang sudah ada.

Di bagian yang akan datang, Anda menggunakan identitas dari komputer virtual untuk mengelola server melalui Azure CLI. Anda juga menggunakan identitas tersebut untuk menyediakan akses ke server untuk aplikasi Anda.

Dalam skenario produksi, Anda mungkin akan menggunakan kombinasi identitas terkelola, ID Microsoft Entra, dan RBAC terperinci untuk memungkinkan beban kerja aplikasi Anda mengakses data dan mengelola sumber daya di Azure dengan aman. Anda akan mengikuti prinsip hak istimewa paling sedikit.

Baca selengkapnya tentang skenario ini di autentikasi Microsoft Entra dengan Azure Database for PostgreSQL - Server Fleksibel dan Gunakan ID Microsoft Entra untuk autentikasi dengan Azure Database for PostgreSQL - Server Fleksibel.

Meninjau aturan firewall Server Fleksibel Azure Database for PostgreSQL

Pilih Pengaturan>Jaringan.

Jika Anda mengelola server dari komputer lokal Anda, bukan komputer virtual, Anda harus menambahkan alamat IP Anda ke aturan firewall.

Anda dapat membuat aturan firewall untuk alamat IP Anda saat ini dengan memilih Tambahkan alamat IP klien saat ini (xxx.xxx.xxx.xxx)>Simpan. Aturan ini akan memungkinkan Anda mengakses server dev/test dengan menggunakan alat di komputer lokal Anda. Tetapi karena Anda menggunakan komputer virtual untuk mengakses database, Anda tidak akan membuat aturan firewall saat ini.

Dalam produksi, Anda mungkin akan mengisolasi server ini dari internet publik sepenuhnya dengan menghapus opsi Izinkan akses publik ke sumber daya ini melalui internet menggunakan alamat IP publik.

Tidak seperti komputer virtual, Anda belum mengaitkan Azure Database for PostgreSQL dengan jaringan virtual apa pun. Anda mempertahankan opsi untuk mengakses Azure Database for PostgreSQL melalui internet publik, yang berguna untuk skenario dev/test.

Untuk memberikan keamanan dan fleksibilitas, Anda mengaktifkan akses dari komputer virtual melalui jaringan virtualnya dengan menggunakan titik akhir privat. Titik akhir privat memungkinkan komputer virtual mengakses database tanpa mengeksposnya ke internet publik. Baca selengkapnya tentang titik akhir privat di Azure Database for PostgreSQL - Jaringan Server Fleksibel dengan Private Link.

Di sini, titik akhir privat telah dibuat untuk Anda menggunakan Bicep.

Tinjau penetapan peran untuk identitas terkelola yang ditetapkan sistem komputer virtual

  1. Kembali ke 240900-linux-postgres grup sumber daya dan pilih vm-1.

  2. Pada menu layanan, pilih Identitas Keamanan>.

    Di sini, Anda dapat mengonfirmasi bahwa identitas terkelola yang ditetapkan sistem dilampirkan ke komputer virtual.

  3. Di bawah Sistem yang ditetapkan, pilih Penetapan peran Azure.

    Di sini, Anda dapat mengonfirmasi bahwa peran Pembaca ditetapkan ke identitas terkelola yang ditetapkan sistem. Peran dilingkupkan ke 240900-linux-postgres grup sumber daya.

Izin dalam identitas ini memungkinkan Anda menggunakan Azure CLI dalam VM untuk mencantumkan sumber daya dalam grup sumber daya. Dengan kemampuan ini, Anda tidak perlu mengkodekan detail sumber daya tertentu secara permanen ke dalam skrip Anda.

Pada tahap selanjutnya, Anda akan menetapkan peran tambahan ke identitas terkelola VM sehingga VM dapat langsung mengakses akun Azure Blob Storage.

Selanjutnya, Anda akan menjelajahi dan mengonfigurasi infrastruktur yang disebarkan.

Sumber