Arsitektur garis besar misi-kritis dengan kontrol jaringan

Azure Front Door
Azure Firewall
Azure Virtual Network
Azure Kubernetes Service (AKS)

Arsitektur ini memberikan panduan untuk merancang beban kerja misi penting yang memiliki kontrol jaringan yang ketat untuk mencegah akses publik yang tidak sah dari internet ke salah satu sumber daya beban kerja. Tujuannya adalah untuk menghentikan vektor serangan di lapisan jaringan sehingga keandalan keseluruhan sistem tidak terpengaruh. Misalnya, serangan Distributed Denial of Service (DDoS), jika dibiarkan tidak dicentang, dapat menyebabkan sumber daya menjadi tidak tersedia dengan membanjirinya dengan lalu lintas yang tidak sah.

Ini dibangun pada arsitektur garis besar misi-kritis, yang berfokus pada memaksimalkan keandalan dan efektivitas operasional tanpa kontrol jaringan. Arsitektur ini menambahkan fitur untuk membatasi jalur masuk dan keluar menggunakan kemampuan cloud-native yang sesuai, seperti Azure Virtual Network(VNet) dan titik akhir privat, Azure Private Link, Zona DNS Privat Azure, dan lainnya.

Disarankan agar Anda terbiasa dengan garis besar sebelum melanjutkan artikel ini.

Strategi desain utama

Strategi desain untuk garis besar misi-kritis masih berlaku dalam kasus penggunaan ini. Berikut adalah pertimbangan jaringan tambahan untuk arsitektur ini:

  • Mengontrol lalu lintas masuk

    Masuk atau komunikasi masuk ke jaringan virtual harus dibatasi untuk mencegah serangan berbahaya.

    Terapkan kemampuan Web Application Firewall (WAF) di tingkat global untuk menghentikan serangan di tepi jaringan lebih dekat ke sumber serangan.

    Menghilangkan konektivitas publik ke layanan Azure. Salah satu pendekatannya adalah menggunakan titik akhir privat.

    Periksa lalu lintas sebelum memasuki jaringan. Grup keamanan jaringan (NSG) pada subnet membantu memfilter lalu lintas dengan mengizinkan atau menolak alur ke alamat IP dan port yang dikonfigurasi. Tingkat kontrol ini juga membantu dalam pengelogan terperinci.

  • Mengontrol lalu lintas keluar

    Lalu lintas keluar dari jaringan virtual ke entitas di luar jaringan tersebut harus dibatasi. Kurangnya kontrol dapat menyebabkan serangan penyelundupan data oleh layanan pihak ketiga yang berbahaya.

    Batasi lalu lintas keluar ke internet menggunakan Azure Firewall. Firewall dapat memfilter lalu lintas secara terperinci menggunakan nama domain yang sepenuhnya memenuhi syarat (FQDN).

  • Menyeimbangkan tradeoff dengan keamanan

    Ada trade-off yang signifikan ketika fitur keamanan ditambahkan ke arsitektur beban kerja. Anda mungkin melihat beberapa dampak pada performa, kelincahan operasional, dan bahkan keandalan. Namun, serangan, seperti Denial-Of-Service (DDoS), intrusi data, dan lainnya, dapat menargetkan keandalan sistem secara keseluruhan dan akhirnya menyebabkan tidak tersedia.

Strategi ini didasarkan pada panduan keseluruhan yang disediakan untuk beban kerja misi-kritis dalam beban kerja penting misi yang dirancang dengan baik. Kami menyarankan agar Anda menjelajahi area desain jaringan dan konektivitas untuk rekomendasi dan praktik terbaik saat menentukan arsitektur misi penting Anda sendiri.

Arsitektur

Diagram memperlihatkan subnet titik akhir privat di jaringan virtual stempel regional.

Unduh file Visio arsitektur ini.

Komponen arsitektur ini dapat dikategorikan secara luas dengan cara ini. Untuk dokumentasi produk tentang layanan Azure, lihat Sumber daya terkait.

Sumber daya global

Sumber daya global hidup lama dan berbagi masa pakai sistem. Mereka memiliki kemampuan tersedia secara global dalam konteks model penyebaran multi-wilayah. Untuk informasi selengkapnya, lihat Sumber daya global.

Azure Front Door Premium SKU digunakan sebagai penyeimbang beban global untuk merutekan lalu lintas dengan andal ke penyebaran regional, yang diekspos melalui titik akhir privat.

Lihat Beban kerja penting misi yang dirancang dengan baik: Perutean lalu lintas global.

Azure Cosmos DB for NoSQL masih digunakan untuk menyimpan status di luar kluster komputasi dan memiliki pengaturan konfigurasi dasar untuk keandalan. Akses terbatas pada koneksi titik akhir privat yang diotorisasi.

Lihat Beban kerja penting misi yang dirancang dengan baik: Datastore multi-tulis yang didistribusikan secara global.

Azure Container Registry digunakan untuk menyimpan semua gambar kontainer dengan kemampuan replikasi geografis. Akses terbatas pada koneksi titik akhir privat yang diotorisasi.

Lihat Beban kerja kritis misi yang dirancang dengan baik: Registri kontainer.

Sumber daya regional

Sumber daya regional disediakan sebagai bagian dari stempel penyebaran ke satu wilayah Azure. Mereka berumur pendek untuk memberikan lebih banyak ketahanan, skala, dan kedekatan dengan pengguna. Sumber daya ini tidak berbagi apa pun dengan sumber daya di wilayah lain. Mereka dapat dihapus atau direplikasi secara independen ke wilayah lain. Namun, mereka berbagi sumber daya global antara satu sama lain. Untuk informasi selengkapnya, lihat Sumber daya stempel regional.

Situs web statis di Akun Azure Storage menghosting aplikasi halaman tunggal (SPA) yang mengirim permintaan ke layanan backend. Komponen ini memiliki konfigurasi yang sama dengan frontend garis besar. Akses terbatas pada koneksi titik akhir privat yang diotorisasi.

Azure Virtual Networks menyediakan lingkungan yang aman untuk menjalankan beban kerja dan operasi manajemen.

Load balancer internal adalah asal aplikasi. Front Door menggunakan asal ini untuk membangun konektivitas privat dan langsung ke backend menggunakan Private Link.

Azure Kubernetes Service (AKS) adalah orkestrator untuk komputasi backend yang menjalankan aplikasi dan tanpa status. Klaster AKS digunakan sebagai klaster pribadi. Jadi, server API Kubernetes tidak terekspos ke internet publik. Akses ke api server terbatas pada jaringan privat. Untuk informasi selengkapnya, lihat artikel Kluster komputasi arsitektur ini.

Lihat Beban kerja kritis misi yang dirancang dengan baik: Orkestrasi Kontainer dan Kubernetes.

Azure Firewall memeriksa dan melindungi semua lalu lintas keluar dari sumber daya Azure Virtual Network.

Azure Event Hubs digunakan sebagai broker pesan. Akses terbatas pada koneksi titik akhir privat yang diotorisasi.

Lihat Beban kerja penting misi yang dirancang dengan baik: Arsitektur berbasis peristiwa yang digabungkan secara longgar.

Azure Key Vault digunakan sebagai penyimpanan rahasia regional. Akses terbatas pada koneksi titik akhir privat yang diotorisasi.

Lihat Beban kerja penting misi yang dirancang dengan baik: Perlindungan integritas data.

Sumber daya alur penyebaran

Membangun dan merilis alur untuk aplikasi misi penting harus sepenuhnya otomatis untuk menjamin cara yang konsisten untuk menyebarkan stempel yang divalidasi.

GitHub masih digunakan untuk kontrol sumber sebagai platform berbasis git yang sangat tersedia.

Azure Pipelines dipilih untuk mengotomatiskan alur yang diperlukan untuk membangun, menguji, dan menyebarkan beban kerja di lingkungan praproduksi dan produksi.

Lihat Beban kerja penting misi yang dirancang dengan baik: Proses DevOps.

Kumpulan agen build Azure DevOps yang dihost sendiri digunakan untuk memiliki kontrol lebih atas build dan penyebaran. Tingkat otonomi ini diperlukan karena kluster komputasi dan semua sumber daya PaaS bersifat privat, yang memerlukan integrasi tingkat jaringan yang tidak dimungkinkan pada agen build yang dihosting Microsoft.

Sumber daya observabilitas

Data pemantauan untuk sumber daya global dan sumber daya regional disimpan secara independen. Penyimpanan observabilitas terpusat tunggal tidak disarankan untuk menghindari satu titik kegagalan. Untuk informasi selengkapnya, lihat Sumber daya observabilitas.

  • Azure Log Analytics digunakan sebagai sink terpadu untuk menyimpan log dan metrik untuk semua komponen aplikasi dan infrastruktur.

  • Azure Application Insights digunakan sebagai alat Manajemen Performa Aplikasi (APM) untuk mengumpulkan semua data pemantauan aplikasi dan menyimpannya langsung dalam Analitik Log.

Lihat Beban kerja kritis misi yang dirancang dengan baik: Tindakan prediktif dan operasi AI.

Sumber daya manajemen

Perubahan desain yang signifikan dari arsitektur garis besar adalah kluster komputasi. Dalam desain ini kluster AKS bersifat privat. Perubahan ini mengharuskan sumber daya tambahan disediakan untuk mendapatkan akses.

Azure Virtual Machine Scale Sets untuk agen build privat dan instans jump box untuk menjalankan alat terhadap kluster, seperti kubectl.

Azure Bastion menyediakan akses aman ke VM jump box dan menghilangkan kebutuhan VM untuk memiliki IP publik.

Titik akhir privat untuk layanan PaaS

Untuk memproses operasi bisnis atau penyebaran, aplikasi dan agen build perlu menjangkau beberapa layanan Azure PaaS yang disediakan secara global, di dalam wilayah, dan bahkan dalam stempel. Dalam arsitektur garis besar, komunikasi tersebut melebihi titik akhir publik layanan.

Dalam desain ini, layanan tersebut telah dilindungi dengan titik akhir privat untuk menghapusnya dari akses internet publik. Pendekatan ini mengurangi area permukaan serangan secara keseluruhan untuk mengurangi perubahan layanan langsung dari sumber yang tidak terduga. Namun, ini memperkenalkan titik potensial kegagalan lain dan meningkatkan kompleksitas. Pertimbangkan dengan cermat tradeoff dengan keamanan sebelum mengadopsi pendekatan ini.

Titik akhir privat harus dimasukkan ke dalam subnet khusus dari jaringan virtual stempel. Alamat IP privat ke titik akhir privat ditetapkan dari subnet tersebut. Pada dasarnya, sumber daya apa pun di jaringan virtual dapat berkomunikasi dengan layanan dengan mencapai alamat IP privat. Pastikan ruang alamat cukup besar untuk mengakomodasi semua titik akhir privat yang diperlukan untuk stempel tersebut.

Untuk menyambungkan melalui titik akhir privat, Anda memerlukan catatan DNS. Disarankan agar catatan DNS yang terkait dengan layanan disimpan di zona DNS Privat Azure yang dilayankan oleh Azure DNS. Pastikan bahwa nama domain yang sepenuhnya memenuhi syarat (FQDN) diselesaikan ke alamat IP privat.

Diagram memperlihatkan subnet titik akhir privat di jaringan virtual stempel regional.

Dalam arsitektur ini, titik akhir privat telah dikonfigurasi untuk Azure Container Registry, Azure Cosmos DB, Key Vault, sumber daya Storage, dan Azure Event Hubs. Selain itu, kluster AKS disebarkan sebagai kluster privat, yang membuat titik akhir privat untuk layanan API Kubernetes di jaringan kluster.

Ada dua jaringan virtual yang disediakan dalam desain ini dan keduanya memiliki subnet khusus untuk menyimpan titik akhir privat untuk semua layanan tersebut. Tata letak jaringan dijelaskan dalam Tata letak jaringan virtual.

Saat Anda menambahkan lebih banyak komponen ke arsitektur, pertimbangkan untuk menambahkan lebih banyak titik akhir privat. Misalnya, Anda dapat menambahkan pembatasan ke sumber daya pengamatan. Azure Log Analytics dan Azure Application Insights mendukung penggunaan titik akhir privat. Untuk detailnya, lihat Menggunakan Azure Private Link untuk menyambungkan jaringan ke Azure Monitor.

Mereka dapat dibuat pada subnet yang sama atau berbeda dalam jaringan virtual yang sama. Ada batasan jumlah titik akhir privat yang bisa Anda buat dalam langganan. Untuk mengetahui informasi selengkapnya, lihat Batas Azure.

Kontrol akses ke layanan lebih lanjut dengan menggunakan grup keamanan jaringan pada subnet.

Masuk privat

Azure Front Door Premium SKU digunakan sebagai titik masuk global untuk semua lalu lintas klien yang masuk. Ini menggunakan kemampuan Web Application Firewall (WAF) untuk mengizinkan atau menolak lalu lintas di tepi jaringan. Aturan WAF yang dikonfigurasi mencegah serangan bahkan sebelum memasuki jaringan virtual stempel.

Arsitektur ini juga memanfaatkan kemampuan Front Door untuk menggunakan Azure Private Link untuk mengakses asal aplikasi tanpa menggunakan IP/titik akhir publik pada backend. Ini membutuhkan penyeimbang beban internal di jaringan virtual stempel. Sumber daya ini berada di depan Pengontrol Ingress Kubernetes yang berjalan di kluster. Di atas Load Balancer privat ini, layanan Private Link dibuat oleh AKS, yang digunakan untuk koneksi privat dari Front Door.

Setelah koneksi dibuat, Titik akhir privat pada jaringan Front Door memiliki konektivitas langsung dengan load balancer dan situs web statis di jaringan stempel melalui Private Link.

Untuk informasi selengkapnya, lihat Cara kerja Private Link.

Diagram memperlihatkan akses Private Link dari Front Door ke backend aplikasi.

Lihat Beban kerja penting misi yang dirancang dengan baik: Layanan pengiriman aplikasi.

Jalan keluar terbatas

Aplikasi mungkin memerlukan beberapa konektivitas internet keluar. Mengontrol lalu lintas tersebut menyediakan cara untuk membatasi, memantau, dan membatasi lalu lintas keluar. Jika tidak, akses luar dalam yang tidak terduga dapat menyebabkan kompromi dan berpotensi menjadi status sistem yang tidak dapat diandalkan. Jalan keluar terbatas juga dapat diselesaikan untuk masalah keamanan lainnya, seperti penyelundupan data.

Menggunakan firewall dan Kelompok Keamanan Jaringan (NSG) dapat memastikan bahwa lalu lintas keluar dari aplikasi diperiksa dan dicatat.

Dalam arsitektur ini, Azure Firewall adalah titik keluar tunggal dan digunakan untuk memeriksa semua lalu lintas keluar yang berasal dari jaringan virtual. Rute yang ditentukan pengguna (UDR) digunakan pada subnet yang mampu menghasilkan lalu lintas keluar, seperti subnet aplikasi.

Diagram memperlihatkan Azure Firewall digunakan untuk membatasi lalu lintas keluar.

Untuk informasi tentang membatasi lalu lintas keluar, lihat Mengontrol lalu lintas keluar untuk node kluster di Azure Kubernetes Service (AKS).

Tata letak jaringan virtual

Mengisolasi sumber daya regional dan sumber daya manajemen di jaringan virtual terpisah. Mereka memiliki karakteristik, tujuan, dan pertimbangan keamanan yang berbeda.

  • Jenis lalu lintas: Sumber daya regional, yang berpartisipasi dalam pemrosesan operasi bisnis, membutuhkan kontrol keamanan yang lebih tinggi. Misalnya, kluster komputasi harus dilindungi dari lalu lintas internet langsung. Sumber daya manajemen hanya disediakan untuk mengakses sumber daya regional untuk operasi.

  • Masa pakai: Masa pakai yang diharapkan dari sumber daya tersebut juga berbeda. Sumber daya regional diharapkan berumur pendek (ephemeral). Mereka dibuat sebagai bagian dari stempel penyebaran dan dihancurkan ketika stempel ditumbangkan. Sumber daya manajemen berbagi masa pakai wilayah dan keluar menjalankan sumber daya stempel.

Dalam arsitektur ini, ada dua jaringan virtual: jaringan stempel dan jaringan operasi. Buat isolasi lebih lanjut dalam setiap jaringan virtual dengan menggunakan subnet dan kelompok keamanan jaringan (NSG) untuk mengamankan komunikasi antar subnet.

Lihat Beban kerja penting misi yang dirancang dengan baik: Jaringan virtual terisolasi.

Jaringan virtual stempel regional

Stempel penyebaran menyediakan jaringan virtual di setiap wilayah.

Diagram memperlihatkan perutean global yang aman untuk beban kerja misi penting.

Jaringan virtual dibagi menjadi subnet utama ini. Semua subnet memiliki Kelompok Keamanan Jaringan (NSG) yang ditetapkan untuk memblokir akses yang tidak sah dari jaringan virtual. NSG akan membatasi lalu lintas antara subnet aplikasi dan komponen lain dalam jaringan.

  • Subnet aplikasi

    Kumpulan simpul kluster AKS diisolasi dalam subnet. Jika Anda perlu mengisolasi kumpulan simpul sistem lebih lanjut dari kumpulan simpul pekerja, Anda dapat menempatkannya di subnet terpisah.

  • Subnet ingress stempel

    Titik masuk ke setiap stempel adalah Load Balancer Standar Azure internal yang ditempatkan dalam subnet khusus. Layanan Private Link yang digunakan untuk koneksi privat dari Front Door juga ditempatkan di sini.

    Kedua sumber daya disediakan sebagai bagian dari penyebaran stempel.

  • Subnet egress stempel

    Azure Firewall ditempatkan di subnet terpisah dan memeriksa lalu lintas keluar dari subnet aplikasi dengan menggunakan rute yang ditentukan pengguna (UDR).

  • Subnet titik akhir privat

    Subnet aplikasi harus mengakses layanan PaaS di stempel regional, Key Vault, dan lainnya. Selain itu, akses ke sumber daya global seperti registri kontainer diperlukan. Dalam arsitektur ini, semua layanan PaaS dikunci dan hanya dapat dicapai melalui titik akhir privat. Jadi, subnet lain dibuat untuk titik akhir tersebut. Akses masuk ke subnet ini diamankan oleh NSG yang hanya memungkinkan lalu lintas dari aplikasi.

    Anda dapat menambahkan pembatasan lebih lanjut dengan menggunakan dukungan UDR untuk titik akhir privat, sehingga lalu lintas ini juga dapat keluar melalui subnet keluar stempel.

Jaringan virtual operasi

Lalu lintas operasional diisolasi dalam jaringan virtual terpisah. Karena layanan API kluster AKS bersifat privat dalam arsitektur ini, semua penyebaran dan lalu lintas operasional juga harus berasal dari sumber daya privat seperti agen build yang dihost sendiri dan jump box. Sumber daya tersebut disebarkan dalam jaringan virtual terpisah dengan konektivitas langsung ke sumber daya aplikasi melalui serangkaian titik akhir privat mereka sendiri. Agen build dan jump box berada di subnet terpisah.

Alih-alih menggunakan titik akhir privat, pendekatan alternatif adalah menggunakan peering jaringan virtual. Namun, peering menambah kompleksitas yang mungkin sulit dikelola terutama ketika jaringan virtual dirancang untuk bersifat ephemeral.

Baik agen build (dan jump box opsional) perlu mengakses layanan PaaS yang terletak secara global dan di dalam stempel regional. Mirip dengan jaringan virtual stempel regional, subnet khusus dibuat untuk titik akhir privat ke layanan PaaS yang diperlukan. NSG pada subnet ini memastikan lalu lintas masuk hanya diizinkan dari subnet manajemen dan penyebaran.

Diagram memperlihatkan alur jaringan manajemen.

Operasi manajemen

Kasus penggunaan umum adalah ketika operator perlu mengakses kluster komputasi untuk menjalankan alat dan perintah manajemen. Layanan API dalam kluster privat tidak dapat diakses secara langsung. Itu sebabnya jump box disediakan di mana operator dapat menjalankan alat. Ada subnet terpisah untuk jump box.

Tapi, jump box tersebut juga perlu dilindungi dari akses yang tidak sah. Akses langsung ke jump box dengan membuka port RDP/SSH harus dihindari. Azure Bastion direkomendasikan untuk tujuan ini dan memerlukan subnet khusus di jaringan virtual ini.

Perhatian

Konektivitas melalui Azure Bastion dan jump box dapat berdampak pada produktivitas pengembang, seperti menjalankan alat penelusuran kesalahan memerlukan proses tambahan. Waspadai dampak ini sebelum memutuskan untuk memperkuat keamanan untuk beban kerja misi penting Anda.

Anda selanjutnya dapat membatasi akses ke subnet jump box dengan menggunakan NSG yang hanya mengizinkan lalu lintas masuk dari subnet Bastion melalui SSH.

Operasi penyebaran

Untuk membangun alur penyebaran, Anda perlu menyediakan komputasi tambahan untuk menjalankan agen build. Sumber daya ini tidak akan berdampak langsung pada ketersediaan runtime beban kerja tetapi kegagalan keandalan dapat membahayakan kemampuan untuk menyebarkan atau melayani lingkungan penting misi Anda. Jadi, fitur keandalan harus diperluas ke sumber daya ini.

Arsitektur ini menggunakan Virtual Machine Scale Sets untuk agen build dan jump box (dibandingkan dengan VM tunggal). Selain itu, segmentasi jaringan disediakan melalui penggunaan subnet. Ingress dibatasi untuk Azure DevOps.

Pertimbangan biaya

Ada dampak signifikan pada biaya untuk beban kerja misi penting. Dalam arsitektur ini, pilihan teknologi seperti menggunakan Azure Front Door Premium SKU dan provisi Azure Firewall di setiap stempel akan menyebabkan peningkatan biaya. Ada juga biaya tambahan yang terkait dengan pemeliharaan dan sumber daya operasional. Tradeoff tersebut harus dipertimbangkan dengan cermat sebelum mengadopsi versi arsitektur dasar yang dikontrol jaringan.

Menyebarkan arsitektur ini

Aspek jaringan arsitektur ini diterapkan dalam implementasi Mission-critical Connected.

Catatan

Implementasi Tersambung dimaksudkan untuk mengilustrasikan beban kerja misi penting yang bergantung pada sumber daya organisasi, terintegrasi dengan beban kerja lain, dan menggunakan layanan bersama. Ini dibangun pada arsitektur ini dan menggunakan kontrol jaringan yang dijelaskan dalam artikel ini. Namun, skenario Tersambung mengasumsikan bahwa jaringan privat virtual atau Zona DNS Privat Azure sudah ada dalam langganan konektivitas zona pendaratan Azure.

Langkah berikutnya

Untuk detail tentang keputusan desain yang dibuat dalam arsitektur ini, tinjau area desain jaringan dan konektivitas untuk beban kerja misi penting di Azure Well-architected Framework.

Untuk dokumentasi produk tentang layanan Azure yang digunakan dalam arsitektur ini, lihat artikel ini.