Bagikan melalui


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:

  1. Menyediakan NodeType dengan Accelerated Networking diaktifkan
  2. 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