Menjalankan mesin virtual Linux di Azure

Azure Backup
Azure Blob Storage
Azure Storage
Azure Virtual Machines

Penyediaan komputer virtual (VM) di Azure memerlukan komponen tambahan selain VM itu sendiri, termasuk jaringan dan sumber daya penyimpanan. Artikel ini menunjukkan praktik terbaik untuk menjalankan VM Linux yang aman di Azure.

Sistem

Diagram yang memperlihatkan VM Linux di Azure.

Unduh file Visio arsitektur ini.

Alur kerja

Grup sumber daya

Grup sumber daya adalah kontainer logis yang menyimpan sumber daya Azure terkait. Secara umum, mengelompokkan sumber daya berdasarkan masa pakai dan siapa yang akan mengelola sumber daya.

Tempatkan sumber daya yang terkait yang memiliki siklus hidup yang sama ke dalam grup sumber daya yang sama. Grup sumber daya memungkinkan Anda untuk menyebarkan dan memantau sumber daya sebagai grup dan melacak biaya tagihan berdasarkan grup sumber daya. Anda juga dapat menghapus sumber daya sebagai satu set, yang berguna untuk penyebaran pengujian. Tetapkan nama sumber daya yang bermakna untuk menyederhanakan penempatan sumber daya tertentu dan memahami perannya. Untuk informasi selengkapnya, lihat Konvensi Penamaan yang Disarankan untuk Sumber Daya Azure.

Mesin virtual

Anda dapat menyediakan mesin virtual dari daftar gambar yang diterbitkan, atau dari gambar terkelola kustom atau file hard disk virtual (VHD) yang diunggah ke penyimpanan Blob Azure. Azure mendukung menjalankan berbagai distribusi Linux populer, termasuk Debian, Red Hat Enterprise Linux (RHEL), dan Ubuntu. Untuk informasi selengkapnya, lihat Azure dan Linux.

Azure menawarkan banyak ukuran mesin virtual yang berbeda. Untuk informasi selengkapnya, lihat Ukuran untuk mesin virtual di Azure. Jika Anda memindahkan beban kerja yang sudah ada ke Azure, mulailah dengan ukuran VM yang paling cocok dengan server lokal Anda. Kemudian ukur performa beban kerja Anda yang sebenarnya dalam hal CPU, memori, dan operasi I/O disk per detik (IOPS), dan sesuaikan ukurannya sesuai kebutuhan.

Umumnya, pilih wilayah Azure yang paling dekat dengan pengguna atau pelanggan internal Anda. Tidak semua ukuran VM tersedia di semua wilayah. Untuk informasi selengkapnya, lihat Layanan berdasarkan wilayah. Untuk daftar ukuran mesin virtual yang tersedia di wilayah tertentu, jalankan perintah berikut dari Azure CLI:

az vm list-sizes --location <location>

Untuk informasi tentang memilih gambar mesin virtual yang diterbitkan, lihat Menemukan gambar mesin virtual Linux.

Disk

Untuk performa I/O disk terbaik, kami menyarankan Storage Premium, yang menyimpan data pada drive solid-state (SSD). Biaya didasarkan pada kapasitas disk yang tersedia. IOPS dan throughput (yaitu, kecepatan transfer data) juga bergantung pada ukuran disk, jadi saat Anda menyediakan disk, pertimbangkan ketiga faktor tersebut (kapasitas, IOPS, dan throughput). Penyimpanan premium juga dilengkapi dengan bursting gratis, dikombinasikan dengan pemahaman tentang pola beban kerja, menawarkan pemilihan SKU yang efektif dan strategi pengoptimalan biaya untuk infrastruktur IaaS, memungkinkan performa tinggi tanpa provisi berlebihan dan meminimalkan biaya kapasitas yang tidak digunakan.

Disk Terkelola menyederhanakan manajemen disk dengan menangani penyimpanan untuk Anda. Disk terkelola tidak memerlukan akun penyimpanan. Anda menentukan ukuran dan jenis disk dan disebarkan sebagai sumber daya yang sangat tersedia. Disk terkelola juga menawarkan pengoptimalan biaya dengan memberikan performa yang diinginkan tanpa perlu provisi berlebihan, memperhitungkan pola beban kerja yang berfluktuasi, dan meminimalkan kapasitas yang disediakan yang tidak digunakan.

Disk OS adalah VHD yang disimpan di Azure Storage, sehingga tetap ada bahkan saat mesin host tidak aktif. VHD dapat dilampirkan secara lokal NVMe atau perangkat serupa yang tersedia di banyak SKU VM.

Disk sementara memberikan performa yang baik tanpa biaya tambahan, tetapi dilengkapi dengan kelemahan yang signifikan karena tidak persisten, memiliki kapasitas terbatas, dan dibatasi hanya untuk OS dan penggunaan disk sementara. Untuk mesin virtual Linux, disk OS adalah /dev/sda1. Kami juga menyarankan untuk membuat satu atau beberapa disk data, yang merupakan VHD persisten yang digunakan untuk data aplikasi.

Saat Anda membuat VHD, VHD tidak diformat. Masuk ke VM untuk memformat disk. Di shell Linux, disk data ditampilkan sebagai /dev/sdc, /dev/sdd, dan seterusnya. Anda dapat menjalankan lsblk untuk mencantumkan perangkat blok, termasuk disk. Untuk menggunakan disk data, buat partisi dan sistem file, dan pasang disk. Contohnya:

# Create a partition.

sudo fdisk /dev/sdc     # Enter 'n' to partition, 'w' to write the change.

# Create a file system.

sudo mkfs -t ext3 /dev/sdc1

# Mount the drive.

sudo mkdir /data1
sudo mount /dev/sdc1 /data1

Saat Anda menambahkan disk data, ID nomor unit logis (LUN) ditetapkan ke disk. Secara opsional, Anda dapat menentukan ID LUN — misalnya, jika Anda mengganti disk dan ingin mempertahankan ID LUN yang sama, atau Anda memiliki aplikasi yang mencari ID LUN tertentu. Tetapi, perlu diingat bahwa ID LUN harus unik untuk setiap disk.

Anda mungkin ingin mengubah penjadwal I/O untuk mengoptimalkan performa pada SSD karena disk untuk mesin virtual dengan akun penyimpanan premium adalah SSD. Rekomendasi umum adalah menggunakan penjadwal NOOP untuk SSD, tetapi Anda harus menggunakan alat seperti iostat untuk memantau performa I/O disk untuk beban kerja.

Mesin virtual dibuat dengan disk sementara. Disk ini disimpan pada drive fisik pada mesin host. Disk tidak disimpan di Azure Storage dan dapat dihapus selama boot ulang dan peristiwa siklus hidup mesin virtual lainnya. Gunakan disk ini hanya untuk data sementara, seperti halaman atau file pertukaran. Untuk mesin virtual Linux, disk sementara adalah /dev/disk/azure/resource-part1 dan dipasang di /mnt/resource atau /mnt.

Jaringan

Komponen jaringan mencakup sumber daya berikut:

  • Jaringan virtual. Setiap VM disebarkan ke dalam jaringan virtual yang disegmentasi menjadi subnet.

  • Antarmuka jaringan (NIC). NIC memungkinkan mesin virtual berkomunikasi dengan jaringan virtual. Jika Anda memerlukan beberapa NIC untuk VM Anda, jumlah maksimum NIC ditentukan untuk setiap ukuran VM.

  • Alamat IP publik. Alamat IP publik diperlukan untuk berkomunikasi dengan VM — misalnya, melalui Protokol Desktop Jarak Jauh (RDP). Alamat IP publik dapat berupa dinamis atau statik. Alamat IP default adalah dinamis.

  • Grup Keamanan Jaringan (NSG). Kelompok keamanan jaringan digunakan untuk mengizinkan atau menolak lalu lintas ke mesin virtual. NSG dapat dikaitkan baik dengan subnet atau dengan masing-masing instans mesin virtual.

    • Semua NSG berisi serangkaian aturan default, termasuk aturan yang memblokir semua lalu lintas Internet masuk. Aturan default tidak dapat dihapus, tetapi aturan lain dapat menimpa aturan default. Untuk mengaktifkan lalu lintas Internet, buat aturan yang mengizinkan lalu lintas masuk ke port tertentu — misalnya, port 80 untuk HTTP. Untuk mengaktifkan Secure Shell (SSH), tambahkan aturan NSG yang memungkinkan lalu lintas masuk ke port TCP 22.
  • Azure NAT Gateway. Gateway Network Address Translation (NAT) memungkinkan semua instans dalam subnet privat untuk terhubung keluar ke internet sambil tetap sepenuhnya privat. Hanya paket yang tiba sebagai paket respons ke koneksi keluar yang dapat melewati gateway NAT. Koneksi masuk yang tidak diminta dari internet tidak diizinkan.

  • Azure Bastion. Azure Bastion adalah platform yang dikelola sepenuhnya sebagai solusi layanan yang menyediakan akses aman ke VM melalui alamat IP privat. Dengan konfigurasi ini, VM tidak memerlukan alamat IP publik yang mengeksposnya ke internet, yang meningkatkan postur keamanan mereka. Azure Bastion menyediakan konektivitas RDP atau SSH yang aman ke VM Anda langsung melalui Keamanan Lapisan Transportasi (TLS) melalui berbagai metode, termasuk klien SSH atau RDP asli atau portal Azure.

Operasional

SSH. Sebelum Anda membuat mesin virtual Linux, buat pasangan kunci umum-privat RSA 2048-bit. Gunakan file kunci umum saat Anda membuat mesin virtual. Untuk informasi selengkapnya, lihat Cara Menggunakan SSH dengan Linux dan Mac di Azure.

Diagnostik. Aktifkan pemantauan dan diagnostik, termasuk metrik kesehatan dasar, log infrastruktur diagnostik, dan diagnostik boot. Diagnostik boot dapat membantu Anda mendiagnosis kegagalan boot jika mesin virtual masuk ke status tidak dapat melakukan boot. Buat akun Azure Storage untuk menyimpan log. Akun penyimpanan redundan lokal (LRS) standar sudah cukup untuk log diagnostik. Untuk informasi selengkapnya, lihat Mengaktifkan pemantauan dan diagnostik.

Ketersediaan. VM Anda mungkin terpengaruh oleh pemeliharaan terencana atau waktu henti yang tidak direncanakan. Anda dapat menggunakan log boot ulang mesin virtual untuk menentukan apakah boot ulang mesin virtual disebabkan oleh pemeliharaan terencana. Untuk ketersediaan yang lebih tinggi, sebarkan beberapa VM dalam set ketersediaan atau di seluruh zona ketersediaan di suatu wilayah. Kedua konfigurasi ini memberikan perjanjian tingkat layanan (SLA) yang lebih tinggi.

Cadangan Untuk melindungi dari kehilangan data yang tidak disengaja, gunakan layanan Azure Backup untuk mencadangkan mesin virtual Anda ke penyimpanan geo-redundan. Azure Backup menyediakan pencadangan yang konsisten dengan aplikasi.

Menghentikan mesin virtual. Azure membuat perbedaan antara status "dihentikan" dan "tidak dialokasikan". Anda dikenakan biaya saat status mesin virtual dihentikan, tetapi tidak saat mesin virtual tidak dialokasikan. Di portal Microsoft Azure, tombol Hentikan membatalkan alokasi mesin virtual. Jika Anda mematikan melalui OS saat masuk, mesin virtual dihentikan tetapi tidak batal dialokasikan, jadi Anda tetap akan dikenakan biaya.

Menghapus mesin virtual. Jika Anda menghapus VM, Anda memiliki opsi untuk menghapus atau menyimpan disknya. Hal ini berarti Anda dapat menghapus mesin virtual dengan aman tanpa kehilangan data. Namun, Anda masih akan dikenakan biaya untuk disk. Anda dapat menghapus disk terkelola seperti sumber daya Azure lainnya. Untuk mencegah penghapusan yang tidak disengaja, gunakan penguncian sumber daya untuk mengunci seluruh grup sumber daya atau mengunci masing-masing sumber daya, seperti mesin virtual.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Ada berbagai opsi untuk besaran VM tergantung pada penggunaan dan beban kerja. Rentang ini mencakup opsi paling ekonomis dari seri Bs hingga VM GPU terbaru yang dioptimalkan untuk pembelajaran mesin. Untuk informasi tentang opsi yang tersedia, lihat Harga mesin virtual Linux Azure.

Untuk beban kerja yang dapat diprediksi, gunakan Reservasi Azure dan paket penghematan Azure untuk komputasi dengan kontrak satu tahun atau tiga tahun dan terima penghematan yang signifikan dari harga bayar sesuai pemakaian. Untuk beban kerja tanpa waktu penyelesaian atau konsumsi sumber daya yang dapat diprediksi, pertimbangkan opsi Prabayar.

Gunakan Azure Spot Virtual Machines untuk menjalankan beban kerja yang dapat diinterupsi dan tidak memerlukan penyelesaian dalam jangka waktu yang telah ditentukan atau SLA. Azure menyebarkan Mesin Virtual Spot jika ada kapasitas yang tersedia dan mengeluarkannya saat membutuhkan kembali kapasitas tersebut. Biaya yang terkait dengan mesin virtual Spot jauh lebih rendah. Pertimbangkan Mesin Virtual Spot untuk beban kerja berikut:

  • Skenario komputasi dengan performa tinggi, pekerjaan pemrosesan batch, atau aplikasi perenderan visual.
  • Lingkungan pengujian, termasuk integrasi berkelanjutan dan beban kerja pengiriman berkelanjutan.
  • Aplikasi tanpa status berskala besar.

Gunakan Kalkulator Harga Azure untuk memperkirakan biaya.

Untuk informasi selengkapnya, lihat bagian biaya di Microsoft Azure Well-Architected Framework.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Gunakan Microsoft Defender untuk Cloud untuk mendapatkan tampilan terpusat dari status keamanan sumber daya Azure Anda. Defender untuk Cloud memantau potensi masalah keamanan dan memberikan gambaran komprehensif tentang kesehatan keamanan penyebaran Anda. Defender untuk Cloud dikonfigurasi per langganan Azure. Aktifkan kumpulan data keamanan seperti yang dijelaskan dalam Memasukkan langganan Azure Anda ke Standar Defender untuk Cloud. Saat pengumpulan data diaktifkan, Defender untuk Cloud secara otomatis memindai semua VM yang dibuat pada bagian langganan tersebut.

Manajemen patch. Jika diaktifkan, Defender untuk Cloud memeriksa apakah ada pembaruan keamanan dan kritis yang tidak ada.

Antimalware. Jika diaktifkan, Defender untuk Cloud akan memeriksa apakah perangkat lunak antimalware telah diinstal. Anda juga dapat menggunakan Defender untuk Cloud untuk menginstal perangkat lunak antimalware dari dalam portal Microsoft Azure.

Kontrol akses. Gunakan kontrol akses berbasis peran Azure (RBAC Azure) untuk mengontrol akses ke sumber daya Azure. RBAC Azure memungkinkan Anda menetapkan peran otorisasi kepada anggota tim DevOps. Misalnya, peran Pembaca dapat melihat sumber daya Azure tetapi tidak membuat, mengelola, atau menghapusnya. Beberapa izin khusus untuk jenis sumber daya Azure. Misalnya, peran Kontributor Mesin Virtual dapat menghidupkan ulang atau membatalkan alokasi mesin virtual, mengatur ulang kata sandi administrator, membuat mesin virtual baru, dan seterusnya. Peran bawaan lainnya yang mungkin berguna untuk arsitektur ini termasuk Pengguna DevTest Labs dan Kontributor Jaringan.

Catatan

RBAC Azure tidak membatasi tindakan yang dapat dilakukan pengguna yang masuk ke mesin virtual. Izin tersebut ditentukan oleh jenis akun pada OS tamu.

Log audit. Gunakan log audit untuk melihat tindakan penyediaan dan peristiwa mesin virtual lainnya.

Enkripsi data. Gunakan Azure Disk Encryption jika Anda perlu mengenkripsi OS dan disk data.

Keunggulan operasional

Keunggulan operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Gambaran umum pilar keunggulan operasional.

Gunakan satu template Azure Resource Manager untuk menyediakan sumber daya Azure dan dependensinya. Karena semua sumber daya berada dalam jaringan virtual yang sama, sumber daya tersebut diisolasi dalam beban kerja dasar yang sama. Ini memudahkan untuk mengaitkan sumber daya khusus beban kerja ke tim DevOps, sehingga tim dapat mengelola semua aspek sumber daya tersebut secara independen. Isolasi ini memungkinkan Tim DevOps melakukan integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD).

Selain itu, Anda dapat menggunakan template Azure Resource Manager yang berbeda dan mengintegrasikannya dengan Azure DevOps Services untuk menyediakan lingkungan yang berbeda dalam hitungan menit, misalnya untuk mereplikasi produksi seperti skenario atau memuat lingkungan pengujian hanya jika diperlukan untuk menghemat biaya.

Untuk arsitektur ketersediaan yang lebih tinggi, lihat aplikasi N-tier Linux di Azure dengan Apache Cassandra, arsitektur referensi mencakup lebih dari satu mesin virtual dan setiap mesin virtual disertakan dalam set ketersediaan.

Pertimbangkan untuk menggunakan Azure Monitor untuk Menganalisis dan mengoptimalkan performa infrastruktur Anda, Memantau dan mendiagnosis masalah jaringan tanpa masuk ke mesin virtual Anda.

Langkah berikutnya