Sdílet prostřednictvím


Konfigurace příchozího přístupu pro prostředí Azure Container Apps

Azure Container Apps běží v kontextu prostředí s vlastní virtuální sítí. Tato virtuální síť vytvoří zabezpečenou hranici kolem vašeho prostředí Azure Container Apps.

Konfigurace příchozího přenosu dat v Azure Container Apps určuje, jak externí síťový provoz dosahuje vašich aplikací. Nastavení vstupní brány umožňuje ovládat směrování síťového provozu, zvýšit výkon aplikací a implementovat pokročilé strategie nasazení aplikací. Tento článek vás provede možnostmi konfigurace příchozího přenosu dat, které jsou dostupné ve službě Azure Container Apps, a pomůže vám zvolit správná nastavení pro vaše úlohy.

Prostředí Azure Container Apps zahrnuje škálovatelný hraniční proxy server pro příchozí přenos, který je zodpovědný za následující funkce:

Následující diagram ukazuje příklad prostředí, ve kterém proxy příchozího provozu směruje provoz do dvou kontejnerových aplikací.

Diagram, jak ingress proxy směruje datový provoz do vašich kontejnerových aplikací.

Služba Azure Container Apps ve výchozím nastavení vytvoří vaše prostředí kontejnerové aplikace s výchozím režimem příchozího přenosu dat. Pokud vaše aplikace potřebuje pracovat na vysokých úrovních škálování, můžete nastavit režim příchozího přenosu dat na premium.

Výchozí režim příchozího přenosu dat

Ve výchozím režimu příchozího přenosu dat má vaše prostředí Container Apps dvě instance proxy příchozího přenosu dat. Kontejnerové aplikace podle potřeby vytvářejí více instancí až do 10. Každé instanci je přiděleno až 1 jádro vCPU a 2 GB paměti.

Ve výchozím režimu příchozího přenosu dat se nepoužije žádná fakturace pro škálování proxy příchozího přenosu dat nebo pro jádra vCPU a přidělenou paměť.

Prémiový přístupový režim

Výchozí režim příchozího přenosu dat může být kritickým bodem ve vysoce škálovatelných prostředích. Jako alternativu režim příchozího přenosu dat premium obsahuje pokročilé funkce, které zajistí, že příchozí přenos dat bude držet krok s požadavky na provoz.

Mezi tyto funkce patří:

  • Podpora profilu úloh: Instance příchozí proxy se spouštějí v profilu úloh dle vašeho výběru. Máte kontrolu nad počtem jader vCPU a paměťových prostředků dostupných pro proxy server.

  • Konfigurovatelná pravidla rozsahu škálování: Pravidla rozsahu proxy serverů jsou konfigurovatelná, abyste měli jistotu, že máte tolik instancí, kolik vaše aplikace vyžaduje.

  • Pokročilá nastavení: Můžete nakonfigurovat pokročilá nastavení, jako jsou vypršení časového limitu nečinnosti pro instance vstupní proxy.

Pokud se chcete rozhodnout mezi výchozím režimem a režimem příchozího přenosu dat úrovně Premium, vyhodnotíte prostředky spotřebované instancí proxy serveru s ohledem na požadavky obsluhované. Začněte tím, že se podíváte na jádra vCPU a prostředky paměti spotřebované instancí proxy serveru. Pokud vaše prostředí udržuje maximální počet příchozích proxy (výchozí limit je 10) na delší dobu, zvažte přepnutí na prémiový režim příchozího proxy. Další informace najdete v metrikách. Informace o konfiguraci režimu příchozího přenosu dat premium najdete v tématu Použití příchozího přenosu dat Premium v Azure Container Apps.

Profil úlohy

Můžete vybrat profil zatížení, který poskytuje vyhrazené uzly pro instance vstupní proxy, které se škálují podle vašich potřeb. Doporučují se typy profilů úloh D4-D32. Každé instanci proxy příchozího přenosu dat je přiděleno 1 jádro vCPU. Další informace najdete v tématu Profily úloh v Azure Container Apps.

Profil úlohy:

  • Nesmí to být profil úlohy spotřeby.
  • Nesmí se sdílet s kontejnerovými aplikacemi ani úlohami.
  • Pokud ho používáte pro proxy příchozího přenosu dat, nesmí se odstranit.

Spuštění vašeho proxy serveru pro příchozí přenos dat v profilu úlohy je účtováno podle sazby za tento profil úlohy. Další informace najdete v tématu fakturace.

Můžete také nakonfigurovat počet uzlů profilu úloh. Profil úlohy je škálovatelný fond uzlů. Každý uzel obsahuje více instancí ingresní proxy. Počet uzlů se škáluje na základě využití vCPU a paměti. Minimální počet instancí uzlů je dvě.

Stupňování

Proxy pro příchozí přenosy se škáluje nezávisle na škálování vaší kontejnerové aplikace.

Když proxy příchozího přenosu dat dosáhne vysokého využití virtuálního procesoru nebo paměti, služba Container Apps vytvoří více instancí proxy příchozího přenosu dat. Když se využití sníží, odeberou se další instance proxy serveru pro příchozí přenos.

Počet minimálních a maximálních vstupních proxy instancí je určen takto:

  • Minimum: Existují minimálně dvě instance uzlů.

  • Maximum: Maximální počet instancí uzlů vynásobený jádry vCPU. Pokud máte například 50 maximálních instancí uzlů a 4 jádra vCPU, máte maximálně 200 instancí proxy příchozího přenosu dat.

Instance vstupního proxy jsou rovnoměrně rozdělené mezi dostupné uzly profilů úloh.

Pokročilá vstupní nastavení

S povoleným režimem příchozího přenosu dat Premium můžete také nakonfigurovat následující nastavení:

Nastavení Popis Minimální Nejvyšší hodnota Výchozí
Období odkladu ukončení Doba (v sekundách), po kterou má aplikace kontejneru čas dokončit zpracování požadavků před zrušením během vypnutí. 0 3 600 500
Časový limit nečinné žádosti Časové limity nečinných požadavků v minutách. 4 30 4
Počet hlaviček požadavku Toto nastavení zvyšte, pokud máte klienty, kteří odesílají velký počet hlaviček požadavků. 1 není k dispozici 100

Tato nastavení byste měli zvyšovat pouze podle potřeby, protože jejich zvýšení by mohlo vést k tomu, že instance ingresních proxy budou spotřebovávat více prostředků po delší dobu a stanou se zranitelnějšími vůči vyčerpání systémových prostředků a útokům typu odmítnutí služby.

Konfigurace vstupu

Vstupní tok vašeho prostředí můžete nakonfigurovat po jeho vytvoření.

  1. Na webu Azure Portal přejděte do svého prostředí.

  2. Vyberte Sítě.

  3. Vyberte nastavení vstupu.

  4. Konfigurujte vaše vstupní nastavení následovně.

    Nastavení Hodnota
    Režim příchozího provozu Vyberte Výchozí nebo Prémiový.
    Velikost profilu úlohy Vyberte velikost od D4 do D32.
    Minimální počet instancí uzlů Zadejte minimální instance uzlů profilu pracovního zatížení.
    Maximální počet instancí uzlů Zadejte maximální počet instancí uzlů profilu úlohy.
    Období odkladu ukončení Zadejte období odkladu ukončení v minutách.
    Časový limit nečinné žádosti Zadejte časový limit nečinné žádosti v minutách.
    Počet hlaviček požadavku Zadejte počet hlaviček požadavku.
  5. Vyberte a použijte.

Směrování založené na pravidlech

Pomocí směrování založeného na pravidlech vytvoříte plně kvalifikovaný název domény (FQDN) v prostředí kontejnerových aplikací. Pak pomocí pravidel směrujete požadavky na tento FQDN do různých kontejnerových aplikací v závislosti na cestě každého požadavku. Nabízí následující výhody.

  • Izolace: Směrováním různých cest k různým aplikacím kontejnerů můžete nasadit a aktualizovat jednotlivé komponenty, aniž by to mělo vliv na celou aplikaci.

  • Škálovatelnost: Pomocí směrování založeného na pravidlech můžete škálovat jednotlivé kontejnerové aplikace nezávisle na základě provozu, který každá aplikace kontejneru přijímá.

  • Vlastní pravidla směrování: Můžete například přesměrovat uživatele na různé verze aplikace nebo implementovat testování A/B.

  • Zabezpečení: Můžete implementovat bezpečnostní opatření přizpůsobená jednotlivým aplikacím kontejnerů. To vám pomůže snížit prostor pro útoky vaší aplikace.

Informace o konfiguraci směrování založeného na pravidlech v prostředí kontejnerových aplikací najdete v tématu Použití směrování založeného na pravidlech.

Šifrování mezi dvěma účastníky v prostředí Azure Container Apps

Azure Container Apps podporuje šifrování TLS mezi dvěma účastníky v rámci prostředí. Povolení této funkce šifruje veškerý síťový provoz v rámci prostředí pomocí privátního certifikátu, který je platný v oboru prostředí Azure Container Apps. Azure Container Apps tyto certifikáty automaticky spravuje.

Poznámka:

Ve výchozím nastavení je šifrování peer-to-peer zakázané. Povolení šifrování mezi dvěma účastníky pro vaše aplikace může zvýšit latenci odezvy a snížit maximální propustnost ve scénářích s vysokým zatížením.

Následující příklad ukazuje prostředí s povoleným šifrováním peer-to-peer. Diagram šifrování a dešifrování provozu s povoleným peer-to-peer šifrováním

1 Příchozí TLS provoz je ukončován na vstupním proxy serveru na okraji prostředí.

2 Přenosy do a z proxy příchozího přenosu dat v rámci prostředí jsou zašifrované pomocí privátního certifikátu a dešifrované příjemcem.

3 Volání z aplikace A na plně kvalifikovaný název domény aplikace B jsou nejprve odeslána na proxy pro vstup na hraničním okraji a jsou šifrována protokolem TLS.

4 Volání z aplikace A do aplikace B pomocí názvu aplikace B se odesílají přímo do aplikace B a jsou šifrované protokolem TLS. Volání mezi aplikacemi a komponentami Java jsou zpracovávána stejným způsobem jako komunikace mezi aplikacemi a jsou šifrována pomocí TLS.

Aplikace v prostředí Container Apps se automaticky ověřují. Modul runtime Container Apps ale nepodporuje autorizaci pro řízení přístupu mezi aplikacemi pomocí integrovaného šifrování peer-to-peer.

Když vaše aplikace komunikují s klientem mimo prostředí, podporuje se obousměrné ověřování pomocí MTLS. Další informace najdete v tématu Konfigurace klientských certifikátů.

Šifrování mezi dvěma účastníky můžete povolit pomocí následujících příkazů.

Při vytváření:

az containerapp env create \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --location <LOCATION> \
    --enable-peer-to-peer-encryption

Pro existující aplikaci kontejneru:

az containerapp env update \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --enable-peer-to-peer-encryption