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 prostředky.

Projděte si vzory sítí 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 deklarací vlastnosti EnableAcceleratedNetworking v šabloně Resource Manageru je následující fragment kódu networkInterfaceConfiguration škálovací sady virtuálních počítačů, které umožňují 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 použití Standard_DS12_v2 29. 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í kroky:

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

Aby bylo možné povolit akcelerované síťové služby v existujícím clusteru, 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ů musí být všechny virtuální počítače ve skupině dostupnosti zastaveny a uvolněny.

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 svého 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 zpřístupnit interní nástroj pro vyrovnávání zatížení.

  • Pro váš cluster použijte statickou veřejnou IP adresu .

Pravidla zabezpečení sítě

Níže popsaná pravidla jsou doporučená minimální pro typickou konfiguraci. Zahrneme také pravidla, která jsou povinná pro provozní cluster, pokud nepovinná pravidla nejsou požadovaná. Umožňuje kompletní uzamčení zabezpečení pomocí partnerských vztahů sítě a konceptů 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í se podporovat.

Příchozí

Priorita Název Port Protokol Zdroj Cíl Akce Povinné
3900 portál Azure 19080 TCP ServiceFabric Všechny Povolit Ano
3910 Adresa API klienta 19000 TCP Internet Všechny Povolit No
3920 Rozhraní API klienta SFX + 19080 TCP Internet Všechny Povolit No
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 No
3970 SSH 22 TCP Internet Všechny Odepřít No
3980 Vlastní koncový bod 443 TCP Internet Všechny Odepřít No

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 vašem clusteru k zobrazení na portálu pro správu Azure. Pokud tento port není přístupný z poskytovatele prostředků Service Fabric, zobrazí se na webu Azure Portal zpráva Typu Uzly nenalezena nebo UpgradeServiceNotReachable a váš uzel a seznam aplikací je 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.

  • Klientské rozhraní API. Koncový bod připojení klienta pro rozhraní API používaná prostředím PowerShell.

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

  • 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. Mapuje také tuto oblast na existující oblast v operačním systému, takže pro všechny účely můžete použít rozsahy uvedené v ukázce zde. 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 je sdílený s operačním systémem. Pokud chcete zobrazit nakonfigurovaný rozsah dynamických portů, spusťte příkaz netsh int ipv4 show dynamicport tcp. Tyto porty nejsou potřeba pro clustery s Linuxem.

  • Aplikace. Rozsah portů aplikace by měl být dostatečně velký, aby pokrývala požadavek na koncový bod vašich aplikací. Tento rozsah by měl být exkluzivní z dynamického rozsahu portů na počítači, tj. rozsah dočasnýchports nastavených 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 vyžaduje protokol RDP z internetu nebo virtuální sítě pro scénáře jumpboxu.

  • 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 pro vaši aplikaci 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 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ů. Tento vztah je potřeba pro instalaci, opětovné imagi a upgrady modulu runtime. Ve scénáři "pouze interního" nástroje pro vyrovnávání zatížení je potřeba přidat další externí nástroj pro vyrovnávání zatížení s pravidlem, které povoluje odchozí provoz pro port 443. Volitelně je možné tento port zablokovat po úspěšném nastavení, ale v tomto případě se balíček upgradu musí distribuovat do uzlů nebo se port musí otevřít po krátkou dobu a potom je potřeba provést ruční upgrade.

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

Poznámka:

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 můžou být pokryté 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 při opravě operačního systému Windows je nahrazení disku s operačním systémem automatickými upgrady imagí operačního systému, není potřeba žádné další pravidlo. Aplikace Orchestrace oprav spravuje upgrady v rámci virtuálních počítačů, kde služba Windows Update používá opravy operačního systému, potřebuje přístup ke službě Download Center (značka služby: AzureUpdateDelivery) ke stažení binárních souborů aktualizací.

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 ApiManagement 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řístupníte běžné aplikační porty, jako je 80 nebo 443.

  • U 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