Mengelola kepatuhan mesin virtual

Azure Policy

Artikel ini menjelaskan cara mengelola kepatuhan komputer virtual tanpa menghalangi praktik DevOps. Gunakan Azure VM Image Builder dan Azure Compute Gallery untuk meminimalkan risiko dari gambar sistem.

Arsitektur

Solusinya terdiri dari dua proses:

  • Proses penerbitan golden image
  • Proses pelacakan kepatuhan komputer virtual (VM)

Diagram arsitektur yang menunjukkan cara solusi mengelola gambar Marketplace Azure. Langkah-langkah yang diilustrasikan mencakup kustomisasi, pelacakan, pengujian, dan penerbitan.

Unduh file Visio arsitektur ini.

Aliran data

Proses penerbitan golden image berjalan setiap bulan dan berisi langkah-langkah berikut:

  1. Proses menangkap gambar dasar dari Marketplace Azure.
  2. VM Image Builder mengkustomisasi gambar.
  3. Proses tato gambar melacak informasi versi gambar seperti sumber dan tanggal publikasi.
  4. Pengujian otomatis memvalidasi gambar.
  5. Jika gambar gagal dalam pengujian apa pun, gambar akan kembali ke langkah kustomisasi untuk perbaikan.
  6. Proses menerbitkan gambar yang sudah selesai.
  7. Compute Gallery membuat gambar tersedia untuk tim DevOps.

Diagram arsitektur yang menunjukkan bagaimana solusi mengelola kepatuhan dengan menetapkan definisi kebijakan, mengevaluasi komputer, dan menampilkan data di dasbor.

Unduh file Visio dari arsitektur ini.

Proses pelacakan kepatuhan VM berisi langkah-langkah berikut:

  1. Azure Policy menetapkan definisi kebijakan ke VM dan mengevaluasi kepatuhan VM.
  2. Azure Policy menerbitkan data kepatuhan untuk VM dan sumber daya Azure lainnya ke dasbor Azure Policy.

Komponen

  • VM Image Builder adalah layanan terkelola untuk menyesuaikan gambar sistem. Layanan ini membangun dan mendistribusikan gambar yang digunakan tim DevOps.

  • Compute Gallery membantu Anda menyusun dan mengatur gambar kustom. Dengan menyimpan gambar dalam repositori, layanan ini menyediakan akses terkontrol ke gambar. Pengguna dapat berada di dalam dan di luar organisasi Anda.

  • Azure Policy menawarkan definisi kebijakan. Anda dapat menggunakan definisi ini untuk menegakkan standar organisasi Anda dan untuk menilai kepatuhan dalam skala besar. Dasbor Azure Policy menampilkan hasil dari evaluasi Azure Policy. Data ini memberi Anda informasi tentang status kepatuhan sumber daya Anda.

  • Fitur Konfigurasi Mesin Azure Automanage Azure Policy menyediakan cara untuk mengaudit atau menetapkan konfigurasi secara dinamis ke mesin melalui kode. Konfigurasi umumnya mencakup pengaturan lingkungan atau sistem operasi.

Alternatif

  • Anda dapat menggunakan alat pihak ketiga untuk mengelola kepatuhan. Namun dengan alat jenis ini, Anda biasanya perlu memasang agen pada VM target. Anda juga mungkin harus membayar biaya lisensi.

  • Anda dapat menggunakan ekstensi skrip kustom untuk memasang perangkat lunak pada VM atau mengonfigurasi VM setelah penyebaran. Tetapi setiap VM atau Virtual Machine Scale Set hanya dapat memiliki satu ekstensi skrip kustom. Dan jika Anda menggunakan ekstensi skrip kustom, Anda mencegah tim DevOps mengkustomisasi aplikasi mereka.

Detail skenario

Setiap perusahaan memiliki peraturan dan standar kepatuhannya sendiri. Mengenai keamanan, setiap perusahaan memiliki tingkat risiko yang dapat diterimanya masing-masing. Standar keamanan dapat berbeda dari satu organisasi ke organisasi lain dan dari satu wilayah ke wilayah lainnya.

Mengikuti standar yang berbeda dapat lebih menantang di lingkungan cloud yang diskalakan secara dinamis daripada di sistem lokal. Saat tim menggunakan praktik DevOps, biasanya ada lebih sedikit batasan pada siapa yang dapat membuat sumber daya Azure seperti VM. Fakta ini memperumit tantangan kepatuhan.

Dengan menggunakan Azure Policy dan penetapan kontrol akses berbasis peran, perusahaan dapat menerapkan standar pada sumber daya Azure. Namun dengan VM, mekanisme ini hanya memengaruhi sarana kontrol, atau rute ke VM. Citra sistem yang berjalan di VM masih menimbulkan ancaman keamanan. Beberapa perusahaan mencegah pengembang mengakses VM. Pendekatan ini mengurangi ketangkasan, sehingga sulit untuk mengikuti praktik DevOps.

Artikel ini menyajikan solusi untuk mengelola kepatuhan VM yang berjalan di Azure. Selain melacak kepatuhan, solusi ini juga meminimalkan risiko dari citra sistem yang berjalan di VM. Pada saat bersamaan, solusi ini kompatibel dengan praktik DevOps. Komponen inti mencakup Azure VM Image Builder, Azure Compute Gallery, dan Azure Policy.

Kemungkinan kasus penggunaan

Solusi ini berlaku untuk organisasi dengan zona arahan Azure yang menyelesaikan tugas berikut:

  • Menyediakan golden image ke tim DevOps. Golden image adalah versi gambar pasar yang dipublikasikan.
  • Menguji dan memvalidasi gambar sebelum menyediakannya untuk tim DevOps.
  • Melacak gambar yang digunakan setiap tim DevOps.
  • Menegakkan standar perusahaan tanpa menurunkan produktivitas.
  • Memastikan bahwa tim DevOps menggunakan versi gambar terbaru.
  • Mengelola kepatuhan server pet, yang membutuhkan perawatan intensif, dan server cattle, yang mudah diganti.

Pendekatan

Bagian berikut memberikan penjelasan rinci tentang pendekatan solusi.

Mengidentifikasi pet dan cattle

Tim DevOps menggunakan analogi yang disebut pet dan cattle untuk mendefinisikan model layanan. Untuk melacak kepatuhan VM, tentukan terlebih dahulu apakah server tersebut merupakan server pet atau cattle:

  • Pet membutuhkan perhatian yang signifikan. Server ini tidak mudah untuk dikeluarkan. Pemulihan server pet memerlukan investasi waktu dan sumber daya keuangan yang signifikan. Misalnya, server yang menjalankan SAP mungkin merupakan server pet. Selain perangkat lunak yang berjalan di server, pertimbangan lain juga dapat menentukan model layanan. Jika Anda memiliki toleransi kegagalan yang rendah, server produksi dalam sistem real time atau hampir real time kemungkinan juga merupakan server pet.

  • Server cattle adalah bagian dari grup yang identik. Anda dapat menggantinya dengan mudah. Misalnya, VM yang berjalan dalam Virtual Machine Scale Set adalah ternak. Jika ada cukup VM dalam set, sistem Anda terus berjalan, dan Anda tidak perlu mengetahui nama setiap VM. Server lingkungan pengujian yang memenuhi kondisi berikut memberikan contoh lain dari server cattle:

    • Anda menggunakan prosedur otomatis untuk membuat server dari awal.
    • Setelah Anda selesai menjalankan pengujian, Anda menonaktifkan server tersebut.

Lingkungan mungkin hanya berisi server pet, atau mungkin hanya berisi server cattle. Sebaliknya, satu set VM di lingkungan bisa merupakan server pet. Kumpulan VM yang berbeda di lingkungan yang sama mungkin merupakan cattle.

Untuk mengelola kepatuhan:

  • Kepatuhan pet bisa lebih menantang untuk dilacak daripada kepatuhan cattle. Biasanya, hanya tim DevOps yang dapat melacak dan menjaga kepatuhan lingkungan dan server pet. Namun solusi artikel ini meningkatkan visibilitas status setiap pet, sehingga memudahkan semua orang di organisasi untuk melacak kepatuhan.
  • Untuk lingkungan cattle, refresh VM dan bangun kembali dari awal secara rutin. Langkah-langkah tersebut seharusnya memadai untuk kepatuhan. Anda dapat menyelaraskan siklus refresh ini dengan tempo rilis rutin tim DevOps Anda.

Membatasi gambar

Jangan izinkan tim DevOps menggunakan gambar VM Marketplace Azure. Hanya izinkan gambar VM yang diterbitkan Compute Gallery. Pembatasan ini sangat penting untuk memastikan kepatuhan VM. Anda dapat menggunakan kebijakan kustom di Azure Policy untuk menerapkan pembatasan ini. Untuk contoh, lihat Mengizinkan penerbit gambar.

Sebagai bagian dari solusi ini, VM Image Builder harus menggunakan gambar Marketplace Azure. Sangat penting untuk menggunakan gambar terbaru yang tersedia di Marketplace Azure. Terapkan kustomisasi apa pun di atas gambar tersebut. Gambar Marketplace Azure sering di-refresh, dan setiap gambar memiliki konfigurasi preset tertentu, yang memastikan gambar Anda aman secara default.

Mengkustomisasi gambar

Golden image adalah versi gambar pasar yang dipublikasikan ke Compute Gallery. Golden image tersedia untuk dikonsumsi oleh tim DevOps. Sebelum gambar diterbitkan, terjadi kustomisasi. Aktivitas kustomisasi sifatnya unik bagi masing-masing perusahaan. Aktivitas umum meliputi:

  • Pengerasan sistem operasi.
  • Menyebarkan agen kustom untuk perangkat lunak pihak ketiga.
  • Memasang sertifikat akar otoritas sertifikat (CA) perusahaan.

Anda dapat menggunakan VM Image Builder untuk mengkustomisasi gambar dengan menyesuaikan pengaturan sistem operasi dan dengan menjalankan skrip dan perintah kustom. VM Image Builder mendukung image Windows dan Linux. Untuk informasi selengkapnya tentang mengkustomisasi gambar, lihat Kontrol Kepatuhan Peraturan Azure Policy untuk Azure Virtual Machines.

Melacak tato gambar

Tato gambar adalah proses melacak semua informasi versi gambar yang digunakan VM. Informasi ini sangat berharga selama pemecahan masalah dan dapat mencakup:

  • Sumber asli gambar, seperti nama dan versi penerbit.
  • String versi sistem operasi, yang Anda perlukan jika ada sedang ada peningkatan.
  • Versi gambar kustom Anda.
  • Tanggal publikasi Anda.

Jumlah dan jenis informasi yang Anda lacak bergantung pada tingkat kepatuhan organisasi Anda.

Untuk pembuatan tato gambar pada VM Windows, siapkan registri kustom. Tambahkan semua informasi yang diperlukan ke jalur registri ini sebagai pasangan kunci-nilai. Pada VM Linux, masukkan data tato gambar ke dalam variabel lingkungan atau file. Letakkan file di folder /etc/, yang tidak bertentangan dengan aplikasi atau pekerjaan pengembang. Jika Anda ingin menggunakan Azure Policy untuk melacak data tato atau melaporkannya, simpan setiap bagian data sebagai pasangan kunci-nilai yang unik. Untuk informasi tentang menentukan versi gambar Marketplace, lihat Cara menemukan versi gambar Marketplace.

Memvalidasi golden image dengan pengujian otomatis

Umumnya, Anda harus me-refresh golden image setiap bulan untuk tetap mengikuti pembaruan dan perubahan terbaru dalam gambar Marketplace Azure. Gunakan prosedur pengujian berulang untuk tujuan ini. Sebagai bagian dari proses pembangunan gambar, gunakan alur Azure atau alur kerja otomatis lainnya untuk pengujian. Siapkan alur untuk menyebarkan VM baru guna menjalankan pengujian sebelum awal setiap bulan. Pengujian harus mengonfirmasi gambar yang dipotong sebelum memublikasikannya untuk konsumsi. Mengotomatiskan pengujian dengan menggunakan solusi otomatisasi pengujian atau dengan menjalankan perintah atau batch di VM.

Skenario pengujian umum meliputi:

  • Memvalidasi waktu boot VM.
  • Mengonfirmasi kustomisasi gambar apa pun, seperti pengaturan konfigurasi sistem operasi atau penyebaran agen.

Pengujian yang gagal akan menghentikan proses. Ulangi pengujian setelah mengatasi akar penyebab masalah. Jika pengujian berjalan tanpa masalah, mengotomatiskan proses pengujian akan mengurangi upaya yang diperlukan untuk mempertahankan agar status selalu hijau.

Memublikasikan golden image

Publikasikan gambar akhir di Compute Gallery sebagai gambar terkelola atau sebagai hard disk virtual (VHD) yang dapat digunakan oleh tim DevOps. Tandai gambar sebelumnya sebagai usang. Jika Anda belum menetapkan tanggal akhir masa pakai untuk suatu versi gambar di Compute Gallery, sebaiknya pilih untuk menghentikan gambar terlama. Keputusan ini tergantung pada kebijakan perusahaan Anda.

Untuk informasi tentang batasan yang berlaku saat Anda menggunakan Compute Gallery, lihat Menyimpan dan berbagi gambar di Azure Compute Gallery.

Praktik baik lainnya adalah memublikasikan gambar terbaru di berbagai wilayah. Dengan Compute Gallery, Anda dapat mengelola siklus hidup dan replikasi gambar di berbagai wilayah Azure.

Untuk informasi selengkapnya tentang Compute Gallery, lihat Menyimpan dan berbagi gambar di Azure Compute Gallery.

Me-refresh golden image

Saat gambar digunakan untuk aplikasi, mungkin sulit untuk memperbarui gambar sistem operasi yang mendasarinya dengan adanya perubahan kepatuhan yang terbaru. Persyaratan bisnis yang ketat dapat mempersulit proses me-refresh VM yang mendasarinya. Refresh juga rumit ketika VM sangat penting untuk bisnis.

Karena server cattle dapat dibuang, Anda dapat berkoordinasi dengan tim DevOps untuk me-refresh server ini dalam periode pemeliharaan terencana sebagai aktivitas normal seperti biasanya.

Lebih menantang untuk me-refresh server pet. Menghentikan gambar dapat membahayakan aplikasi. Dalam skenario peluasan skala, Azure tidak dapat menemukan gambar masing-masing, yang mengakibatkan kegagalan.

Pertimbangkan panduan ini saat me-refresh server pet:

  • Untuk praktik terbaik, lihat Ringkasan pilar keandalan di Azure Well-Architected Framework.

  • Untuk menyederhanakan proses, lihat prinsip-prinsip yang dibahas dalam dokumen-dokumen ini:

  • Tandai setiap server pet sebagai pet. Konfigurasikan kebijakan di Azure Policy untuk memperhitungkan tag ini selama refresh.

Meningkatkan visibilitas

Umumnya, Anda harus menggunakan Azure Policy untuk mengelola aktivitas kepatuhan sarana kontrol apa pun. Anda juga dapat menggunakan Azure Policy untuk:

  • Melacak kepatuhan VM.
  • Memasang agen Azure.
  • Menangkap log diagnostik.
  • Meningkatkan visibilitas kepatuhan VM.

Gunakan fitur Konfigurasi Mesin Azure Automanage Azure Policy untuk mengaudit perubahan konfigurasi yang Anda buat selama kustomisasi gambar. Saat terjadi penyimpangan, dasbor Azure Policy mencantumkan VM yang terpengaruh sebagai tidak patuh. Azure Policy dapat menggunakan informasi tato gambar untuk melacak saat Anda menggunakan gambar atau sistem operasi yang kedaluwarsa.

Audit server pet untuk setiap aplikasi. Dengan menggunakan Azure Policy dengan efek audit, Anda dapat meningkatkan visibilitas server ini. Atur proses audit sesuai dengan tingkat risiko yang dapat diterima perusahaan Anda dan proses manajemen risiko internal.

Setiap tim DevOps dapat melacak tingkat kepatuhan aplikasinya di dasbor Azure Policy dan mengambil tindakan korektif yang sesuai. Saat Anda menetapkan kebijakan ini ke grup manajemen atau langganan, berikan deskripsi penugasan sebuah URL yang mengarah ke wiki di seluruh perusahaan. Anda juga dapat menggunakan URL pendek seperti aka.ms/policy-21. Di wiki, buat daftar langkah-langkah yang harus diambil tim DevOps untuk menjadikan VM mereka patuh.

Manajer risiko TI dan petugas keamanan juga dapat menggunakan dasbor Azure Policy untuk mengelola risiko perusahaan sesuai dengan tingkat risiko yang dapat diterima perusahaan mereka.

Dengan menggunakan fitur konfigurasi Azure Automanage Machine Azure Policy dengan opsi remediasi, Anda dapat menerapkan tindakan korektif secara otomatis. Namun, sering menginterogasi VM atau membuat perubahan pada VM yang Anda gunakan untuk aplikasi yang penting bagi bisnis dapat menurunkan performa. Rencanakan tindakan remediasi dengan hati-hati untuk beban kerja produksi. Berikan tim DevOps kepemilikan atas kepatuhan aplikasi di semua lingkungan. Pendekatan ini penting untuk server dan lingkungan pet, yang biasanya merupakan komponen Azure jangka panjang.

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.

Skalabilitas

Anda dapat mengonfigurasi jumlah replika dari setiap gambar yang disimpan Compute Gallery. Jumlah replika yang lebih tinggi meminimalkan risiko pelambatan saat Anda memprovisikan beberapa VM secara bersamaan. Untuk panduan umum tentang penskalaan dan konfigurasi jumlah replika yang sesuai, lihat Penskalaan untuk Azure Compute Gallery.

Resiliency

Solusi ini menggunakan komponen terkelola yang secara otomatis tangguh di tingkat wilayah. Untuk panduan umum tentang cara merancang solusi yang tangguh, lihat Mendesain aplikasi yang tangguh untuk Azure.

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.

Kecuali Anda menggunakan layanan pihak ketiga seperti Ansible atau Terraform, pendekatan ini hampir tidak dikenakan biaya sama sekali. Biaya penyimpanan dan egress mungkin berlaku. Biaya potensial lainnya melibatkan komponen-komponen ini:

  • Azure Policy dan konfigurasi Azure Automanage Machine tidak dikenakan biaya untuk sumber daya Azure. Jika perusahaan Anda menggunakan pendekatan hibrid, ada biaya tambahan untuk sumber daya Azure Arc.

  • Selama periode pratinjau publik, VM Image Builder menggunakan satu jenis instans komputasi dengan 1 vCPU dan RAM 3,5 GB. Biaya mungkin berlaku untuk penyimpanan dan transfer data.

  • Galeri Komputasi tidak mengenakan biaya kecuali:

    • Biaya penyimpanan replika.
    • Biaya egress jaringan untuk mereplikasi gambar.

Kontributor

Artikel ini dikelola oleh Microsoft. Awalnya ditulis oleh kontributor berikut.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya