Sítě

Při vytváření a správě clusterů Azure Service Fabric poskytujete síťové připojení pro uzly a aplikace. Mezi síťové prostředky patří rozsahy IP adres, virtuální sítě, nástroje pro vyrovnávání zatížení a skupiny zabezpečení sítě. V tomto článku se seznámíte s osvědčenými postupy pro tyto zdroje informací.

Projděte si síťové vzory Azure Service Fabric a zjistěte, jak vytvářet clustery, které používají následující funkce: Existující virtuální síť nebo podsíť, statickou veřejnou IP adresu, interní nástroj pro vyrovnávání zatížení nebo interní a externí nástroj pro vyrovnávání zatížení.

Sítě infrastruktury

Maximalizace výkonu virtuálního počítače pomocí akcelerovaných síťových služeb tím, že v šabloně Resource Manageru deklaruje vlastnost EnableAcceleratedNetworking , je následující fragment kódu networkInterfaceConfigurations škálovací sady virtuálních počítačů, která umožňuje akcelerované síťové služby:

"networkInterfaceConfigurations": [
  {
    "name": "[concat(variables('nicName'), '-0')]",
    "properties": {
      "enableAcceleratedNetworking": true,
      "ipConfigurations": [
        {
        <snip>
        }
      ],
      "primary": true
    }
  }
]

Cluster Service Fabric je možné zřídit v Linuxu s akcelerovanými síťovými službami a Windows s akcelerovanými síťovými službami.

Akcelerované síťové služby se podporují pro skladové položky řady virtuálních počítačů Azure: D/DSv2, D/DSv3, E/ESv3, F/FS, FSv2 a Ms/Mms. Akcelerované síťové služby byly úspěšně testovány pomocí skladové položky Standard_DS8_v3 23. 1. 2019 pro cluster Service Fabric s Windows a Standard_DS12_v2 1. 1. 2019 pro cluster Service Fabric s Linuxem. Upozorňujeme, že akcelerované síťové služby vyžadují alespoň 4 virtuální procesory.

Pokud chcete povolit akcelerované síťové služby v existujícím clusteru Service Fabric, musíte nejprve škálovat cluster Service Fabric přidáním škálovací sady virtuálních počítačů, abyste mohli provést následující akce:

  1. Zřízení nodeType s povolenými akcelerovanými síťovými službami
  2. Migrace služeb a jejich stavu na zřízený typ uzlu s povolenými akcelerovanými síťovými službami

K povolení akcelerovaných síťových služeb v existujícím clusteru se vyžaduje horizontální navýšení kapacity infrastruktury, protože povolení akcelerovaných síťových služeb by způsobilo výpadky, protože před povolením akcelerovaných síťových adaptérů se zastaví a uvolní všechny virtuální počítače ve skupině dostupnosti.

Sítě clusteru

  • Clustery Service Fabric je možné nasadit do existující virtuální sítě pomocí kroků popsaných v síťových vzorech Service Fabric.

  • Skupiny zabezpečení sítě (NSG) se doporučují pro typy uzlů, které omezují příchozí a odchozí provoz do clusteru. Ujistěte se, že jsou v NSG otevřené potřebné porty.

  • Primární typ uzlu, který obsahuje systémové služby Service Fabric, nemusí být vystaven prostřednictvím externího nástroje pro vyrovnávání zatížení a může ho vystavit interní nástroj pro vyrovnávání zatížení.

  • Použijte statickou veřejnou IP adresu pro váš cluster.

Pravidla zabezpečení sítě

Níže popsaná pravidla jsou doporučená minimální pro typickou konfiguraci. Zahrneme také pravidla, která jsou pro provozní cluster povinná, pokud volitelná pravidla nejsou požadovaná. Umožňuje kompletní uzamčení zabezpečení pomocí konceptů partnerského vztahu sítě a jumpboxu, jako je Azure Bastion. Nepovedlo se otevřít povinné porty nebo schválit IP adresu nebo adresu URL, aby se zabránilo řádnému provozu clusteru a nemusí být podporováno.

Příchozí

Priorita Název Port Protokol Zdroj Cíl Akce Povinné
3900 portál Azure 19080 TCP ServiceFabric Všechny Povolit Ano
3910 Klientské rozhraní API 19000 TCP Internet Všechny Povolit Ne
3920 SFX + Client API 19080 TCP Internet Všechny Povolit Ne
3930 Cluster 1025-1027 TCP VirtualNetwork Všechny Povolit Ano
3940 Dočasný 49152-65534 TCP VirtualNetwork Všechny Povolit Ano
3950 Aplikace 20000-30000 TCP VirtualNetwork Všechny Povolit Ano
3960 Protokol RDP 3389 TCP Internet Všechny Odepřít Ne
3970 SSH 22 TCP Internet Všechny Odepřít Ne
3980 Vlastní koncový bod 443 TCP Internet Všechny Odepřít Ne

Další informace o příchozích pravidlech zabezpečení:

  • Azure Portal. Tento port používá poskytovatel prostředků Service Fabric k dotazování informací o clusteru, aby se zobrazil na portálu pro správu Azure. Pokud tento port není přístupný od poskytovatele prostředků Service Fabric, zobrazí se na webu Azure Portal zpráva Typu Uzly nenalezena nebo UpgradeServiceNotReachable a váš uzel a seznam aplikací se zobrazí prázdné. To znamená, že pokud chcete mít přehled o clusteru na portálu pro správu Azure, musí váš nástroj pro vyrovnávání zatížení zveřejnit veřejnou IP adresu a skupina zabezpečení sítě musí povolit příchozí provoz 19080. Tento port se doporučuje pro rozšířené operace správy od poskytovatele prostředků Service Fabric, aby se zajistila vyšší spolehlivost.

  • Rozhraní API klienta. Koncový bod připojení klienta pro rozhraní API používaná PowerShellem

  • SFX + Client API. Tento port používá Service Fabric Explorer k procházení a správě clusteru. Stejným způsobem ho používají nejběžnější rozhraní API, jako je REST/PowerShell (Microsoft.ServiceFabric.PowerShell.Http)/CLI/.NET.

  • Cluster. Používá se pro komunikaci mezi uzly.

  • Dočasný. Service Fabric používá část těchto portů jako aplikační porty a zbývající jsou k dispozici pro operační systém. Také mapuje tuto oblast na existující rozsah, který je v operačním systému, takže pro všechny účely můžete použít oblasti uvedené v ukázce. Ujistěte se, že rozdíl mezi počátečním a koncovými porty je alespoň 255. Pokud je tento rozdíl příliš nízký, můžete narazit na konflikty, protože tento rozsah se sdílí s operačním systémem. Pokud chcete zobrazit nakonfigurovaný rozsah dynamických portů, spusťte příkaz netsh int ipv4 s dynamickým portem tcp. Tyto porty nejsou potřeba pro clustery s Linuxem.

  • Aplikace. Rozsah portů aplikace by měl být dostatečně velký, aby se pokryl požadavek na koncový bod vašich aplikací. Tento rozsah by měl být exkluzivní z rozsahu dynamických portů na počítači, tj. dočasný rozsahPorts nastavený v konfiguraci. Service Fabric tyto porty používá při každém vyžadování nových portů a postará se o otevření brány firewall pro tyto porty na uzlech.

  • RDP. Volitelné, pokud se pro scénáře jumpboxu vyžaduje protokol RDP z internetu nebo virtuální sítě.

  • SSH. Volitelné, pokud se pro scénáře jumpboxu vyžaduje protokol SSH z internetu nebo virtuální sítě.

  • Vlastní koncový bod Příkladem aplikace je povolení koncového bodu přístupného z internetu.

Poznámka

U většiny pravidel s internetem jako zdrojem zvažte omezení na vaši známou síť, ideálně definovanou blokem CIDR.

Odchozí

Priorita Název Port Protokol Zdroj Cíl Akce Povinné
4010 Poskytovatel prostředků 443 TCP Všechny ServiceFabric Povolit Ano
4020 Stažení binárních souborů 443 TCP Všechny AzureFrontDoor.FirstParty Povolit Ano

Další informace o odchozích pravidlech zabezpečení:

  • Poskytovatel prostředků. Připojení mezi UpgradeService a poskytovatelem prostředků Service Fabric pro příjem operací správy, jako jsou nasazení ARM nebo povinné operace, jako je výběr počátečního uzlu nebo upgrade typu primárního uzlu.

  • Stáhněte binární soubory. Služba upgradu používá adresu download.microsoft.com k získání binárních souborů, to je potřeba pro instalaci, opětovné imagi a upgrady modulu runtime. Ve scénáři "interního" nástroje pro vyrovnávání zatížení je nutné přidat další externí nástroj pro vyrovnávání zatížení s pravidlem umožňujícím odchozí provoz pro port 443. Volitelně může být tento port zablokován po úspěšném nastavení, ale v tomto případě se balíček upgradu musí distribuovat do uzlů nebo musí být port otevřen po krátkou dobu, poté je potřeba ruční upgrade.

Ke sledování problémů s připojením použijte Azure Firewall s protokolem toku NSG a analýzou provozu . Příkladem spuštění je šablona ARM Service Fabric se skupinou zabezpečení sítě.

Poznámka

Upozorňujeme, že výchozí pravidla zabezpečení sítě by se neměla přepsat, protože zajišťují komunikaci mezi uzly. Skupina zabezpečení sítě – jak to funguje Dalším příkladem je odchozí připojení na portu 80, aby bylo možné provést kontrolu seznamu odvolaných certifikátů.

Běžné scénáře vyžadující další pravidla

Všechny další scénáře je možné projít značkami služeb Azure.

Azure DevOps

Klasické úlohy PowerShellu v Azure DevOps (značka služby: AzureCloud) potřebují klientský přístup k clusteru, příklady jsou nasazení aplikací nebo provozní úlohy. To se nevztahuje jenom na přístup k šabloně ARM, včetně prostředků aplikace ARM.

Priorita Název Port Protokol Zdroj Cíl Akce Směr
3915 Azure DevOps 19000 TCP AzureCloud Všechny Povolit Příchozí

Aktualizace Windows

Osvědčeným postupem opravy operačního systému Windows je nahrazení disku s operačním systémem automatickými upgrady imagí operačního systému. Nevyžaduje se žádné další pravidlo. Aplikace Orchestrace oprav spravuje upgrady v virtuálních počítačích, ve kterých aktualizace Windows nainstalují opravy operačního systému. K stažení binárních souborů aktualizací potřebuje přístup ke službě Download Center (značka služby: AzureUpdateDelivery).

Priorita Název Port Protokol Zdroj Cíl Akce Směr
4015 Aktualizace pro Windows 443 TCP Všechny AzureUpdateDelivery Povolit Odchozí

API Management

Integrace služby Azure API Management (značka služby: ApiManagement) potřebuje klientský přístup k dotazování informací o koncových bodech z clusteru.

Priorita Název Port Protokol Zdroj Cíl Akce Směr
3920 API Management 19080 TCP Správa rozhraní API Všechny Povolit Příchozí

Sítě aplikací

  • Pokud chcete spouštět úlohy kontejnerů Windows, použijte otevřený síťový režim , který usnadňuje komunikaci mezi službami.

  • Pomocí reverzního proxy serveru, jako je Traefik nebo reverzní proxy Server Service Fabric , zpřístupňte běžné porty aplikací, jako je 80 nebo 443.

  • V případě kontejnerů Windows hostovaných na počítačích, které nemůžou načítat základní vrstvy z cloudového úložiště Azure, přepište chování cizí vrstvy pomocí příznaku --allow-nondis artifacts v démonu Dockeru.

Další kroky