Azure İşlevleri güvenilirliği

Bu makalede Azure İşlevleri güvenilirlik desteği açıklanır ve hem kullanılabilirlik alanlarıylabölgesel dayanıklılık hem de bölgeler arası kurtarma ve iş sürekliliği ele alınmaktadır. Azure'daki güvenilirlik ilkelerine daha ayrıntılı bir genel bakış için bkz . Azure güvenilirliği.

Azure İşlevleri için kullanılabilirlik alanı desteği hem Premium (Elastik Premium) hem de Ayrılmış (App Service) planlarında kullanılabilir. Bu makalede Premium planları için alanlar arası yedeklilik desteğine odaklanılır. Ayrılmış planlarda alanlar arası yedeklilik için bkz . App Service'i kullanılabilirlik alanı desteğine geçirme.

Kullanılabilirlik alanı desteği

Azure kullanılabilirlik alanları, her Azure bölgesindeki en az üç fiziksel ayrı veri merkezi grubudur. Her bölgedeki veri merkezleri bağımsız güç, soğutma ve ağ altyapısı ile donatılmıştır. Yerel bölge hatası durumunda kullanılabilirlik alanları, bir bölge etkileniyorsa, bölgesel hizmetler, kapasite ve yüksek kullanılabilirlik kalan iki bölge tarafından desteklenecek şekilde tasarlanmıştır.

Hatalar, yazılım ve donanım arızalarından deprem, sel ve yangın gibi olaylara kadar değişebilir. Azure hizmetlerinin yedekliliği ve mantıksal yalıtımı ile hatalara dayanıklılık elde edilir. Azure'daki kullanılabilirlik alanları hakkında daha ayrıntılı bilgi için bkz . Bölgeler ve kullanılabilirlik alanları.

Azure kullanılabilirlik alanlarının etkinleştirildiği hizmetler, doğru güvenilirlik ve esneklik düzeyini sağlayacak şekilde tasarlanmıştır. Bunlar iki şekilde yapılandırılabilir. Alanlar arasında otomatik çoğaltma ile alanlar arası yedekli veya belirli bir bölgeye sabitlenmiş örneklerle bölgesel olabilir. Bu yaklaşımları da birleştirebilirsiniz. Bölgesel ve alanlar arası yedekli mimari hakkında daha fazla bilgi için bkz. kullanılabilirlik alanlarını ve bölgelerini kullanmak için Öneriler.

Azure İşlevleri alanlar arası yedekli dağıtımı destekler.

İşlevleri alanlar arası yedekli olarak yapılandırdığınızda platform, işlev uygulaması örneklerini seçilen bölgedeki üç bölgeye otomatik olarak yayar.

Alanlar arası yedekli dağıtımla yayılan örnek, uygulama ölçeği daraltılıp genişletilirken bile aşağıdaki kuralların içinde belirlenir:

  • En düşük işlev uygulaması örneği sayısı üç'tür.
  • Üçten büyük bir kapasite belirttiğinizde, örnekler yalnızca kapasite 3'ün katı olduğunda eşit olarak yayılır.
  • 3*N'den fazla kapasite değeri için fazladan örnekler kalan bir veya iki bölgeye yayılır.

Önemli

Azure İşlevleri Azure Uygulaması Hizmeti platformunda çalıştırılabilir. App Service platformunda Premium plan işlev uygulamalarını barındıran planlar, EP1 gibi SKU adlarıyla Elastik Premium planları olarak adlandırılır. İşlev uygulamanızı premium planda çalıştırmayı seçerseniz EP1 gibi "E" ile başlayan bir SKU adıyla bir plan oluşturduğunuzdan emin olun. P1V2 (Premium V2 Küçük plan) gibi "P" ile başlayan App Service planı SKU adları aslında Ayrılmış barındırma planlarıdır. Bunlar Ayrılmış olduğundan ve Elastik Premium olmadığından, "P" ile başlayan SKU adlarına sahip planlar dinamik olarak ölçeklendirilemez ve maliyetlerinizi artırabilir.

Bölgesel kullanılabilirlik

Alanlar arası yedekli Premium planları aşağıdaki bölgelerde kullanılabilir:

Kuzey ve Güney Amerika Avrupa Orta Doğu Afrika Asya Pasifik
Güney Brezilya Orta Fransa Orta İsrail Güney Afrika Kuzey Doğu Avustralya
Orta Kanada Orta Batı Almanya Katar Merkezi Orta Hindistan
Central US Kuzey İtalya Kuzey BAE Kuzey Çin 3
Doğu ABD Kuzey Avrupa Doğu Asya
Doğu ABD 2 Norveç Doğu Doğu Japonya
Orta Güney ABD Orta İsveç Güneydoğu Asya
Batı ABD 2 Kuzey İsviçre
Batı ABD 3 Güney Birleşik Krallık
West Europe

Önkoşullar

Kullanılabilirlik alanı desteği Premium planın bir özelliğidir. Kullanılabilirlik alanlarını etkinleştirmeye yönelik geçerli gereksinimler/sınırlamalar şunlardır:

  • Kullanılabilirlik alanlarını yalnızca işlev uygulamanız için premium plan oluştururken etkinleştirebilirsiniz. Mevcut bir Premium planı kullanılabilirlik alanlarını kullanacak şekilde dönüştüremezsiniz.
  • İşlev uygulamanızın depolama hesabı için alanlar arası yedekli depolama hesabı (ZRS) kullanmanız gerekir. Farklı bir depolama hesabı türü kullanıyorsanız, İşlevler bölgesel kesinti sırasında beklenmeyen davranışlar gösterebilir.
  • Hem Windows hem de Linux desteklenir.
  • Elastik Premium veya Ayrılmış barındırma planında barındırılmalıdır. Ayrılmış planla bölge yedekliliğini kullanmayı öğrenmek için bkz . App Service'i kullanılabilirlik alanı desteğine geçirme.
    • Kullanılabilirlik alanı desteği şu anda Tüketim planlarında işlev uygulamaları için kullanılamamaktadır.
  • Premium planda barındırılan işlev uygulamalarının en az her zaman hazır örnek sayısı üç olmalıdır.
    • Üçten az örnek sayısı belirtirseniz platform arka planda bu minimum sayıyı zorlar.
  • Premium planı veya kullanılabilirlik alanlarını destekleyen bir ölçek birimi kullanmıyorsanız, desteklenmeyen bir bölgedeyseniz veya emin değilseniz geçiş kılavuzuna bakın.

Fiyatlandırma

Kullanılabilirlik alanlarını etkinleştirmeyle ilgili ek maliyet yoktur. Alanlar arası yedekli Premium App Service planı fiyatlandırması, tek bölgeli Premium planla aynıdır. Kullandığınız her App Service planı için seçtiğiniz SKU' ya, belirttiğiniz kapasiteye ve otomatik ölçeklendirme ölçütlerinize göre ölçeklendirdiğiniz tüm örneklere göre ücretlendirilirsiniz. Kullanılabilirlik alanlarını etkinleştirir ancak bir App Service planı için üçten az kapasite belirtirseniz, platform söz konusu App Service planı için en az üç örnek sayısını zorlar ve bu üç örnek için sizden ücret alır.

Alanlar arası yedekli Premium plan ve işlev uygulaması oluşturma

Şu anda alanlar arası yedekli Premium planı ve işlev uygulamasını dağıtmanın iki yolu vardır. Azure portalını veya ARM şablonunu kullanabilirsiniz.

  1. Azure portalını açın ve İşlev Uygulaması Oluştur sayfasına gidin. Portalda işlev uygulaması oluşturma hakkında bilgileri burada bulabilirsiniz.

  2. Temel Bilgiler sayfasında işlev uygulamanızın alanlarını doldurun. Bölge yedekliliği için belirli gereksinimleri olan aşağıdaki tabloda yer alanlara (aşağıdaki ekran görüntüsünde de vurgulanır) özellikle dikkat edin.

    Ayar Önerilen değer Alanlar Arası Yedeklilik notları
    Bölge Tercih edilen bölge Bu yeni işlev uygulamasının oluşturulduğu abonelik. Yukarıdaki listeden kullanılabilirlik alanı etkinleştirilmiş bir bölge seçmelisiniz.

    Screenshot of Basics tab of function app create page.

  3. Barındırma sayfasında işlev uygulaması barındırma planınızın alanlarını doldurun. Bölge yedekliliği için belirli gereksinimleri olan aşağıdaki tabloda yer alanlara (aşağıdaki ekran görüntüsünde de vurgulanır) özellikle dikkat edin.

    Ayar Önerilen değer Alanlar Arası Yedeklilik notları
    Depolama Hesabı Alanlar arası yedekli depolama hesabı Önkoşullar bölümünde belirtildiği gibi, alanlar arası yedekli işlev uygulamanız için alanlar arası yedekli depolama hesabı kullanmanızı kesinlikle öneririz.
    Plan Türü İşlevler Premium Bu makalede, Premium planda alanlar arası yedekli bir uygulamanın nasıl oluşturulacağı ayrıntılı olarak anlatılır. Bölge yedekliliği şu anda Tüketim planlarında kullanılamıyor. App Service planlarındaki alanlar arası yedeklilik hakkında bilgi bu makalede bulunabilir.
    Alanlar Arası Yedeklilik Etkin Bu alan, uygulamanızın alanlar arası yedekli olup olmadığını belirleyen bayrağı doldurur. 2. adımda belirtildiği gibi, bölge yedekliliğini destekleyen bir bölge seçmediğiniz sürece seçemezsiniz Enabled .

    Screenshot of Hosting tab of function app create page.

  4. İşlev uygulaması oluşturma işleminin geri kalanında işlev uygulamanızı normal şekilde oluşturun. Oluşturma işleminin geri kalanında bölge yedekliliğini etkileyen alan yok.

Alanlar arası yedekli plan oluşturulduktan ve dağıtıldıktan sonra, yeni planınızda barındırılan tüm işlev uygulamaları alanlar arası yedekli olarak kabul edilir.

Kullanılabilirlik alanı geçişi

Azure İşlev Uygulamaları şu anda mevcut işlev uygulamaları örneklerinin yerinde geçişini desteklememektedir. Genel çok kiracılı Premium planı kullanılabilirlik dışı bölgeden kullanılabilirlik alanı desteğine geçirme hakkında bilgi için bkz . App Service'i kullanılabilirlik alanı desteğine geçirme.

Bölge azaltma deneyimi

Alanlar arası yedekli işlev uygulamalarının tüm kullanılabilir işlev uygulaması örnekleri etkinleştirilir ve olaylar işlenir. Bir bölge kapandığında İşlevler kayıp örnekleri algılar ve gerekirse yeni yedek örnekleri otomatik olarak bulmaya çalışır. Elastik ölçek davranışı yine de geçerlidir. Ancak, bir bölge azaltma senaryosunda, kayıp örneklerin yeniden doldurulması en iyi çaba temelinde gerçekleştiğinden ek örneklere yönelik isteklerin başarılı olabileceği garanti edilmez. Kullanılabilirlik alanı etkin bir Premium plana dağıtılan uygulamalar, aynı bölgedeki diğer bölgelerde kesinti yaşansa bile çalışmaya devam eder. Ancak çalışma zamanı olmayan davranışların diğer kullanılabilirlik alanlarındaki bir kesintiden etkilenmesi mümkündür. Bu etkilenen davranışlar Premium plan ölçeklendirme, uygulama oluşturma, uygulama yapılandırması ve uygulama yayımlamayı içerebilir. Premium planları için alanlar arası yedeklilik yalnızca dağıtılan uygulamalar için sürekli çalışma süresini garanti eder.

İşlevler örnekleri alanlar arası yedekli bir Premium plana ayırdığında, temel alınan Azure Sanal Makine Ölçek Kümeleri tarafından sunulan en iyi efor bölgesi dengelemesini kullanır. Premium plan, her bölgede Premium plan tarafından kullanılan diğer tüm bölgelerde aynı sayıda VM (± 1 VM) olduğunda dengeli olarak kabul edilir.

Bölgeler arası olağanüstü durum kurtarma ve iş sürekliliği

Olağanüstü durum kurtarma (DR), kapalı kalma süresi ve veri kaybına neden olan doğal afetler veya başarısız dağıtımlar gibi yüksek etkili olaylardan kurtarmayla ilgilidir. Nedeni ne olursa olsun, olağanüstü durum için en iyi çözüm iyi tanımlanmış ve test edilmiş bir DR planı ve DR'yi etkin bir şekilde destekleyen bir uygulama tasarımıdır. Olağanüstü durum kurtarma planınızı oluşturmaya başlamadan önce bkz. Olağanüstü durum kurtarma stratejisi tasarlamaya yönelik Öneriler.

DR söz konusu olduğunda, Microsoft paylaşılan sorumluluk modelini kullanır. Paylaşılan bir sorumluluk modelinde Microsoft, temel altyapı ve platform hizmetlerinin kullanılabilir olmasını sağlar. Aynı zamanda, birçok Azure hizmeti verileri otomatik olarak çoğaltmaz veya başarısız olan bir bölgeden geri dönerek başka bir etkin bölgeye çapraz çoğaltma yapamaz. Bu hizmetler için iş yükünüz için uygun bir olağanüstü durum kurtarma planı ayarlamak sizin sorumluluğunuzdadır. Hizmet olarak Azure platformu (PaaS) tekliflerinde çalışan hizmetlerin çoğu, DR'yi desteklemek için özellikler ve yönergeler sağlar ve DR planınızı geliştirmeye yardımcı olmak üzere hızlı kurtarmayı desteklemek için hizmete özgü özellikleri kullanabilirsiniz.

Bu bölümde, olağanüstü durum kurtarma için İşlevleri dağıtmak için kullanabileceğiniz stratejilerden bazıları açıklanmaktadır.

Çok bölgeli olağanüstü durum kurtarma

Kullanılabilir yerleşik yedeklilik olmadığından, işlevler belirli bir Azure bölgesindeki bir işlev uygulamasında çalışır. Kesintiler sırasında yürütme kaybını önlemek için, aynı işlevleri birden çok bölgede işlev uygulamalarına yedekli olarak dağıtabilirsiniz. Çok bölgeli dağıtımlar hakkında daha fazla bilgi edinmek için Yüksek oranda kullanılabilir çok bölgeli web uygulaması kılavuzuna bakın.

Aynı işlev kodunu birden çok bölgede çalıştırdığınızda, dikkate alınması gereken iki desen vardır: etkin-etkin ve aktif-pasif.

HTTP tetikleyici işlevleri için etkin-etkin desen

Etkin-etkin desenle, her iki bölgede de işlevler yinelenen bir şekilde veya döndürmede olayları etkin bir şekilde çalıştırır ve işler. Birden çok bölgede çalışan işlevler arasında HTTP isteklerini yönlendirebilen ve hepsini bir kez denemenizi sağlayan kritik HTTP ile tetiklenen işlevleriniz için Azure Front Door ile birlikte etkin-etkin bir desen kullanmanız önerilir. Front door ayrıca her uç noktanın sistem durumunu düzenli aralıklarla denetleyebiliyor. Bir bölgedeki bir işlev sistem durumu denetimlerine yanıt vermeyi durdurduğunda, Azure Front Door bunu döngüden çıkarır ve trafiği yalnızca kalan iyi durumdaki işlevlere iletir.

Architecture for Azure Front Door and Function

Önemli

Bununla birlikte, HTTPS olmayan tetikleyici işlevleri için etkin-pasif deseni kullanmanız kesinlikle önerilir. HTTP ile tetiklenmeyen işlevler için etkin-etkin dağıtımlar oluşturabilirsiniz. Ancak, iki etkin bölgenin birbirleriyle nasıl etkileşime geçtiğini veya birbirleriyle nasıl eşgüdümde olduğunu göz önünde bulundurmanız gerekir. Aynı işlev uygulamasını iki bölgeye dağıttığınızda, her bir bölge aynı Service Bus kuyruğunda tetiklendiğinde, bunlar bu kuyruğun sırasını kaldırma sırasında rakip tüketiciler olarak görev yapar. Bu, her iletinin yalnızca iki örnekten biri tarafından işlendiği anlamına gelir, ancak aynı zamanda tek bir Service Bus örneğinde tek bir hata noktası olduğu anlamına da gelir.

Bunun yerine, biri birincil bölgede, biri ikincil bölgede olmak üzere iki Service Bus kuyruğu dağıtabilirsiniz. Bu durumda, her birinin kendi bölgesinde Etkin Service Bus kuyruğuna işaret eden iki işlev uygulaması olabilir. Bu topolojideki zorluk, kuyruk iletilerinin iki bölge arasında nasıl dağıtıldığıdır. Bu genellikle her yayımcının her iki bölgede de bir ileti yayımlamaya çalıştığı ve her iletinin her iki etkin işlev uygulaması tarafından işlendiği anlamına gelir. Bu, istenen etkin/etkin deseni oluştururken, işlem yinelemesi ve verilerin ne zaman veya nasıl birleştirildiğiyle ilgili başka zorluklar da oluşturur.

HTTPS olmayan tetikleyici işlevleri için etkin-pasif desen

Service Bus ve Event Hubs ile tetiklenen işlevler gibi olay temelli, HTTP ile tetiklenmeyen işlevleriniz için etkin-pasif desen kullanmanız önerilir.

HTTP olmayan tetikleyici işlevleri için yedeklilik oluşturmak için etkin-pasif desen kullanın. Etkin-pasif desenle, işlevler olayları alan bölgede etkin bir şekilde çalışır; ancak ikinci bir bölgedeki aynı işlevler boşta kalır. Etkin-pasif desen, bir olağanüstü durumda ikincil bölgeye yük devretmeye yönelik bir mekanizma sağlarken her iletiyi yalnızca tek bir işlevin işlemesi için bir yol sağlar. İşlev uygulamaları, Azure Service Bus coğrafi kurtarma ve Azure Event Hubs coğrafi kurtarma gibi iş ortağı hizmetlerinin yük devretme davranışlarıyla çalışır.

Azure Event Hubs tetikleyicisi kullanarak örnek bir topolojiyi düşünün. Bu durumda, etkin/pasif desen aşağıdaki bileşenleri gerektirir:

  • Azure Event Hubs hem birincil hem de ikincil bölgeye dağıtıldı.
  • Birincil ve ikincil olay hub'larını eşleştirmek için coğrafi olağanüstü durum etkinleştirildi . Bu ayrıca, bağlantı bilgilerini değiştirmeden olay hub'larına bağlanmak ve birincilden ikincilye geçmek için kullanabileceğiniz bir diğer ad oluşturur.
  • İşlev uygulamaları hem birincil hem de ikincil (yük devretme) bölgesine dağıtılır ve ikincil bölgedeki uygulama temelde boşta olur çünkü iletiler oraya gönderilmez.
  • İşlev uygulaması, ilgili olay hub'ı için doğrudan (diğer ad olmayan) bağlantı dizesi tetikler.
  • Olay hub'ına yayımcıların diğer ad bağlantı dizesi yayımlaması gerekir.

Active-passive example architecture

Yük devretmeden önce, paylaşılan diğer ad adresine gönderen yayımcılar birincil olay hub'ına yönlendirilir. Birincil işlev uygulaması yalnızca birincil olay hub'ını dinliyor. İkincil işlev uygulaması pasif ve boştadır. Yük devretme başlatılır başlatılmaz, paylaşılan diğer adla gönderen yayımcılar ikincil olay hub'ına yönlendirilir. İkincil işlev uygulaması artık etkin hale gelir ve otomatik olarak tetiklenir. İkincil bölgeye etkili yük devretme tamamen olay hub'ından yönlendirilebilir ve işlevler yalnızca ilgili olay hub'ı etkin olduğunda etkin hale gelebilir.

Service Bus ve Event Hubs ile yük devretmeyle ilgili bilgiler ve dikkat edilmesi gerekenler hakkında daha fazla bilgi edinin.

Sonraki adımlar