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. Počet klíčů a popisků není omezený, pokud je jejich celková velikost nižší než limit úložiště.
Tento limit klíč-hodnota 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.
Úplný seznam limitů najdete v tématu Limity 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í tři cenové úrovně: Free, Standard a Premium. Podrobné informace o cenách najdete na stránce s cenami služby App Configuration.
Jakou úroveň konfigurace aplikace mám použít?
Všechny ú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.
Účel: Úroveň Free je ideální pro vyhodnocení služby v neprodukčním prostředí, takže můžete prozkoumat její funkce bez jakýchkoli nákladů. Úroveň Standard je přizpůsobená pro případy použití středního objemu a poskytuje rovnováhu mezi výkonem a nákladovou efektivitou. V případě požadavků na produkční prostředí na vysoké nebo podnikové úrovni nabízí úroveň Premium nejvyšší úroveň výkonu a škálovatelnosti, aby vaše aplikace běžely hladce i pod velkým zatížením.
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 úrovních Standard a Premium.
Ú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ů. Na ú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ů. Na úrovni Premium může každé úložiště konfigurace využívat až 4 GB běžného úložiště a další 4 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í. V úrovních Standard a Premium 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. Jakmile se hodinová kvóta vyčerpá, můžou další požadavky vrátit stavový kód HTTP 429, který označuje příliš mnoho požadavků až 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.
Úložiště úrovně Premium nemají žádné omezení kvóty pro požadavky, což zajišťuje, že přístup k úložišti není nikdy blokovaný.
Propustnost: Úložiště App Configuration ve všech úrovních mají povolenou propustnost. Požadavky překračující tento příspěvek obdrží odpověď stavového kódu HTTP 429. Úložiště na úrovni Free nemají zaručenou propustnost.
Úložiště na úrovni Standard umožňují rychlost spouštění† až 300 požadavků za sekundu (RPS) pro žádosti o čtení a až 60 RPS pro žádosti o zápis.
Úložiště na úrovni Premium umožňují rychlost spouštění† až 450 RPS pro požadavky na čtení a až 100 RPS pro žádosti o zápis.
†Běžná rychlost se obvykle měří jako průměrný počet požadavků zpracovaných službou App Configuration Store bez omezování v zadaném období.
Smlouva o úrovni služeb: Úroveň Free nemá smlouvu SLA. Úroveň Standard má smlouvu SLA s 99,9% dostupností a 99,95% dostupností s povolenou geografickou replikací. Úroveň Premium má smlouvu SLA s 99,9% dostupností a 99,99% dostupností s povolenou geografickou replikací.
Funkce: Všechny ú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 Azure (RBAC), spravované identity, značek služeb a redundance zón dostupnosti. Úrovně Standard a Premium nabízejí 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: Používání obchodu úrovně Free není nijak nákladné.
Obchody úrovně Standard mají denní poplatek za využití, který každý den zahrnuje prvních 200 000 požadavků. Za žádosti nad rámec tohoto denního přidělení se účtují poplatky za nadlimitní využití.
Obchody úrovně Premium mají také denní poplatek za využití a zahrnují repliku. Každý den se do denních poplatků zahrne prvních 800 000 žádostí o původ a prvních 800 000 žádostí o repliku. Za žádosti překračující toto denní přidělení se účtují poplatky za nadlimitní využití.
Můžu upgradovat nebo downgradovat app Configuration Store?
Úložiště App Configuration Store můžete kdykoli upgradovat, například z úrovně Free na úroveň Standard nebo Premium nebo z úrovně Standard na úroveň Premium.
Úložiště App Configuration Store nejde downgradovat, například z úrovně Premium na úroveň Standard nebo z úrovně Standard na úroveň Free. Můžete ale vytvořit nové úložiště v požadované vrstvě 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 replikují 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 podporou zóny dostupnosti se skládají z minimálně tří 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 oblastech Azure s podporou zóny dostupnosti.
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ě App Configuration mají různé kvóty požadavků na základě jejich úrovně. Obchody úrovně Free jsou omezené na 1 000 požadavků za den, obchody úrovně Standard na 30 000 požadavků za hodinu a obchody úrovně Premium nemají žádné limity požadavků a zajišťují nepřerušovaný přístup.
Úložiště App Configuration mají povolenky propustnosti na základě jejich úrovně. Úložiště úrovně Free nemají zaručenou propustnost. Úložiště úrovně Standard podporují rychlost spuštění až 300 požadavků za sekundu (RPS) pro operace čtení a až 60 RPS pro operace zápisu. Úložiště úrovně Premium podporují rychlost spuštění až 450 RPS pro operace čtení a až 100 RPS pro operace zápisu.
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 požadavky na klíče služby Sentinel 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† pro úložiště na úrovni Standard.
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í trvá 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ů se pro úložiště úrovně Standard používá dostupná hodinová kvóta 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ěť oproti limitu kvót po hodinách.
†Chybídné obchody na úrovni nemají časté opakované požadavky vyloučené z denního limitu.
Moje aplikace obdrží stavový kód HTTP 429 odpovědí. Proč?
Vaše aplikace může za následujících okolností obdržet odpověď stavového kódu HTTP 429:
- Překročení denní kvóty žádostí pro úložiště na úrovni Free
- Překročení kvóty hodinové žádosti pro úložiště na úrovni Standard
- Překročení povolené propustnosti úložiště v libovolné vrstvě
- Překročení povolené šířky pásma úložiště v libovolné vrstvě.
- Při překročení kvóty úložiště se pokoušíte vytvořit nebo upravit hodnotu klíče.
Zkontrolujte text odpovědi 429 z konkrétního důvodu, proč požadavek selhal. Můžete také shromažďovat protokoly pro úložiště App Configuration Store ve službě Azure Monitor a nastavit upozornění na metriku využití kvóty žádosti.
Příjem momentární stavový kód HTTP 429 odpovědi obvykle nezpůsobují žádné škody, protože klienti App Configuration je zpracovávají elegantně. Pokud ale vaše aplikace pravidelně zaznamená stavový kód HTTP 429 odpovědí, zvažte následující možnosti:
- Upgradujte úložiště na úroveň Premium: Tato úroveň nemá žádné omezení kvóty požadavků a zvyšuje kvótu úložiště a vyšší povolenou propustnost.
- Používejte zprostředkovatele konfigurace aplikací: Zprostředkovatelé mají integrované možnosti opakování a ukládání do mezipaměti spolu s mnoha dalšími funkcemi odolnosti. Nezapomeňte aktualizovat na nejnovější verzi poskytovatele pro všechna nejnovější vylepšení.
- Sady SDK služby App Configuration použijte, pokud vaše aplikace potřebuje odesílat požadavky na zápis. I když sady SDK nemusí být tak bohaté na funkce jako poskytovatelé, automaticky se opakují u odpovědí http status code 429 a dalších přechodných chyb.
- Pokud nemůžete používat zprostředkovatele konfigurace aplikací nebo sady SDK, zahrňte logiku opakování do vlastních klientů . Hlavička
retry-after-ms
v odpovědi poskytuje navrženou dobu čekání (v milisekundách) před opakováním požadavku. - Distribuce požadavků napříč několika instancemi klienta: To pomáhá dosáhnout maximální propustnosti z app Configuration Storu.
- Omezení požadavků provedených v App Configuration: Postupujte podle pokynů a minimalizujte počet požadavků.
- Zlepšení odolnosti aplikace: Zvažte integraci geografické replikace, která umožňuje převzetí služeb při selhání a vyrovnávání zatížení. Projděte si osvědčené postupy pro vytváření vysoce odolných aplikací.
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 úrovních Standard a Premium automaticky povolila funkci obnovitelného odstranění . Když se odstraní úložiště App Configuration úrovně Standard nebo Premium, 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 úrovních Standard a Premium 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 dev
hodnotu , hodnota config.message
bude Hello from dev
. Pokud je profil Spring nastaven na prod
hodnotu , 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.