Azure Uygulama Yapılandırması Güvenilirliği

Azure Uygulama Yapılandırması doğrudan uygulamalara eklenmiş yapılandırma dosyalarının yerini alan uygulama yapılandırma ayarlarını ve özellik bayraklarını merkezi olarak depolar ve yönetir. Bu yaklaşımla yapılandırma değerlerini dinamik olarak güncelleştirebilir, sürüm geçmişini izleyebilir ve zaman içindeki yapılandırma değişikliklerinin kaydını tutabilirsiniz. Uygulama davranışı çalışma zamanında yapılandırma verilerine doğrudan erişime bağlı olabileceğinden, Uygulama Yapılandırması'nın kullanılabilirliği ve güvenilirliği önemli noktalardır.

Azure kullandığınızda, güvenilirlik paylaşılan bir sorumluluktur. Microsoft dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sağlar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.

Bu makalede, Uygulama Yapılandırması'nın güvenilirlik mimarisi ve hizmetin geçici hatalar, kullanılabilirlik alanı hataları ve bölge kesintileri sırasında kullanılabilir kalacak şekilde nasıl tasarlandığı açıklanmaktadır.

Güvenilirlik için üretim dağıtımı önerileri

Uygulama Yapılandırması'nın çoğu üretim dağıtımı için aşağıdaki önerileri göz önünde bulundurun:

  • SKU: Standart veya Premium SKU'yu kullanın.

  • Geçici silme ve temizleme koruması: Veri silmeyi önlemeye yardımcı olmak için geçici silme ve temizleme korumasını açın.

  • Kritik işlem senaryoları için: Premium SKU'yu kullanın ve eklenen replikayı birden çok bölgede kopyalayacak şekilde yapılandırın. Bu yaklaşım, bölge kesintilerine karşı yüksek kullanılabilirliği ve dayanıklılığı artırır.

Üretim iş yükleri için önerilen uygulamaların ve yapılandırmaların listesi için bkz. Yüksek dayanıklılığa sahip uygulamalar oluşturma.

Güvenilirlik mimarisine genel bakış

Uygulama Yapılandırması dağıttığınızda bir depo dağıtırsınız. Deponuz , anahtarlar, değerler veözellik bayrakları dahil olmak üzere uygulamanızın kullanabileceği çeşitli ayar türlerini içerir. Hizmet ayrıca ortamlar arasında yapılandırma değişikliklerini düzenleme, güvenli hale getirme, sürüm oluşturma ve güvenli bir şekilde dağıtmaya yönelik yerleşik özellikler içerir. Daha fazla bilgi için bkz. Uygulama Yapılandırması nedir?

Uygulama Yapılandırması tam olarak yönetilen bir hizmettir. Microsoft, hizmette bakım gerçekleştirmek ve ayarlarınızı depolamak ve yönetmekle sorumludur.

Uygulama Yapılandırması'na bağlanan istemci uygulamaları oluştururken, önbelleğe alma ve genel trafik hızlandırmayı etkinleştirmek için App Configuration'i Azure Front Door (önizleme) ile kullanabilirsiniz, isteğe bağlı olarak. Bu yapılandırma, coğrafi çoğaltmayla ilgili diğer konuları tanıtır ve uygun durumlarda bu makalenin tamamında vurgulanır.

Geçici hatalara dayanıklılık

Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.

Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.

Uygulama Yapılandırması'nı kullanırken, özellikle kritik kod yollarında geçici hataların yapılandırma erişimi üzerindeki etkisini en aza indirmek için aşağıdaki en iyi yöntemleri göz önünde bulundurun.

  • Yapılandırma sağlayıcıları: Yerleşik yeniden deneme ve önbelleğe alma özelliklerine ve diğer dayanıklılık özelliklerine sahip Uygulama Yapılandırması sağlayıcılarını kullanın.

  • Azure SDK’ları: Uygulamanızın yazma istekleri göndermesi gerekiyorsa Uygulama Yapılandırma SDK'larını kullanın. SDK'lar HTTP durum kodu 429 yanıtlarını ve diğer geçici hataları otomatik olarak yeniden dener.

  • Yeniden deneme mantığı: Uygulama Yapılandırma sağlayıcılarını veya SDK'ları kullanamıyorsanız özel istemcilere yeniden deneme mantığı ekleyin. Yanıttaki retry-after-ms üst bilgi, istemci isteği yeniden denemeden önce milisaniye cinsinden önerilen bir bekleme süresi sağlar.

  • Önbelleğe alma: Mağazanıza yönelik doğrudan istekleri azaltmak için mümkün olduğunda önbellek ayarları.

Diğer uygulama yapılandırma yönergeleri için bkz. Uygulama Yapılandırması SSS.

Kullanılabilirlik alanı hatalarına dayanıklılık

Availability bölgeleri Azure bölgesindeki fiziksel olarak ayrı veri merkezleri gruplarıdır. Bir bölge başarısız olduğunda hizmetler kalan bölgelerden birine devredilebilir.

Uygulama Yapılandırması, kullanılabilirlik alanlarını destekleyen bölgelerde otomatik olarak alanlar arası yedeklilik sağlar. Bu yedeklilik, belirli bir yapılandırma gerektirmeden bir bölgede yüksek kullanılabilirlik sağlar.

Bölgedeki üç bölgeye yayılan alanlar arası yedekli Uygulama Yapılandırma depolarını gösteren diyagram.

Diyagramda kullanılabilirlik alanları 1, 2 ve 3 gösterilmektedir. Uygulama Yapılandırma deposu bölgedeki üç bölgeyi de kapsıyor.

Kullanılabilirlik alanı kullanılamaz duruma geldiğinde, Uygulama Yapılandırması yüksek kullanılabilirlik sağlamak için isteklerinizi otomatik olarak diğer iyi durumdaki kullanılabilirlik alanlarına yönlendirir.

Gereksinimler

Bölge desteği: Aşağıdaki bölgelere dağıtılan depolar otomatik olarak alanlar arası yedeklidir.

Amerikalar Avrupa Orta Doğu Afrika Asia Pacific
Güney Brezilya Orta Fransa Israel Central Doğu Avustralya
Orta Kanada Almanya Batı Merkez Qatar Central Orta Hindistan
Central US Italy North Birleşik Arap Emirlikleri Kuzey Kuzey Çin 3
East US Kuzey Avrupa Doğu Asya
Doğu ABD 2 Norveç Doğu Japonya Doğu
Mexico Central Orta Polonya Korea Central
ABD'nin Güney Merkez Bölgesi Spain Central Güneydoğu Asya
ABD Virginia Hükümeti Orta İsveç
Batı ABD 2 Switzerland North
Batı ABD 3 UK South
West Europe

Maliyet

Uygulama Yapılandırması için alanlar arası yedeklilik için ek maliyet yoktur.

Kullanılabilirlik alanı desteğini yapılandırma

Microsoft, kullanılabilirlik alanlarını destekleyen a bölgesinde olduğunda depo için bölge yedekliliğini otomatik olarak yapılandırmaktadır.

Uygulama Yapılandırması mevcut bir bölgeye kullanılabilirlik alanı desteği eklerse, kullanılabilirlik alanı desteğinden yararlanmak için herhangi bir işlem yapmanız gerekmez. Mağazanız, bölgedeki Uygulama Yapılandırma depoları için kullanılabilir hale gelen kullanılabilirlik alanı desteğinden yararlanır.

Tüm bölgeler sağlıklı olduğunda davranış

Bu bölümde, alanlar arası yedekli bir Uygulama Yapılandırma deponuz olduğunda ve tüm bölgeler çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arası işlem: Uygulama Yapılandırması, kullanılabilirlik alanları arasındaki trafik yönlendirmesini otomatik olarak yönetir. Normal işlemler sırasında istekleri bölgeler arasında saydam bir şekilde dağıtır.

  • Bölgeler arası veri çoğaltma: Bölgeleri destekleyen bölgelerde, Uygulama Yapılandırması verileri kullanılabilirlik alanları arasında zaman uyumlu bir şekilde çoğaltır. Bu çoğaltma, bir bölge kullanılamaz duruma gelse bile ayarlarınızın tutarlı ve kullanılabilir durumda kalmasını sağlar.

Bölge hatası sırasındaki davranış

Bu bölümde alanlar arası yedekli Uygulama Yapılandırma deposu kullandığınızda ve bölgelerden birinde kesinti olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Algılama ve yanıt: Uygulama Yapılandırma hizmeti bölge hatalarını algılar ve bunlara otomatik olarak yanıt verir. Bölge hatası sırasında herhangi bir işlem yapmanız gerekmez.
  • Notification: Microsoft bir bölge kapatıldığında sizi otomatik olarak bilgilendirmez. Ancak, Azure Hizmet Durumu kullanarak tüm bölge hataları dahil olmak üzere hizmetin genel durumunu anlayabilir ve sorunları size bildirmek için Service Health uyarıları ayarlayabilirsiniz.
  • Etkin istekler: Bölge hatası sırasında etkilenen bölge, istemci uygulamalarının bunları yeniden denemesini gerektiren uçuş içi istekleri işleyemeyebilir. İstemci uygulamaları, bir bölge hatası oluşursa istekleri yeniden deneyebileceklerinden emin olmak için geçici hata işleme uygulamalarını izlemelidir.

  • Beklenen veri kaybı: Bölgeler arasındaki zaman uyumlu çoğaltma nedeniyle bölge hatası sırasında veri kaybı beklenmez.

  • Beklenen kapalı kalma süresi: Kapalı kalma süresi beklenmez.

  • Dağıt -ılması: Uygulama Yapılandırması, müşteri müdahalesi gerektirmeden trafiği etkilenen bölgeden sağlıklı bölgelere otomatik olarak yeniden yönlendirer.

Bölge kurtarma

Daha önce kullanılamayan bir bölge kurtarıldığında, Uygulama Yapılandırması tüm kullanılabilirlik alanlarındaki normal işlemleri otomatik olarak geri yükler. Bölge hatasından kurtulmak için herhangi bir işlem yapmanız gerekmez.

Bölge hataları için test

Uygulama Yapılandırma platformu, bölge yedekli depolar için trafik yönlendirme, hata kurtarma ve bölge kurtarmayı yönetir. Microsoft bu işlemi tamamen yönetir, bu nedenle kullanılabilirlik alanı hata işlemlerini doğrulamanız gerekmez.

Bölge genelindeki hatalara dayanıklılık

Uygulama Yapılandırması, bölge kesintileri sırasında dayanıklılığı desteklemek için yerel coğrafi çoğaltma özellikleri sağlar. Coğrafi çoğaltma, yapılandırma verilerinin yönetilen hizmet özelliği olarak bölgeler arasında çoğaltılmasını sağlar.

Coğrafi çoğaltma

Coğrafi çoğaltma ile birden çok Azure bölgesinde bir depo çoğaltabilirsiniz. Her mağazada farklı bölgelerde birden çok replika olabilir. Özgün mağaza aynı zamanda bir kopyadır. Bu özellik, uygulamaların bölge genelindeki kesintilere karşı korunmasına yardımcı olur.

Gereksinimler

  • Bölge desteği: Bölgeler Azure'ın eşleştirilmiş bölgeleri olmasa bile, Uygulama Yapılandırması'nın desteklediği herhangi bir Azure bölgesinde çoğaltma yapabilirsiniz.

  • Katmanı: Coğrafi çoğaltmayı etkinleştirmek için yapılandırma deposunun desteklenen bir katman kullanması gerekir. Daha fazla bilgi için bkz. Coğrafi çoğaltmayı etkinleştirme.

Değerlendirmeler

Coğrafi çoğaltmayı etkinleştirdiğinizde aşağıdaki faktörleri göz önünde bulundurun:

  • Alanlar arası yedekli çoğaltmalar: Uygulama Yapılandırması'nın kullanılabilirlik alanlarını desteklediği bir bölgede oluşturduğunuz tüm çoğaltmalar otomatik olarak alanlar arası yedeklidir.

  • Azure Front Door: Azure Front Door ile coğrafi olarak yedekli yapılandırma teslimini etkinleştirmek için, Uygulama Yapılandırması çoğaltmalarını çıkış noktası grubu içinde çıkış noktaları olarak yapılandırın. Azure Front Door'un bölgeler arasında sistem durumu tabanlı yönlendirme, yük dengeleme ve otomatik yük devretme yapabilmesi için doğru yapılandırılmış orijinler gereklidir. Daha fazla bilgi için bkz. Çıkış noktası için trafik yönlendirme yöntemleri.

Maliyet

Coğrafi olarak çoğaltılan her bölge, ilgili katman ve bölgenin fiyatlandırmasına göre ayrı olarak faturalandırılır. Bölgeler arası çoğaltma için veri çıkış ücreti uygulanmaz. Fiyatlandırma ayrıntıları için bkz. Uygulama Yapılandırması fiyatlandırması.

Çok bölgeli desteği yapılandırma

Yeni oluşturulan bir yapılandırma deposu için çoğaltmayı ayarlamak için bkz. Coğrafi çoğaltmayı etkinleştirme.

Tüm bölgeler iyi durumda olduğunda davranış

Bu bölümde, coğrafi çoğaltma için bir Uygulama Yapılandırma deposu yapılandırdığınızda ve tüm bölgeler çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arası işlem: Her çoğaltma ayrı ayrı adreslenebilir ve kendi Etki Alanı Adı Sistemi (DNS) adına sahiptir. Tüm replikalar hem okuma hem de yazma işlemlerini kabul edebilir.

    Uygulama Yapılandırması, trafiği bölgeler arasında otomatik olarak yönlendirmez. Uygulama Yapılandırması yapılandırma sağlayıcılarını kullandığınızda, uygulamanız isteğe bağlı olarak otomatik çoğaltma bulma özelliğini kullanabilir. Alternatif olarak, çoğaltmaların önceliklendirilmiş bir listesini belirtebilirsiniz ve Uygulama Yapılandırması ilk iyi durumdaki çoğaltmayı seçer. Bu yaklaşım, uygulamanızın hangi çoğaltmayı kullandığını denetlemesini sağlar.

    Uyarı

    Azure Front Door kullanıyorsanız trafik yönlendirme davranışı farklıdır. Daha fazla bilgi için Yük devretme ve yük dengeleme bölümüne bakınız.

  • Bölgeler arası veri çoğaltma: Veriler zaman uyumsuz olarak çoğaltılır ve sonunda tutarlıdır. Çoğaltmalar arasındaki geçerli çoğaltma gecikmesini izlemek için Azure İzleyici'deki çoğaltma gecikme süresi metriğini kullanabilirsiniz.

Bölge hatası sırasındaki davranış

Bu bölümde, coğrafi çoğaltma için bir Uygulama Yapılandırma deposu yapılandırdığınızda ve çoğaltma bölgelerinden birinde bir kesinti olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Algılama ve Yanıt: Microsoft, bölge veya çoğaltma hatalarını algılamaktan ve kurtarma işlemlerini başlatmaktan sorumludur.

    Uygulama Yapılandırması yapılandırma sağlayıcılarınıotomatik çoğaltma bulma veya birden çok çoğaltma listesiyle kullandığınızda, uygulamanız hataları otomatik olarak algılar ve iyi durumdaki bir çoğaltmaya yük devreder.

    Uygulama Yapılandırması sağlayıcılarını kullanmıyorsanız, uygulamanızı sağlıklı bir çoğaltma ile değiştirme sorumluluğunuz vardır.

  • Notification: Microsoft bölge kapatıldığında sizi otomatik olarak bilgilendirmez. Ancak, Azure Hizmet Durumu kullanarak tüm bölge hataları dahil olmak üzere hizmetin genel durumunu anlayabilir ve sorunları size bildirmek için Service Health uyarıları ayarlayabilirsiniz.

  • Etkin istekler: Bölgedeki bir kopya üzerindeki etkin istekler başarısızlıkla sonuçlanabilir. İstemci uygulamaları, isteklerini farklı bir çoğaltmada yeniden denemelidir.

  • Beklenen veri kaybı: Çoğaltma başarısız olursa, bu çoğaltmada yapılan son değişiklikler henüz diğer çoğaltmalara çoğaltılamayabilir. Kopya kurtulana kadar bu değişiklikler kullanılamaz durumda kalabilir. Olası veri kaybını tahmin etmek için Azure İzleyici’daki replication gecikmesi ölçümünü izleyin.

  • Beklenen kapalı kalma süresi: Bir kopya kullanılamaz duruma geldiğinde, bölgesi toparlanana kadar çevrimdışı kalır. Diğer replikalar istekleri işlemeye devam eder. Uygulamalar, hata durumunu algılarken ve iyi durumda bir çoğaltmaya geçiş yaparken kısa bir çalışmama süresi yaşayabilir. Süre, her uygulamanın bu algılamayı ve yük devretmeyi ne kadar hızlı gerçekleştirdiğine bağlıdır.

  • Yeniden Dağıtım: Hata durumunda uygulamaların trafiği sağlıklı bir kopyaya yönlendirmesi gerekir.

    Uygulama Yapılandırma sağlayıcıları kullanıyorsanız, sağlayıcılar çoğaltma seçimini ve yük devretmeyi otomatik olarak yönetir.

    veri deponuzun önüne Azure Front Door yerleştirir ve kaynak grubunu birden çok çoğaltmayla yük devretme için çıkış noktası olarak yapılandırın Azure Front Door istekleri otomatik olarak iyi durumdaki bir çoğaltmaya yönlendirir.

Bölge geri kazanımı

Bölge kurtarıldıktan sonra, Uygulama Yapılandırması sizin müdahaleniz olmadan çoğaltmayı diğer çoğaltmalarla eşitler.

Trafiği kurtarılan bölge örneğine geri yönlendirmek için uygulamanızı yeniden yapılandırmak sizin sorumluluğunuzdadır. "App Configuration sağlayıcılarını kullanan uygulamalar otomatik olarak replikayı yeniden kullanmaya başlar."

Bölge hataları testi

App Configuration'da doğrudan bir replikasyon yük devretme simülasyonu yapamazsınız. Ancak, uygulamalar çoğaltma seçimini denetlediğinden, uygulamayı çoğaltmaları değiştirmesi gereken bir duruma zorlayarak yük devretme davranışını test edebilirsiniz.

Uygulamanızın yedek yük devretme davranışını doğrulamak için, üretim dışı bir ortamda denetimli bir bağlantı arızası oluşturabilir ve uygulamanızın nasıl yanıt verdiğini gözlemleyebilirsiniz.

Bir yaklaşım, yerel makinenizi veya yönetim erişiminiz olan başka bir ortamı kullanmaktır. Şu adımları izleyin:

  1. Azure SDK için ayrıntılı günlük kaydını açın. .NET'te bir günlük kaydedici yapılandırmak için AzureEventSourceListener sınıfını kullanın. Daha fazla bilgi için bkz. Günlüğe kaydetme ve izleme.

  2. Dosyanızı hosts el ile yapılandırarak Uygulama Yapılandırma deponuza gelen isteklerin alınamayacağı bir IP adresine, örneğin (localhost) gibi, yönlendirilmesini sağla.

    Uyarı

    Bu adım, bilgisayarınızdan Uygulama Yapılandırma deponuza erişimi etkili bir şekilde engeller. Bu adımları yalnızca üretim dışı bir ortamda izleyin.

  3. Günlükleri, aşağıdaki örnekteki gibi bir mesaj için izleyin.

    [Warning] Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh:
    Failed to get configuration settings from endpoint 'https://myappconfigstore.azconfig.io'. Failing over to endpoint https://myappconfigstore-eus.azconfig.io'.
    

    Bu ileti, uygulamanın deponuzun başka bir yedeğini kullanmak için başarıyla yedek depoya geçtiğini gösterir.

  4. Testi tamamladıktan sonra dosyanızdaki hosts değişiklikleri geri alın.

Yedekleme ve geri yükleme

Uygulama Yapılandırması'ndan yararlanarak yapılandırma verilerini bir mağazadan dışarı aktarabilir ve daha geniş bir yedekleme stratejisinin parçası olarak kullanabilirsiniz.

Çoğu çözüm için yalnızca yedeklemelere güvenmemeniz gerekir. Bunun yerine, dayanıklılık gereksinimlerinizi desteklemek için bu kılavuzda açıklanan diğer özellikleri kullanın. Ancak yedeklemeler, diğer yaklaşımların koruma altına almayan bazı risklere karşı koruma sağlar. Daha fazla bilgi için bkz. Yedeklilik, çoğaltma ve yedekleme nedir?

Yanlışlıkla silmeye dayanıklılık

Uygulama Yapılandırması, yanlışlıkla veya kötü amaçlı silmeyi önlemek için iki önemli kurtarma özelliği sağlar:

  • Geçici silme: Geçici silmeyi açtığınızda, yapılandırılabilir bir saklama süresi boyunca silinen depoları ve ayarları kurtarabilirsiniz. Uygulama Yapılandırması kaynaklarınız için geri dönüşüm kutusu gibi geçici silme işlevleri.

  • Temizleme koruması: Temizleme korumasını açtığınızda, saklama süresi geçene kadar hizmet mağazanızın ve ayarlarının kalıcı olarak silinmesini engeller. Bu koruma, kötü amaçlı aktörlerin ayarlarınızı kalıcı olarak yok etmesini önler.

Üretim ortamları için her iki özelliği de kullanın. Daha fazla bilgi için bkz Geçici Silme ve Temizleme Koruması.

Hizmet bakımına dayanıklılık

Microsoft düzenli olarak hizmet güncelleştirmeleri ve diğer bakımları gerçekleştirir. Hizmet bu etkinlikleri otomatik olarak işler ve bu da bakımı sizin için sorunsuz ve şeffaf hale getirir. Azure Hizmet Durumu planlı bir bakım bildirimi sağlamadığı sürece bakım olayları sırasında kapalı kalma süresi beklenmez.

Yapılandırma sorunlarına dayanıklılık

Hatalı veya yanlışlıkla yapılan yapılandırma değişiklikleri uygulamanın kapalı kalma süresine neden olabilir. Yapılandırmada yapılan değişiklikleri güvenli bir şekilde kullanıma almak için yapılandırma anlık görüntülerini kullanın. Tüm yapılandırma değişikliklerinden sonra uygulamanızın sağlığını izleyin ve değişiklikler bir sorun ortaya çıkarsa son bilinen geçerli yapılandırma anlık görüntüsüne geri dönün.

Hizmet düzeyi sözleşmesi

Azure hizmetleri için hizmet düzeyi sözleşmesi (SLA), her hizmetin beklenen kullanılabilirliğini ve bu kullanılabilirlik beklentisini elde etmek için çözümünüzün karşılaması gereken koşulları açıklar. Daha fazla bilgi için, bkz. Çevrimiçi hizmetler için SLAs.