Začínáme vytvářet internetový nástroj pro vyrovnávání zatížení pro cloudové služby

Azure Load Balancer je nástroj pro vyrovnávání zatížení úrovně 4 (TCP, UDP). Nástroj pro vyrovnávání zatížení poskytuje vysokou dostupnost díky distribuci příchozích přenosů mezi instance služeb, které jsou v pořádku, v cloudových službách nebo virtuálních počítačích v sadě nástroje pro vyrovnávání zatížení. Azure Load Balancer můžete také tyto služby prezentovat na více portech, více IP adresách nebo obojím.

Nástroj pro vyrovnávání zatížení můžete konfigurovat k těmto činnostem:

  • Vyrovnávání zatížení příchozích přenosů z internetu do virtuálních počítačů. Nástroj pro vyrovnávání zatížení v tomto scénáři označujeme jako internetový nástroj pro vyrovnávání zatížení.
  • Vyrovnávání zatížení přenosů mezi virtuálními počítači ve virtuální síti, mezi virtuálními počítači v cloudových službách nebo mezi místními počítači a virtuálními počítači ve virtuální síti mezi různými místy. Nástroj pro vyrovnávání zatížení v tomto scénáři označujeme jako interní nástroj pro vyrovnávání zatížení.
  • Předávání externích přenosů konkrétní instanci virtuálního počítače

Důležité

Než začnete pracovat s prostředky Azure, je potřeba si uvědomit, že Azure má v současné době dva modely nasazení: Azure Resource Manager a klasický. Před zahájením práce s jakýmikoli prostředky Azure se ujistěte, že rozumíte modelům nasazení a příslušným nástrojům. Dokumentaci k různým nástrojům můžete zobrazit kliknutím na karty v horní části tohoto článku. Tento článek se týká modelu nasazení Classic. Případně zjistěte, jak vytvořit internetový nástroj pro vyrovnávání zatížení pomocí Azure Resource Manageru.

Cloudové služby jsou automaticky nakonfigurované s nástrojem pro vyrovnávání zatížení a lze je přizpůsobit prostřednictvím modelu služby.

Vytvoření nástroje pro vyrovnávání zatížení pomocí definičního souboru služby

K aktualizaci svojí cloudové služby můžete využít sadu Azure SDK pro .NET 2.5. Nastavení koncového bodu pro cloudové služby se provádí v definičním souboru (.csdef) služby.

Následující příklad ukazuje, jak je nakonfigurován soubor servicedefinition.csdef pro nasazení v cloudu:

Kontrolou fragmentu souboru .csdef vygenerovaného nasazením v cloudu zjistíte, že je externí koncový bod nakonfigurován pro používání protokolu HTTP na portech 10000, 10001 a 10002.

<ServiceDefinition name="Tenant">
    <WorkerRole name="FERole" vmsize="Small">
        <Endpoints>
            <InputEndpoint name="FE_External_Http" protocol="http" port="10000" />
            <InputEndpoint name="FE_External_Tcp"  protocol="tcp"  port="10001" />
            <InputEndpoint name="FE_External_Udp"  protocol="udp"  port="10002" />

            <InputEndpoint name="HTTP_Probe" protocol="http" port="80" loadBalancerProbe="MyProbe" />

            <InstanceInputEndpoint name="InstanceEP" protocol="tcp" localPort="80">
                <AllocatePublicPortFrom>
                    <FixedPortRange min="10110" max="10120"  />
                </AllocatePublicPortFrom>
            </InstanceInputEndpoint>
            <InternalEndpoint name="FE_InternalEP_Tcp" protocol="tcp" />
        </Endpoints>
    </WorkerRole>
</ServiceDefinition>

Kontrola stavu nástroje pro vyrovnávání zatížení pro cloudové služby

Následuje příklad testu stavu:

<LoadBalancerProbes>
    <LoadBalancerProbe name="MyProbe" protocol="http" path="Probe.aspx" intervalInSeconds="5" timeoutInSeconds="100" />
</LoadBalancerProbes>

Nástroj pro vyrovnávání zatížení zkombinuje informace koncového bodu a informace testu a vytvoří adresu URL ve tvaru http://{DIP of VM}:80/Probe.aspx, kterou lze použít k dotazování na stav služby.

Služba detekuje pravidelné testy ze stejné IP adresy. To je požadavek testu stavu přicházející z hostitele uzlu, ve kterém běží virtuální počítač. Služba musí odpovědět stavovým kódem HTTP 200, aby nástroj pro vyrovnávání zatížení předpokládal, že je služba v pořádku. Jakýkoli jiný stavový kód (například 503) přímo vyřadí virtuální počítač ze smyčky.

Definice testu také řídí frekvenci testu. V našem výše uvedeném případě provádí nástroj pro vyrovnávání zatížení testování koncového bodu každých 5 sekund. Pokud nedojde k obdržení kladné odpovědi po dobu 10 sekund (dva intervaly testu), předpokládá se, že je test mimo provoz a virtuální počítač je vyřazen ze smyčky. Podobně pokud je služba vyřazena ze smyčky a obdrží se kladná odpověď, služba se ihned zařadí zpět do smyčky. Pokud stav služby kolísá mezi V pořádku a Není v pořádku, nástroj pro vyrovnávání zatížení může rozhodnout, že se se zařazením služby zpět do smyčky počká, než bude v pořádku po dobu několika testů.

Další informace najdete ve schématu definice služby pro test stavu.

Další kroky

Začínáme s konfigurací interního nástroje pro vyrovnávání zatížení

Konfigurace distribučního režimu nástroje pro vyrovnávání zatížení

Konfigurace nastavení časového limitu nečinnosti protokolu TCP pro nástroj pro vyrovnávání zatížení