Jaringan
Saat membuat dan mengelola kluster Azure Service Fabric, Anda menyediakan konektivitas jaringan untuk simpul dan aplikasi Anda. Sumber daya jaringan mencakup rentang alamat IP, jaringan virtual, load balancer, dan grup keamanan jaringan. Dalam artikel ini, Anda mempelajari praktik terbaik untuk sumber daya ini.
Lihat Pola Jaringan Azure Service Fabric untuk mempelajari cara membuat kluster yang menggunakan fitur berikut: Jaringan virtual atau subnet yang ada, Alamat IP publik statis, Load balancer internal saja, atau Load balancer internal dan eksternal.
Jaringan Infrastruktur
Maksimalkan performa Komputer Virtual Anda dengan Accelerated Networking, dengan menyatakan enableAcceleratedNetworking di templat Resource Manager Anda, cuplikan berikut adalah Virtual Machine Scale Set NetworkInterfaceConfigurations yang memungkinkan Accelerated Networking:
"networkInterfaceConfigurations": [
{
"name": "[concat(variables('nicName'), '-0')]",
"properties": {
"enableAcceleratedNetworking": true,
"ipConfigurations": [
{
<snip>
}
],
"primary": true
}
}
]
Kluster Service Fabric dapat disediakan di Linux dengan Accelerated Networking, dan Windows dengan Accelerated Networking.
Accelerated Networking didukung untuk Azure Virtual Machine Series SKU: D/DSv2, D/DSv3, E/ESv3, F/FS, FSv2, dan Ms/Mms. Accelerated Networking berhasil diuji menggunakan SKU Standard_DS8_v3 pada tanggal 23 Januari 2019 untuk Service Fabric Windows Cluster, dan menggunakan Standard_DS12_v2 pada 29 Januari 2019 untuk Service Fabric Linux Cluster. Perhatikan bahwa Jaringan Terakselerasi memerlukan setidaknya 4 vCPU.
Untuk mengaktifkan Accelerated Networking pada kluster Service Fabric yang ada, Anda harus terlebih dahulu menskalakan kluster Service Fabric dengan menambahkan Virtual Machine Scale Set, untuk melakukan langkah-langkah berikut:
- Menyediakan NodeType dengan Accelerated Networking diaktifkan
- Memigrasikan layanan Anda dan statusnya ke NodeType yang disediakan dengan Accelerated Networking diaktifkan
Memperluas skala infrastruktur diperlukan untuk mengaktifkan Accelerated Networking pada kluster yang ada, karena mengaktifkan Accelerated Networking di tempat akan menyebabkan terjadinya waktu henti, karena mengharuskan semua komputer virtual dalam ketersediaan diatur untuk dihentikan dan didealokasikan sebelum mengaktifkan Accelerated Networking pada NIC yang ada.
Jaringan Klaster
Kluster Service Fabric dapat digunakan ke dalam jaringan virtual yang ada dengan mengikuti langkah-langkah yang diuraikan dalam pola jaringan Service Fabric.
Grup keamanan jaringan (NSG) direkomendasikan untuk jenis node untuk membatasi lalu lintas masuk dan keluar ke klusternya. Pastikan bahwa port yang diperlukan sudah dibuka di NSG.
Jenis node utama, yang berisi layanan sistem Service Fabric tidak perlu diekspos melalui load balancer eksternal dan dapat diekspos oleh load balancer internal
Gunakan alamat IP publik statis untuk kluster Anda.
Aturan Keamanan Jaringan
Aturan yang dijelaskan berikutnya adalah minimum yang direkomendasikan untuk konfigurasi umum. Kami juga menyertakan aturan apa yang wajib untuk kluster operasional jika aturan opsional tidak diinginkan. Aturan tersebut juga memungkinkan penguncian keamanan lengkap dengan konsep jumpbox dan peering jaringan seperti Azure Bastion. Kegagalan untuk membuka port wajib atau menyetujui IP/URL akan mencegah operasi kluster yang tepat dan mungkin tidak didukung.
Masuk
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan | Wajib |
---|---|---|---|---|---|---|---|
3900 | Portal Azure | 19080 | TCP | ServiceFabric | Mana pun | Izinkan | Ya |
3910 | API Klien | 19000 | TCP | Internet | Mana pun | Izinkan | No |
3920 | SFX + API Klien | 19080 | TCP | Internet | Mana pun | Izinkan | No |
3930 | Kluster | 1025-1027 | TCP | JaringanVirtual | Mana pun | Izinkan | Ya |
3940 | Sementara | 49152-65534 | TCP | JaringanVirtual | Mana pun | Izinkan | Ya |
3950 | Aplikasi | 20000-30000 | TCP | JaringanVirtual | Mana pun | Izinkan | Ya |
3960 | RDP | 3389 | TCP | Internet | Apa pun | Tolak | No |
3970 | SSH | 22 | TCP | Internet | Apa pun | Tolak | No |
3980 | Titik akhir kustom | 443 | TCP | Internet | Apa pun | Tolak | No |
Informasi selengkapnya tentang aturan keamanan masuk:
Portal Microsoft Azure. Port ini digunakan oleh Penyedia Sumber Daya Service Fabric untuk mengkueri informasi tentang kluster Anda agar dapat ditampilkan di Portal Manajemen Azure. Jika port ini tidak dapat diakses dari Penyedia Sumber Daya Service Fabric, Anda akan melihat pesan seperti 'Simpul Tidak Ditemukan' atau 'UpgradeServiceNotReachable' di portal Azure dan daftar simpul dan aplikasi Anda tampak kosong. Ini berarti bahwa jika Anda ingin memiliki visibilitas kluster Anda di Portal Manajemen Microsoft Azure, maka load balancer Anda harus mengekspos alamat IP publik dan NSG Anda harus mengizinkan lalu lintas 19080 yang masuk. Port ini direkomendasikan untuk operasi manajemen yang diperpanjang dari Penyedia Sumber Daya Service Fabric untuk menjamin keandalan yang lebih tinggi.
API Klien. Titik akhir koneksi klien untuk API yang digunakan oleh PowerShell.
SFX + API Klien. Port ini digunakan oleh Service Fabric Explorer untuk menelusuri dan mengelola kluster Anda. Ini digunakan oleh API yang paling umum seperti REST/PowerShell (Microsoft.ServiceFabric.PowerShell.Http)/CLI/.NET dengan cara yang sama.
Kluster. Digunakan untuk komunikasi antar node.
Sementara. Service Fabric menggunakan bagian dari port ini sebagai port aplikasi, dan sisanya tersedia untuk OS. Layanan ini juga memetakan rentang ini ke rentang saat ini yang ada di OS, jadi untuk semua tujuan, Anda dapat menggunakan rentang yang diberikan dalam sampel di sini. Pastikan bahwa perbedaan antara port awal dan akhir setidaknya 255. Anda mungkin mengalami konflik jika perbedaan ini terlalu rendah, karena rentang ini dibagikan dengan OS. Untuk melihat rentang port dinamis yang dikonfigurasi, jalankan netsh int ipv4 tampilkan dynamicport tcp. Port ini tidak diperlukan untuk kluster Linux.
Aplikasi. Rentang port aplikasi harus cukup besar untuk mencakup persyaratan titik akhir aplikasi Anda. Rentang ini harus eksklusif dari rentang port dinamis pada komputer tersebut, yaitu rentang ephemeralPorts sebagaimana diatur dalam konfigurasi. Service Fabric menggunakan port ini setiap kali port baru diperlukan dan menangani pembukaan firewall untuk port ini pada node.
RDP. Opsional, jika RDP diperlukan dari Internet atau VirtualNetwork untuk skenario jumpbox.
SSH. Opsional, jika SSH diperlukan dari Internet atau VirtualNetwork untuk skenario jumpbox.
Titik akhir kustom. Contoh untuk aplikasi Anda guna mengaktifkan titik akhir yang dapat diakses internet.
Catatan
Untuk sebagian besar aturan dengan Internet sebagai sumber, pertimbangkan untuk membatasi jaringan umum Anda, yang idealnya ditetapkan oleh blok CIDR.
Keluar
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan | Wajib |
---|---|---|---|---|---|---|---|
4010 | Penyedia Sumber Daya | 443 | TCP | Mana pun | ServiceFabric | Izinkan | Ya |
4020 | Unduh Biner | 443 | TCP | Mana pun | AzureFrontDoor.FirstParty | Izinkan | Ya |
Informasi selengkapnya tentang aturan keamanan keluar:
Penyedia Sumber Daya. Koneksi antara penyedia sumber daya Layanan Peningkatan dan Service Fabric untuk menerima operasi manajemen seperti penyebaran ARM atau operasi wajib seperti pemilihan node awal atau peningkatan tipe node utama.
Unduh Biner. Layanan peningkatan menggunakan alamat download.microsoft.com untuk mendapatkan biner, hubungan ini diperlukan untuk pengaturan, gambar ulang, dan peningkatan runtime. Dalam skenario load balancer "internal saja", load balancer eksternal tambahan harus ditambahkan dengan aturan yang memungkinkan lalu lintas keluar untuk port 443. Secara opsional, port ini dapat diblokir setelah penyiapan yang berhasil, tetapi dalam hal ini paket peningkatan harus didistribusikan ke simpul atau port harus dibuka untuk waktu yang singkat, setelah itu diperlukan peningkatan manual.
Gunakan Azure Firewall dengan log alur NSG dan analitik lalu lintas untuk melacak masalah terkait sambungan. Templat ARM Service Fabric dengan NSG adalah contoh yang baik untuk memulai.
Catatan
Aturan keamanan jaringan default tidak boleh ditimpa karena memastikan komunikasi antara simpul. Kelompok Keamanan Jaringan - Cara kerjanya. Contoh lain, konektivitas keluar di port 80 diperlukan untuk melakukan pemeriksaan Daftar Pembatalan Sertifikat.
Skenario umum yang membutuhkan aturan tambahan
Semua skenario tambahan dapat dicakup dengan Tag Layanan Azure.
Azure DevOps
Tugas PowerShell klasik di Azure DevOps (Tag Layanan: AzureCloud) memerlukan akses API Klien ke kluster, contohnya adalah penyebaran aplikasi atau tugas operasional. Ini tidak berlaku untuk pendekatan templat ARM saja, termasuk sumber daya aplikasi ARM.
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan | Arah |
---|---|---|---|---|---|---|---|
3915 | Azure DevOps | 19000 | TCP | AzureCloud | Mana pun | Izinkan | Masuk |
Memperbarui Windows
Praktik terbaik untuk mem-patch sistem operasi Windows adalah mengganti disk OS dengan peningkatan gambar OS otomatis, tidak memerlukan aturan tambahan. Aplikasi Orkestrasi Patch mengelola peningkatan VM tempat Windows Update menerapkan patch sistem operasi. Peningkatan ini memerlukan akses ke Pusat Unduhan (Tag Layanan: AzureUpdateDelivery) untuk mengunduh biner pembaruan.
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan | Arah |
---|---|---|---|---|---|---|---|
4015 | Pembaruan Windows | 443 | TCP | Mana pun | AzureUpdateDelivery | Izinkan | Keluar |
API Management
Integrasi Azure API Management (Service Tag: ApiManagement) memerlukan akses API Klien untuk mengkueri informasi titik akhir dari kluster.
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan | Arah |
---|---|---|---|---|---|---|---|
3920 | API Management | 19080 | TCP | ApiManagement | Mana pun | Izinkan | Masuk |
Jaringan Aplikasi
Untuk menjalankan beban kerja kontainer Windows, gunakan mode jaringan terbuka untuk mempermudah komunikasi layanan ke layanan.
Gunakan proksi terbalik seperti Traefik atau proksi terbalik Service Fabric untuk mengekspos port aplikasi umum seperti 80 atau 443.
Untuk Kontainer Windows yang dihosting di air-gapped machine yang tidak dapat menarik lapisan dasar dari penyimpanan cloud Azure, menimpa perilaku lapisan asing, menggunakan bendera --allow-nondistributable-artifacts di daemon Docker.
Langkah berikutnya
- Buat kluster di VM atau komputer yang menjalankan Windows Server: Pembuatan kluster Service Fabric untuk Windows Server
- Buat kluster di VM atau komputer yang menjalankan Linux: Buat kluster Linux
- Pelajari tentang opsi dukungan Service Fabric