Nejčastější dotazy ke konfiguraci Aplikace Azure

Tento článek odpovídá na nejčastější dotazy týkající se konfigurace Aplikace Azure.

V čem se App Configuration liší od služby Azure Key Vault?

App Configuration pomáhá vývojářům spravovat nastavení aplikací a řídit dostupnost funkcí. Cílem je zjednodušit řadu úloh práce se složitými konfiguračními daty.

Konfigurace aplikací podporuje:

  • Hierarchické obory názvů
  • Popisky
  • Rozsáhlé dotazy
  • Dávkové načítání
  • Specializované operace správy
  • Uživatelské rozhraní pro správu funkcí

Služba App Configuration doplňuje Službu Key Vault a obě by se měly používat vedle sebe ve většině nasazení aplikací.

Mám ukládat tajné kódy ve službě App Configuration?

I když služba App Configuration poskytuje posílené zabezpečení, key Vault je stále nejlepším místem pro ukládání tajných kódů aplikací. Key Vault poskytuje šifrování na úrovni hardwaru, podrobné zásady přístupu a operace správy, jako je obměny certifikátů.

Můžete vytvořit hodnoty klíčů konfigurace aplikace, které odkazují na tajné kódy uložené ve službě Key Vault. Další informace najdete v tématu Použití odkazů služby Key Vault v aplikaci ASP.NET Core.

Šifruje služba App Configuration moje data?

Ano. Konfigurace aplikace vždy šifruje všechna přenášená a neaktivní uložená data. Veškerá síťová komunikace probíhá přes protokol TLS 1.2 nebo TLS 1.3. App Configuration podporuje šifrování neaktivních uložených dat pomocí klíčů spravovaných Microsoftem nebo klíčů spravovaných zákazníkem.

Jak se konfigurace aplikace liší od nastavení služby Aplikace Azure Service?

Aplikace Azure Service umožňuje definovat nastavení aplikace pro každou instanci služby App Service. Tato nastavení se předávají jako proměnné prostředí kódu aplikace. Pokud chcete, můžete nastavení přidružit ke konkrétnímu slotu nasazení. Další informace najdete v tématu Konfigurace nastavení aplikace.

Naproti tomu konfigurace Aplikace Azure umožňuje definovat nastavení, která se dají sdílet mezi více aplikacemi. To zahrnuje aplikace spuštěné ve službě App Service i jiné platformy. Kód aplikace přistupuje k těmto nastavením prostřednictvím zprostředkovatelů konfigurace pro .NET a Javu, prostřednictvím sady Azure SDK nebo přímo přes rozhraní REST API.

Odkazy na data služby App Configuration můžete přidat v nastavení aplikace vaší služby App Service. Můžete také importovat a exportovat nastavení mezi App Service a App Configuration. Tato funkce umožňuje rychle nastavit nové úložiště app Configuration na základě stávajících nastavení služby App Service. Konfiguraci můžete také sdílet s existující aplikací, která závisí na nastavení služby App Service.

Existují nějaká omezení velikosti klíčů a hodnot uložených v App Configuration?

Pro jednu hodnotu klíče platí limit 10 kB, včetně atributů, jako je popisek, typ obsahu, značky a další metadata.

Tento limit by měl být dostatečný pro jedno nastavení ve většině aplikací. Pokud zjistíte, že je vaše nastavení větší než tento limit, můžete zvážit uložení dat jinde a přidat odkaz na tato data v App Configuration.

Další informace najdete v tématu Omezení předplatného a služeb Azure.

Jak mám ukládat konfigurace pro více prostředí (testování, příprava, produkční prostředí atd.)?

Určujete, kdo má přístup ke konfiguraci aplikace na úrovni jednotlivých obchodů. Pro každé prostředí, které vyžaduje jiná oprávnění, použijte samostatné úložiště. Tento přístup poskytuje nejlepší izolaci zabezpečení.

Pokud mezi prostředími nepotřebujete izolaci zabezpečení, můžete použít popisky k rozlišení hodnot konfigurace. Použití popisků k povolení různých konfigurací pro různá prostředí poskytuje úplný příklad.

Jaké jsou doporučené způsoby použití služby App Configuration?

Podívejte se na osvědčené postupy.

Kolik stojí App Configuration?

Existují dvě cenové úrovně:

  • Úroveň Free
  • Úroveň Standard

Pokud jste vytvořili úložiště před zavedením úrovně Standard, automaticky se při obecné dostupnosti přesunula na úroveň Free. Můžete se rozhodnout upgradovat na úroveň Standard nebo zůstat na úrovni Free.

Úložiště nemůžete downgradovat z úrovně Standard na úroveň Free. Můžete vytvořit nové úložiště na úrovni Free a pak importovat konfigurační data do daného úložiště.

Jakou úroveň konfigurace aplikace mám použít?

Obě úrovně konfigurace aplikací nabízejí základní funkce, včetně nastavení konfigurace, příznaků funkcí, odkazů na službu Key Vault, snímků konfigurace, základních operací správy, metrik a protokolů.

Při výběru vrstvy je potřeba vzít v úvahu následující skutečnosti.

  • Prostředky na předplatné: Prostředek se skládá z jednoho úložiště konfigurace. Každé předplatné je omezené na jedno úložiště konfigurace pro každou oblast na úrovni Free. Předplatná můžou mít neomezený počet úložišť konfigurace na úrovni Standard.

  • Úložiště na prostředek: Na úrovni Free je každé úložiště konfigurace omezené na 10 MB běžného úložiště a 10 MB úložiště snímků. V úrovni Standard může každé úložiště konfigurace používat až 1 GB běžného úložiště a další 1 GB úložiště snímků.

  • Historie revizí: App Configuration ukládá historii všech změn provedených v klíčích. Na úrovni Free se tato historie ukládá sedm dní. Na úrovni Standard se tato historie ukládá po dobu 30 dnů.

  • Kvóta žádostí: Obchody na úrovni Free jsou omezené na 1 000 požadavků za den. Když úložiště dosáhne 1 000 požadavků, vrátí stavový kód HTTP 429 pro všechny požadavky do půlnoci UTC.

    Úložiště úrovně Standard jsou omezená na 30 000 požadavků za hodinu. Při vyčerpání hodinové kvóty můžou žádosti vrátit stavový kód HTTP 429 označující příliš mnoho požadavků do konce hodiny. Při odesílání dalších požadavků, které jsou nad kvótou, může vyšší procento z nich vrátit stavový kód 429.

  • Smlouva o úrovni služeb: Úroveň Standard má smlouvu SLA s 99,9% dostupností a 99,95% dostupností s povolenou geografickou replikací. Úroveň Free nemá smlouvu SLA.

  • Funkce: Obě úrovně zahrnují funkce, včetně šifrování pomocí klíčů spravovaných Microsoftem, ověřování prostřednictvím přístupového klíče nebo ID Microsoft Entra, řízení přístupu na základě role (RBAC) Azure, spravované identity, značek služeb a redundance zón dostupnosti. Úroveň Standard nabízí další funkce, včetně podpory služby Private Link, šifrování pomocí klíčů spravovaných zákazníkem, ochrany obnovitelného odstranění a možností geografické replikace.

  • Náklady: Obchody úrovně Standard mají denní poplatek za využití. Prvních 200 000 žádostí každý den je součástí denního poplatku. Za žádosti za denní přidělení se také účtuje nadlimitní využití. Používání bezplatného obchodu na úrovni Free není nijak nákladné.

Můžu upgradovat obchod z úrovně Free na úroveň Standard? Můžu downgradovat úložiště z úrovně Standard na úroveň Free?

Kdykoli můžete upgradovat z úrovně Free na úroveň Standard.

Úložiště nemůžete downgradovat z úrovně Standard na úroveň Free. Můžete vytvořit nové úložiště na úrovni Free a pak importovat konfigurační data do daného úložiště.

Kde se nacházejí data uložená ve službě App Configuration?

Zákaznická data uložená ve službě App Configuration se nacházejí v oblasti, ve které byl vytvořen obchod App Configuration store zákazníka. Zákaznická data se budou replikovat do jiné oblasti jenom v případě, že zákazník povolí geografickou replikaci pro danou oblast. To platí pro všechny dostupné oblasti. Zákazníci můžou přesunout, kopírovat nebo přistupovat ke svým datům z libovolného místa globálně.

Jak služba App Configuration zajišťuje vysokou dostupnost dat?

konfigurace Aplikace Azure podporuje geografickou replikaci pro lepší odolnost vůči oblastním výpadkům.

Aplikace Azure Configuration podporuje zóny dostupnosti Azure, které chrání vaši aplikaci a data před selháním jednoho datacentra. Všechny oblasti s povolenou zónou dostupnosti se skládají z minimálně 3 zón dostupnosti, kde každý z nich je fyzicky nezávislý datacentrum. Kvůli odolnosti je tato podpora ve službě App Configuration povolená pro všechny zákazníky bez dalších poplatků. Následují oblasti, které služba App Configuration povolila podporu zóny dostupnosti. Další informace najdete v tématu Oblasti a Zóny dostupnosti v Azure.

Následují oblasti, ve kterých služba App Configuration povolila podporu zóny dostupnosti.

Amerika Evropě Střední východ Afrika Asie a Tichomoří
Brazílie – jih Francie – střed Střední Katar Austrálie – východ
Střední Kanada Itálie - sever Spojené arabské emiráty – sever Indie – střed
USA – střed Německo – středozápad Izrael - střed Japonsko – východ
East US Severní Evropa Jižní Korea – střed
USA – východ 2 Norsko – východ Southeast Asia
Středojižní USA Velká Británie – jih Východní Asie
US Gov – Virginie Západní Evropa Čína – sever 3
Západní USA 2 Švédsko – střed
USA – západ 3 Švýcarsko – sever
Mexiko – střed Střední Polsko
Španělsko – střed

Existují nějaká omezení počtu požadavků provedených ve službě App Configuration?

Úložiště konfigurace na úrovni Free jsou omezená na 1 000 požadavků za den. U úložišť konfigurace na úrovni Standard může docházet k dočasnému omezování, pokud rychlost požadavků překročí 30 000 požadavků za hodinu.

Když úložiště dosáhne limitu na úrovni Standard, může vrátit stavový kód HTTP 429 pro některé požadavky provedené do konce hodiny. Hlavička retry-after-ms v odpovědi poskytuje navrženou dobu čekání (v milisekundách) před opakováním požadavku.

Pokud vaše aplikace pravidelně používá odpovědi HTTP status code 429, zvažte jeho návrh tak, aby se snížil počet provedených požadavků. Další informace najdete v tématu omezení požadavků provedených v App Configuration.

Moje aplikace obdrží stavový kód HTTP 429 odpovědí. Proč?

Za těchto okolností obdržíte odpověď stavového kódu HTTP 429:

  • Překročení denního limitu žádostí pro obchod na úrovni Free
  • Překročení hodinového limitu požadavků pro úložiště na úrovni Standard.
  • Momentální omezování kvůli velkému nárůstu požadavků†
  • Momentální omezování kvůli nadměrnému využití šířky pásma†
  • Při překročení kvóty úložiště se pokoušíte vytvořit nebo upravit klíč.

Zkontrolujte text odpovědi 429 z konkrétního důvodu, proč požadavek selhal.

†Pokud může dojít k omezování momentálního omezení, pokud obdrží velký nárůst požadavků nebo přenese nadměrný objem dat. Klienti služby App Configuration, jako jsou sada Azure SDK, knihovny zprostředkovatele konfigurace a úlohy Azure Pipelines, se automaticky opakují u omezených požadavků. U všech aplikací, které používají některý z těchto klientů, nebo vlastního klienta, který opakuje pokusy o omezené požadavky, by toto momentální omezování mělo být nepovšimnuto, pokud k němu dojde.

Návody odhadnout počet požadavků, které moje aplikace může odeslat do konfigurace aplikace?

Podívejme se na příklad a předpokládejme, že máte aplikaci s nastavením konfigurace 1 000. Aplikace načte všechna tato nastavení z konfigurace aplikace po spuštění. Potom vyhledá klíč sentinelu, aby se změny konfigurace změnily každých 30 sekund. Ať už používáte Kubernetes, App Service nebo virtuální počítače, předpokládejme, že máte současně spuštěných 50 instancí aplikace.

Nejprve odhadem požadavků na monitorování konfigurace. Každá instance vaší aplikace každých 30 sekund odešle jeden požadavek na klíč služby Sentinel do služby App Configuration, takže za hodinu odešle 120 požadavků (=3600/30). Vzhledem k tomu, že máte 50 instancí aplikace, odešle aplikace 6 000 (=120 × 50) celkových požadavků každou hodinu pro monitorování konfigurace. Všimněte si, že vzhledem k tomu, že klíčové požadavky sentinelu jsou časté a většinou beze změny, většina z nich se nezapočítává do limitů kvót pro ukládání po hodinách†.

Za druhé pojďme odhadnout požadavky na načítání a opětovné načítání konfigurace. Vaše aplikace načte všechna nastavení při spuštění nebo pokaždé, když se zjistí změna klíče sentinelu. Každý požadavek na app Configuration může načíst až 100 hodnot klíče, takže načtení všech nastavení bude trvat 10 (=1000/100). Vzhledem k tomu, že máte 50 instancí aplikace, odešlete 500 (=10x50) celkových požadavků, když se vaše aplikace restartuje nebo znovu načte její konfiguraci.

Nakonec to pojďme dát dohromady. Za předpokladu, že jste klíč sentinelu aktualizovali dvakrát do hodiny, obdrží vaše úložiště App Configuration 7 000 (=6 000 + 500 × 2) celkový počet žádostí za danou hodinu. Všimněte si, že z těchto požadavků bude dostupná hodinová kvóta používat pouze přibližně 1 000 (=500 × 2). Aktualizujte čísla v tomto příkladu tak, aby odpovídala vašemu konkrétnímu nastavení a návrhu, abyste měli dostatečnou vyrovnávací paměť proti limitu omezování po hodinách. Další informace najdete v tématu omezení požadavků provedených v App Configuration.

†Chybídky na úrovni nemají časté opakované požadavky vyloučené z denního limitu.

Proč nemůžu vytvořit obchod App Configuration se stejným názvem jako ten, který jsem právě odstranil?

Všechna úložiště App Configuration na úrovni Standard automaticky povolila funkci obnovitelného odstranění . Když se odstraní úložiště App Configuration úrovně Standard, jeho název je vyhrazený pro dobu uchovávání. Pokud chcete znovu vytvořit úložiště se stejným názvem před vypršením doby uchovávání informací, musíte nejdřív vymazat obnovitelně odstraněné úložiště , pokud úložiště nemá povolenou ochranu před vymazáním. Pokud je ochrana před vymazáním povolená, musíte počkat na uplynutí doby uchovávání. Funkci vyprázdnění použijte nebo nastavte kratší dobu uchovávání, pokud často potřebujete znovu vytvořit úložiště se stejným názvem. Pracovní postupy, které vyžadují opětovné vytvoření úložiště se stejným názvem, by měly umožňovat jednu hodinu mezi vyprázdněním úložiště konfigurace a provedením následného vytvoření. Toto doporučení je na místě, protože jakmile se vyžádá vymazání, provede se skutečné vyčištění prostředků úložiště konfigurace asynchronně, což vyžaduje dokončení určitou dobu navíc. Aby se zabránilo nutnosti čekat, doporučuje se používat jedinečné názvy pracovních postupů, které vytvářejí dočasné úložiště konfigurací.

Jak můžu obnovit obchod App Configuration, který jsem omylem odstranil?

Všechna úložiště App Configuration na úrovni Standard podporují funkci obnovitelného odstranění , kterou není možné zakázat. Odstraněné úložiště můžete obnovit během doby uchovávání. Postupujte podle těchto pokynů a obnovte omylem odstraněný App Configuration Store.

Můžu programově vytvářet a aktualizovat příznaky funkcí nebo odkazy na službu Key Vault?

Ano. I když můžete spravovat příznaky funkcí a odkazy služby Key Vault v Konfiguraci aplikací prostřednictvím webu Azure Portal nebo rozhraní příkazového řádku, můžete je také vytvářet a aktualizovat programově pomocí sad SDK pro konfiguraci aplikací. Proto můžete napsat přizpůsobený portál pro správu nebo je spravovat prostřednictvím kódu programu ci/CD. Referenční rozhraní API příznaku funkce a služby Key Vault jsou k dispozici v sadách SDK všech podporovaných jazyků. Ukázkové odkazy najdete v jednotlivých podporovaných jazycích.

Vyhodnocení a využívání příznaků funkcí ve vaší aplikaci vyžaduje poskytovatele konfigurace aplikací a knihovny pro správu funkcí, které jsou k dispozici v .NET a Javě Spring. Další informace najdete v části Správa funkcí v části Rychlé starty a kurzy.

Jak používat profily Java Spring v App Configuration?

Profily Spring poskytují způsob, jak oddělit části aplikace, včetně konfigurace, a zpřístupnit je pouze v určitých prostředích nebo při použití konkrétních knihoven.

Doporučujeme nastavit popisek hodnot klíče tak, aby odpovídal vašim profilům Spring. Ve výchozím nastavení knihovna zprostředkovatele Spring konfigurace aplikace načte hodnoty klíčů s popisky odpovídajícími aktuálním aktivním profilům Spring (${spring.profiles.active}), pokud není filtr popisků explicitně nastavený. Pokud neexistuje žádná aktivní sada profilů Spring, načtou se hodnoty klíč-hodnoty bez popisku.

Například s profily dev a prod, vytvoříte hodnoty klíče odpovídajícím způsobem s následujícími popisky.

Klíč Štítek Hodnota
/application/config.message Dev Dobrý den od vývojáře
/application/config.message prod Hello from prod

Pokud je profil Spring nastaven na devhodnotu , hodnota config.message bude Hello from dev. Pokud je profil Spring nastaven na prodhodnotu , hodnota config.message bude Hello from prod.

Toto výchozí chování lze přepsat nastavením filtru popisků v souboru bootstrap. Knihovna zprostředkovatele Spring načte hodnoty klíčů se zadanými popisky bez ohledu na aktivní profil Spring.

spring.cloud.azure.appconfiguration.stores[0].selects[0].label-filter: my-label

Pokud chcete vybrat další popisky a vaše profily Spring, můžete použít filtr popisků, jako je ',${spring.profiles.active}', který vybere všechny klíče bez popisku a těch, které odpovídají vašim profilům Spring. Při nalezení duplicitních klíčů mají přednost popisky úplně vpravo.

Jak povolit správu funkcí v aplikacích Blazor nebo jako služby s vymezeným oborem v aplikacích .NET?

Od verze 3.1.0 Microsoft.FeatureManagement umožňuje knihovna spouštět služby správy funkcí, včetně filtrů funkcí, jako vymezené služby v aplikacích .NET založených na injektáži závislostí. Pokud chcete tuto funkci využít, můžete volání v kódu jednoduše nahradit AddFeatureManagement kódem AddScopedFeatureManagement, jak je znázorněno v následujícím fragmentu kódu:

services.AddScopedFeatureManagement();

Filtry funkcí můžou vyhodnotit příznak funkce na základě vlastností požadavku HTTP. To se obvykle provádí kontrolou HttpContext jednoho vzoruIHttpContextAccessor. Tento model ale nefunguje pro serverové aplikace Blazor, kde by se místo toho měly používat omezené služby. V tomto případě AddScopedFeatureManagement by se měla použít metoda.

Jak můžu dostávat oznámení o nových verzích a dalších informacích souvisejících s konfigurací aplikací?

Přihlaste se k odběru našeho úložiště oznámení GitHubu.

Jak můžu nahlásit problém nebo navrhnout?

Můžete nás kontaktovat přímo na GitHubu.

Další kroky