Otomatik yük devretme gruplarına genel bakış & en iyi yöntemleri (Azure SQL Veritabanı)
Şunlar için geçerlidir: Azure SQL Veritabanı
Otomatik yük devretme grupları özelliği, mantıksal sunucudaki veritabanlarının bir kısmının veya tümünün başka bir bölgeye çoğaltılmasını ve yük devretmesini yönetmenize olanak tanır. Bu makale, Azure SQL Veritabanı ve bazı en iyi yöntemlerle Otomatik yük devretme grubu özelliğini kullanmaya odaklanmaktadır.
Başlamak için Otomatik yük devretme grubunu yapılandırma bölümünü gözden geçirin. Uçtan uca deneyim için Otomatik yük devretme grubu öğreticisine bakın.
Not
- Bu makale, Azure SQL Veritabanı için otomatik yük devretme gruplarını kapsar. Azure SQL Yönetilen Örneği için bkz. Azure SQL Yönetilen Örneği'da otomatik yük devretme grupları.
- Otomatik yük devretme grupları, gruptaki tüm veritabanlarının farklı bir bölgedeki yalnızca bir ikincil sunucuya coğrafi çoğaltmasını destekler. Aynı birincil çoğaltma için birden çok Azure SQL Veritabanı coğrafi ikincil çoğaltması (aynı veya farklı bölgelerde) oluşturmanız gerekiyorsa etkin coğrafi çoğaltma kullanın.
Genel Bakış
Otomatik yük devretme grupları özelliği, bir sunucudaki bir grup veritabanının veya yönetilen örnekteki tüm kullanıcı veritabanlarının başka bir Azure bölgesine çoğaltılmasını ve yük devretmesini yönetmenizi sağlar. Bu, coğrafi olarak çoğaltılan veritabanlarının büyük ölçekte dağıtımını ve yönetimini basitleştirmek için tasarlanmış etkin coğrafi çoğaltma özelliğinin üzerinde bildirim temelli bir soyutlamadır.
Otomatik yük devretme
Coğrafi yük devretmeyi el ile başlatabilir veya kullanıcı tanımlı bir ilkeye göre Azure hizmetine devredebilirsiniz. İkinci seçenek, yıkıcı bir hatadan veya birincil bölgedeki SQL Veritabanı veya SQL Yönetilen Örneği kullanılabilirliğinin tam veya kısmen kaybolmasına neden olan planlanmamış başka bir olaydan sonra ikincil bölgedeki birden çok ilişkili veritabanını otomatik olarak kurtarmanıza olanak tanır. Bunlar genellikle yerleşik yüksek kullanılabilirlik altyapısı tarafından otomatik olarak giderilemeyen kesintilerdir. Coğrafi yük devretme tetikleyicilerine örnek olarak doğal olağanüstü durumlar veya işlem düğümlerindeki işletim sistemi çekirdeği bellek sızıntısı nedeniyle kiracı veya denetim kademesinin kapalı olmasından kaynaklanan olaylar verilebilir. Daha fazla bilgi için bkz. yüksek kullanılabilirlik Azure SQL.
Salt okunur iş yüklerini boşaltma
Birincil veritabanlarınıza yönelik trafiği azaltmak için, salt okunur iş yüklerini boşaltmak için yük devretme grubundaki ikincil veritabanlarını da kullanabilirsiniz. Salt okunur trafiği okunabilir bir ikincil veritabanına yönlendirmek için salt okunur dinleyiciyi kullanın.
Uç nokta yeniden yönlendirme
Otomatik yük devretme grupları coğrafi yük devretme işlemleri sırasında değişmeden kalan okuma yazma ve salt okunur dinleyici uç noktaları sağlar. Bu, coğrafi yük devretme sonrasında uygulamanızın bağlantı dizesini değiştirmeniz gerekmediği anlamına gelir çünkü bağlantılar otomatik olarak geçerli birincil sunucuya yönlendirilir. İster el ile ister otomatik yük devretme etkinleştirmesi kullanın, coğrafi yük devretme gruptaki tüm ikincil veritabanlarını birincil role değiştirir. Coğrafi yük devretme tamamlandıktan sonra DNS kaydı, uç noktaları yeni bölgeye yeniden yönlendirecek şekilde otomatik olarak güncelleştirilir. Coğrafi yük devretme RPO ve RTO için bkz. İş Sürekliliğine Genel Bakış.
Uygulamayı kurtarma
Tam iş sürekliliği sağlamak için bölgesel veritabanı yedekliliği eklemek çözümün yalnızca bir parçasıdır. Yıkıcı bir hatadan sonra bir uygulamayı (hizmet) uçtan uca kurtarmak için, hizmeti oluşturan tüm bileşenlerin ve bağımlı hizmetlerin kurtarılması gerekir. Bu bileşenlere örnek olarak istemci yazılımı (örneğin, özel JavaScript içeren bir tarayıcı), web ön uçları, depolama ve DNS verilebilir. Tüm bileşenlerin aynı hatalara dayanıklı olması ve uygulamanızın kurtarma süresi hedefi (RTO) içinde kullanılabilir duruma gelmesi kritik önem taşır. Bu nedenle, tüm bağımlı hizmetleri tanımlamanız ve bunların sağladığı garantileri ve yetenekleri anlamanız gerekir. Ardından, bağlı olduğu hizmetlerin yük devretmesi sırasında hizmetinizin çalıştığından emin olmak için yeterli adımları atmalısınız.
Terminoloji ve özellikler
Yük devretme grubu (FOG)
Yük devretme grubu, birincil bölgedeki bir kesinti nedeniyle birincil veritabanlarının tümünün veya bazılarının kullanılamaz duruma gelmesi durumunda birim olarak başka bir Azure bölgesine yük devredebilen, tek bir sunucu tarafından yönetilen adlandırılmış bir veritabanı grubudur.
Önemli
Yük devretme grubunun adı
.database.windows.net
etki alanı içinde genel düzeyde benzersiz olmalıdır.Sunucular
Mantıksal sunucudaki kullanıcı veritabanlarının bazıları veya tümü bir yük devretme grubuna yerleştirilebilir. Ayrıca, bir sunucu tek bir sunucuda birden çok yük devretme grubunu destekler.
Birincil
Yük devretme grubunda birincil veritabanlarını barındıran sunucu.
İkincil
Yük devretme grubunda ikincil veritabanlarını barındıran sunucu. İkincil, birincil bölgeyle aynı Azure bölgesinde olamaz.
Yük devretme grubuna tek veritabanları ekleme
Aynı sunucuya birkaç tek veritabanını aynı yük devretme grubuna yerleştirebilirsiniz. Yük devretme grubuna tek bir veritabanı eklerseniz, ikincil sunucuda aynı sürümü ve işlem boyutunu kullanarak otomatik olarak ikincil bir veritabanı oluşturur. Yük devretme grubu oluşturulduğunda bu sunucuyu belirttiniz. İkincil sunucuda zaten ikincil veritabanı olan bir veritabanı eklerseniz, bu coğrafi çoğaltma bağlantısı grup tarafından devralınır. Yük devretme grubunun parçası olmayan bir sunucuda zaten ikincil veritabanı olan bir veritabanı eklediğinizde, ikincil sunucuda yeni bir ikincil oluşturulur.
Önemli
İkincil sunucunun, var olan bir ikincil veritabanı olmadığı sürece aynı ada sahip bir veritabanına sahip olmadığından emin olun.
Elastik havuzdaki veritabanlarını yük devretme grubuna ekleme
Elastik havuzdaki tüm veya birkaç veritabanını aynı yük devretme grubuna yerleştirebilirsiniz. Birincil veritabanı bir elastik havuzdaysa, ikincil otomatik olarak elastik havuzda aynı adla (ikincil havuz) oluşturulur. İkincil sunucunun tam olarak aynı ada sahip bir elastik havuz ve yük devretme grubu tarafından oluşturulacak ikincil veritabanlarını barındırmak için yeterli boş kapasite içerdiğinden emin olmanız gerekir. İkincil havuzda zaten ikincil veritabanı olan bir veritabanını havuza eklerseniz, bu coğrafi çoğaltma bağlantısı grup tarafından devralınır. Yük devretme grubunun parçası olmayan bir sunucuda zaten ikincil veritabanı olan bir veritabanı eklediğinizde, ikincil havuzda yeni bir ikincil oluşturulur.
Yük devretme grubu okuma-yazma dinleyicisi
Geçerli birincile işaret eden bir DNS CNAME kaydı. Yük devretme grubu oluşturulduğunda otomatik olarak oluşturulur ve yük devretme sonrasında birincil değişiklik yapıldığında okuma-yazma iş yükünün birincile saydam bir şekilde yeniden bağlanmasına izin verir. Yük devretme grubu bir sunucuda oluşturulduğunda, dinleyici URL'si için DNS CNAME kaydı olarak
<fog-name>.database.windows.net
oluşturulur.Yük devretme grubu salt okunur dinleyicisi
Geçerli ikincil öğeye işaret eden bir DNS CNAME kaydı. Yük devretme grubu oluşturulduğunda otomatik olarak oluşturulur ve yük devretme sonrasında ikincil değişiklik olduğunda salt okunur SQL iş yükünün ikincil iş yüküne saydam bir şekilde bağlanmasına izin verir. Yük devretme grubu bir sunucuda oluşturulduğunda, dinleyici URL'si için DNS CNAME kaydı olarak
<fog-name>.secondary.database.windows.net
oluşturulur.Birden çok yük devretme grubu
Coğrafi yük devretmelerin kapsamını denetlemek için aynı sunucu çifti için birden çok yük devretme grubu yapılandırabilirsiniz. Her grup bağımsız olarak yük devreder. Veritabanı başına kiracı uygulamanız birden çok bölgede dağıtılıyorsa ve elastik havuzlar kullanıyorsa, her havuzdaki birincil ve ikincil veritabanlarını karıştırmak için bu özelliği kullanabilirsiniz. Bu şekilde kesintinin etkisini yalnızca bazı kiracı veritabanlarına azaltabilirsiniz.
Otomatik yük devretme ilkesi
Varsayılan olarak, bir yük devretme grubu otomatik yük devretme ilkesiyle yapılandırılır. Sistem, hata algılandıktan ve yetkisiz kullanım süresi dolduktan sonra coğrafi yük devretmeyi tetikler. Sistemin, örneğin etkinin ölçeğinden dolayı yerleşik yüksek kullanılabilirlik altyapısı tarafından kesintinin giderilemeyeceğini doğrulaması gerekir. Coğrafi yük devretme iş akışını uygulamadan veya el ile denetlemek istiyorsanız, otomatik yük devretme ilkesini kapatabilirsiniz.
Not
Kesintinin ölçeğinin doğrulanması ve ne kadar çabuk giderilebileceği insan eylemleri içerdiğinden, yetkisiz kullanım süresi bir saatin altına ayarlanamaz ve yük devretmenin tam süresi ayarlanan yetkisiz kullanım süresinden biraz farklı olabilir. Bu sınırlama, veri eşitleme durumlarından bağımsız olarak yük devretme grubundaki tüm veritabanları için geçerlidir.
Salt okunur yük devretme ilkesi
Varsayılan olarak, salt okunur dinleyicinin yük devretmesi devre dışı bırakılır. İkincil çevrimdışı olduğunda birincilin performansının etkilenmemesini sağlar. Ancak, ikincil kurtarılana kadar salt okunur oturumların bağlanamayacağı anlamına da gelir. Salt okunur oturumlarda kapalı kalma süresini tolere edemiyorsanız ve birincilin olası performans düşüşü pahasına hem salt okunur hem de okuma-yazma trafiği için birincili kullanabiliyorsanız, özelliği yapılandırarak salt okunur dinleyici için yük devretmeyi
AllowReadOnlyFailoverToPrimary
etkinleştirebilirsiniz. Bu durumda, ikincil kullanılabilir değilse salt okunur trafik otomatik olarak birincile yönlendirilir.Not
AllowReadOnlyFailoverToPrimary
Özelliğin etkili olması için otomatik yük devretme ilkesinin etkinleştirilmesi ve otomatik coğrafi yük devretmenin tetiklenmiş olması gerekir. Bu durumda, özellik True olarak ayarlanırsa, yeni birincil hem okuma-yazma hem de salt okunur oturumlara hizmet eder.Planlı yük devretme
Planlı yük devretme, ikincil rol birincil role geçmeden önce birincil ve ikincil veritabanları arasında tam veri eşitlemesi gerçekleştirir. Bu, veri kaybı olmamasını garanti eder. Planlı yük devretme aşağıdaki senaryolarda kullanılır:
- Veri kaybı kabul edilebilir olmadığında üretimde olağanüstü durum kurtarma (DR) tatbikatları gerçekleştirme
- Veritabanlarını farklı bir bölgeye taşıma
- Kesinti azaltıldıktan sonra veritabanlarını birincil bölgeye döndür (yeniden çalışma)
Not
Bir veritabanı bellek içi OLTP nesneleri içeriyorsa, bellek içi OLTP nesneleri her zaman bellekte hidratlandığından birincil veritabanlarının ve hedef ikincil coğrafi çoğaltma veritabanlarının eşleşen hizmet katmanları olmalıdır. Hedef coğrafi çoğaltma veritabanında daha düşük bir hizmet katmanı bellek yetersiz sorunlarına neden olabilir. Bu durumda, etkilenen coğrafi ikincil veritabanı çoğaltması bellek içi OLTP denetim noktası-yalnızca modu olarak adlandırılan sınırlı bir salt okunur moda konulabilir. Salt okunur tablo sorgularına izin verilir, ancak etkilenen coğrafi ikincil veritabanı çoğaltmasında salt okunur bellek içi OLTP tablo sorgularına izin verilmez. Coğrafi ikincil veritabanındaki tüm çoğaltmalar yalnızca denetim noktası modundaysa planlı yük devretme engellenir. Planlanmamış yük devretme yetersiz bellek sorunları nedeniyle başarısız olabilir. Bunu önlemek için, planlı yük devretme sırasında ikincil veritabanının hizmet katmanını birincil veritabanıyla eşleşecek şekilde yükseltin veya detaya geçin. Hizmet katmanı yükseltmeleri veri boyutu işlemleri olabilir ve tamamlanması biraz zaman alabilir.
Planlanmamış yük devretme
Planlanmamış veya zorlamalı yük devretme, son değişikliklerin birincil rolden yayılmasını beklemeden ikincil rolü birincil role hemen değiştirir. Bu işlem veri kaybına neden olabilir. Planlanmamış yük devretme, birincilin erişilebilir olmadığı kesintiler sırasında kurtarma yöntemi olarak kullanılır. Kesinti giderildiğinde, eski birincil otomatik olarak yeniden bağlanır ve yeni bir ikincil olur. Yeniden çalışma için planlı bir yük devretme yürütülebilir ve çoğaltmalar özgün birincil ve ikincil rollerine döndürülür.
El ile yük devretme
Coğrafi yük devretmeyi otomatik yük devretme yapılandırmasından bağımsız olarak istediğiniz zaman el ile başlatabilirsiniz. Birincili etkileyen bir kesinti sırasında, otomatik yük devretme ilkesi yapılandırılmamışsa, ikincil rolü birincil role yükseltmek için el ile yük devretme gerekir. Zorlamalı (planlanmamış) veya kolay (planlı) yük devretme başlatabilirsiniz. Kolay yük devretme yalnızca eski birincil birincile erişilebilir olduğunda mümkündür ve birincili veri kaybı olmadan ikincil bölgeye yeniden aktarmak için kullanılabilir. Yük devretme tamamlandığında, DNS kayıtları yeni birincil sunucuya bağlantı sağlamak için otomatik olarak güncelleştirilir.
Veri kaybıyla yetkisiz kullanım süresi
Veriler zaman uyumsuz çoğaltma kullanılarak ikincil veritabanına çoğaltıldığı için otomatik coğrafi yük devretme veri kaybına neden olabilir. Otomatik yük devretme ilkesini, uygulamanızın veri kaybına dayanıklılığını yansıtacak şekilde özelleştirebilirsiniz. yapılandırarak
GracePeriodWithDataLossHours
, sistemin zorlamalı yük devretme başlatmadan önce ne kadar bekleyeceğini denetleyebilir ve bu da veri kaybına neden olabilir.
Yük devretme grubu mimarisi
Azure SQL Veritabanı'ndaki bir yük devretme grubu, genellikle aynı uygulama tarafından kullanılan bir veya birden çok veritabanı içerebilir. Otomatik yük devretme ilkesine sahip otomatik yük devretme gruplarını kullanırken, gruptaki veritabanlarından birini veya birkaçını etkileyen bir kesinti otomatik coğrafi yük devretmeye neden olur.
Otomatik yük devretme grubu birincil sunucuda yapılandırılmalıdır ve bunu farklı bir Azure bölgesindeki ikincil sunucuya bağlar. Gruplar, bu sunuculardaki veritabanlarının tümünü veya bazılarını içerebilir. Aşağıdaki diyagramda birden fazla veritabanı ve otomatik yük devretme grubu kullanan coğrafi olarak yedekli bir bulut uygulamasının tipik yapılandırması gösterilir.
İş sürekliliği göz önünde bulundurularak bir hizmet tasarlarken, bu makalede özetlenen genel yönergeleri ve en iyi yöntemleri izleyin. Yük devretme grubunu yapılandırırken, coğrafi yük devretme sonrasında coğrafi ikincil yeni birincil olduğunda ikincilde kimlik doğrulamasının ve ağ erişiminin düzgün çalışması için ayarlandığından emin olun. Ayrıntılar için bkz. Olağanüstü durum kurtarma sonrasında güvenlik SQL Veritabanı. Olağanüstü durum kurtarma çözümleri tasarlama hakkında daha fazla bilgi için bkz. Etkin coğrafi çoğaltma kullanarak Olağanüstü Durum Kurtarma için Bulut Çözümleri Tasarlama.
Yük devretme gruplarıyla belirli bir noktaya geri yükleme kullanma hakkında bilgi için bkz. Belirli Bir Noktaya Kurtarma (PITR).
İlk tohumlama
Bir yük devretme grubuna veritabanları veya elastik havuzlar eklerken, veri çoğaltma başlamadan önce bir ilk tohumlama aşaması vardır. İlk tohumlama aşaması en uzun ve en pahalı işlemdir. İlk tohumlama tamamlandıktan sonra veriler eşitlenir ve ardından yalnızca sonraki veri değişiklikleri çoğaltılır. İlk dengeli dağıtımın tamamlanması için gereken süre, verilerinizin boyutuna, çoğaltılan veritabanlarının sayısına, birincil veritabanlarındaki yüke ve birincil ile ikincil arasındaki bağlantının hızına bağlıdır. Normal koşullarda, SQL Veritabanı için olası tohumlama hızı saatte 500 GB'a kadar çıkar. Tüm veritabanları için paralel olarak tohumlama gerçekleştirilir.
Birden çok veritabanına yük devretmek için birden çok yük devretme grubu kullanma
Farklı bölgelerdeki iki sunucu (birincil ve ikincil sunucular) arasında bir veya daha fazla yük devretme grubu oluşturulabilir. Birincil bölgedeki bir kesinti nedeniyle birincil veritabanlarının tümünün veya bazılarının kullanılamaz duruma gelmesi durumunda, her grup birim olarak kurtarılan bir veya birkaç veritabanı içerebilir. Yük devretme grubu oluşturmak, birincil ile aynı hizmet amacına sahip coğrafi ikincil veritabanları oluşturur. Yük devretme grubuna var olan bir coğrafi çoğaltma ilişkisi eklerseniz, coğrafi ikincilin birincil hizmet katmanı ve işlem boyutuyla yapılandırıldığından emin olun.
Okuma-yazma dinleyicisini kullanma (birincil)
Okuma yazma iş yükleri için bağlantı dizesinde sunucu adı olarak <fog-name>.database.windows.net
kullanın. Bağlantılar otomatik olarak birincil sunucuya yönlendirilir. Yük devretme sonrasında bu ad değişmez. Yük devretmenin DNS kaydının güncelleştirilmesini içerdiğini, böylece istemci bağlantılarının yeni birincil sunucuya yeniden yönlendirilmesini ancak istemci DNS önbelleği yenilendikten sonra içerdiğini unutmayın. Birincil ve ikincil dinleyici DNS kaydının yaşam süresi (TTL) 30 saniyedir.
Salt okunur dinleyiciyi kullanma (ikincil)
Veri gecikme süresine dayanıklı mantıksal olarak yalıtılmış salt okunur iş yükleriniz varsa bunları coğrafi ikincilde çalıştırabilirsiniz. Salt okunur oturumlar için bağlantı dizesinde sunucu adı olarak <fog-name>.secondary.database.windows.net
kullanın. Bağlantılar otomatik olarak coğrafi ikincil sunucuya yönlendirilir. Bağlantı dizesinde okuma amacını kullanarak ApplicationIntent=ReadOnly
belirtmeniz de önerilir.
Premium, İş Açısından Kritik ve Hiper Ölçek hizmet katmanlarında SQL Veritabanı, bağlantı dizesindeki parametresini kullanarak ApplicationIntent=ReadOnly
salt okunur sorgu iş yüklerini boşaltmak için salt okunur çoğaltmaların kullanılmasını destekler. Coğrafi ikincil bir yapılandırma yaptığınızda, birincil konumdaki veya coğrafi olarak çoğaltılan konumdaki salt okunur bir çoğaltmaya bağlanmak için bu özelliği kullanabilirsiniz:
- İkincil konumdaki salt okunur bir çoğaltmaya bağlanmak için ve
<fog-name>.secondary.database.windows.net
kullanınApplicationIntent=ReadOnly
.
Yük devretme sonrasında olası performans düşüşü
Tipik bir Azure uygulaması birden çok Azure hizmeti kullanır ve birden çok bileşenden oluşur. Yük devretme grubunun otomatik coğrafi yük devretmesi, yalnızca Azure SQL bileşenlerinin durumuna göre tetikler. Birincil bölgedeki diğer Azure hizmetleri kesintiden etkilenmeyebilir ve bileşenleri bu bölgede kullanılabilir olmaya devam edebilir. Birincil veritabanları ikincil (DR) bölgesine geçtikten sonra bağımlı bileşenler arasındaki gecikme süresi artabilir. Daha yüksek gecikme süresinin uygulamanın performansı üzerindeki etkisini önlemek için DR bölgesindeki tüm uygulama bileşenlerinin yedekli olduğundan emin olun, bu ağ güvenlik yönergelerini izleyin ve veritabanıyla birlikte ilgili uygulama bileşenlerinin coğrafi yük devretmesini ayarlayın.
Yük devretme sonrasında olası veri kaybı
Birincil bölgede kesinti olursa son işlemler coğrafi olarak ikincil bölgeye çoğaltılamayabilir. Otomatik yük devretme ilkesi yapılandırıldıysa, sistem otomatik coğrafi yük devretme başlatmadan önce belirttiğiniz GracePeriodWithDataLossHours
süreyi bekler. Varsayılan değer 1 saattir. Bu, veri kaybını önlemek yerine veritabanı kullanılabilirliğini destekler. 24 saat gibi daha büyük bir sayıya ayarlamak GracePeriodWithDataLossHours
veya otomatik coğrafi yük devretmeyi devre dışı bırakmak, veritabanı kullanılabilirliği pahasına veri kaybı olasılığını azaltmanızı sağlar.
Önemli
800 veya daha az DTU'su ya da 8 veya daha az sanal çekirdeği ve 250'den fazla veritabanı olan elastik havuzlar, uzun süre planlanmış coğrafi yük devretme işlemleri ve düşük performans gibi sorunlarla karşılaşabilir. Bu sorunlar yazma yoğunluklu iş yüklerinde, coğrafi çoğaltmalar coğrafi olarak geniş ölçüde ayrıldığında veya her veritabanı için birden çok ikincil coğrafi çoğaltma kullanıldığında ortaya çıkabilir. Bu sorunların bir belirtisi de zaman içinde coğrafi çoğaltma gecikmesindeki artıştır ve bir kesintide potansiyel olarak daha yoğun veri kaybına yol açar. Bu gecikme sys.dm_geo_replication_link_status kullanılarak izlenebilir. Bu sorunlar oluşursa, azaltma, daha fazla DTU veya sanal çekirdek elde etmek için havuzun ölçeğini artırmayı veya havuzdaki coğrafi olarak çoğaltılan veritabanı sayısını azaltmayı içerir.
Yük devretme grupları ve ağ güvenliği
Bazı uygulamalar için güvenlik kuralları, veri katmanına ağ erişiminin vm, web hizmeti vb. belirli bir bileşen veya bileşenle sınırlı olmasını gerektirir. Bu gereksinim, iş sürekliliği tasarımı ve yük devretme gruplarının kullanımı için bazı güçlükler sunar. Bu tür kısıtlı erişimi uygularken aşağıdaki seçenekleri göz önünde bulundurun.
Yük devretme gruplarını ve sanal ağ hizmet uç noktalarını kullanma
SQL Veritabanı'da veritabanınıza erişimi kısıtlamak için Sanal Ağ hizmet uç noktalarını ve kurallarını kullanıyorsanız, her sanal ağ hizmet uç noktasının yalnızca bir Azure bölgesi için geçerli olduğunu unutmayın. Uç nokta, diğer bölgelerin alt ağdan gelen iletişimi kabul etmelerini sağlamaz. Bu nedenle, birincil veritabanına yalnızca aynı bölgede dağıtılan istemci uygulamaları bağlanabilir. Coğrafi yük devretme, SQL Veritabanı istemci oturumlarının farklı bir (ikincil) bölgedeki bir sunucuya yeniden yönlendirilmeleriyle sonuçlandığı için, bu oturumlar bu bölgenin dışındaki bir istemciden kaynaklanırsa başarısız olur. Bu nedenle, katılan sunucular veya örnekler Sanal Ağ kurallarına dahil edilirse otomatik yük devretme ilkesi etkinleştirilemez. El ile yük devretmeyi desteklemek için şu adımları izleyin:
- İkincil bölgede uygulamanızın ön uç bileşenlerinin (web hizmeti, sanal makineler vb.) yedekli kopyalarını sağlayın.
- Birincil ve ikincil sunucu için sanal ağ kurallarını tek tek yapılandırın.
- Traffic manager yapılandırmasını kullanarak ön uç yük devretmesini etkinleştirin.
- Kesinti algılandığında el ile coğrafi yük devretme başlatın. Bu seçenek ön uç ile veri katmanı arasında tutarlı gecikme süresi gerektiren uygulamalar için iyileştirilmiştir ve ön uç, veri katmanı veya her ikisi de kesintiden etkilendiğinde kurtarmayı destekler.
Not
Salt okunur bir iş yükünün yükünü dengelemek için salt okunur dinleyiciyi kullanıyorsanız, bu iş yükünün ikincil veritabanına bağlanabilmesi için ikincil bölgedeki bir VM'de veya başka bir kaynakta yürütildiğinden emin olun.
Yük devretme gruplarını ve güvenlik duvarı kurallarını kullanma
İş sürekliliği planınız otomatik yük devretmeye sahip grupları kullanarak yük devretme gerektiriyorsa, genel IP güvenlik duvarı kurallarını kullanarak SQL Veritabanı veritabanınıza erişimi kısıtlayabilirsiniz. Otomatik yük devretmeyi desteklemek için şu adımları izleyin:
- Genel IP oluşturun.
- Bir genel yük dengeleyici oluşturun ve genel IP'yi ona atayın.
- Ön uç bileşenleriniz için bir sanal ağ ve sanal makineler oluşturun.
- Ağ güvenlik grubu oluşturun ve gelen bağlantıları yapılandırın.
- Hizmet etiketi kullanarak
Sql.<Region>
bir bölgedeki Azure SQL Veritabanına giden bağlantıların açık olduğundan emin olun. - 1. adımda oluşturduğunuz genel IP adresinden gelen trafiğe izin vermek için bir SQL Veritabanı güvenlik duvarı kuralı oluşturun.
Giden erişimi yapılandırma ve güvenlik duvarı kurallarında kullanılacak IP hakkında daha fazla bilgi için bkz . Yük dengeleyici giden bağlantıları.
Yukarıdaki yapılandırma, otomatik coğrafi yük devretmenin ön uç bileşenlerinden gelen bağlantıları engellememesini sağlar ve uygulamanın ön uç ile veri katmanı arasındaki daha uzun gecikme süresini tolere edebildiğini varsayar.
Önemli
Bölgesel kesintiler sırasında iş sürekliliğini garanti etmek için hem ön uç bileşenleri hem de veritabanları için coğrafi yedeklilik sağlamanız gerekir.
Birincil veritabanını ölçeklendirme
Coğrafi ikincil öğelerin bağlantısını kesmeden birincil veritabanının ölçeğini artırıp azaltarak farklı bir işlem boyutuna (aynı hizmet katmanı içinde) gidebilirsiniz. Ölçeği büyütürken, önce coğrafi ikincil ölçeği artırmanızı ve ardından birincil ölçeği artırmanızı öneririz. Ölçeği azaltırken işlemi tersine çevirin: Önce birincil örneğin ölçeğini azaltıp ardından ikincil örneğin ölçeğini azaltın. Veritabanını farklı bir hizmet katmanına ölçeklendirdiğinizde bu öneri uygulanır.
Bu dizi özellikle daha düşük bir SKU'daki coğrafi ikincilin aşırı yüklendiği ve yükseltme veya eski sürüme düşürme işlemi sırasında yeniden dağıtılması gerektiği sorundan kaçınmak için önerilir. Ayrıca birincil örneği salt okunur yaparak da bu sorunu önleyebilirsiniz ama bu durumda birincil örnekteki tüm okuma-yazma iş yükleri bundan etkilenecektir.
Not
Yük devretme grubu yapılandırmasının bir parçası olarak coğrafi ikincil oluşturduysanız coğrafi ikincil ölçeği azaltmanız önerilmez. Bunun nedeni coğrafi yük devretme sonrasında veri katmanınızın normal iş yükünüzü işlemek için yeterli kapasiteye sahip olduğundan emin olmaktır.
Kritik veri kaybını önleme
Geniş alan ağlarının yüksek gecikme süresi nedeniyle, coğrafi çoğaltma zaman uyumsuz bir çoğaltma mekanizması kullanır. Zaman uyumsuz çoğaltma, birincil başarısız olursa veri kaybı olasılığını kaçınılmaz hale getirir. Kritik işlemleri veri kaybına karşı korumak için, uygulama geliştiricisi işlemi işledikten hemen sonra sp_wait_for_database_copy_sync saklı yordamını çağırabilir. Çağırma sp_wait_for_database_copy_sync
, son işlenen işlem ikincil veritabanının işlem günlüğünde iletilip sağlamlaştırılana kadar çağıran iş parçacığını engeller. Ancak, iletilen işlemlerin ikincil işlemde yeniden oynatılması (yeniden yapılması) için beklemez. sp_wait_for_database_copy_sync
kapsamı belirli bir coğrafi çoğaltma bağlantısına göre belirlenmiştir. Birincil veritabanına bağlantı hakları olan tüm kullanıcılar bu yordamı çağırabilir.
Not
sp_wait_for_database_copy_sync
belirli işlemler için coğrafi yük devretmeden sonra veri kaybını önler, ancak okuma erişimi için tam eşitlemeyi garanti etmez. Yordam sp_wait_for_database_copy_sync
çağrısının neden olduğu gecikme önemli olabilir ve çağrı sırasında birincilde henüz iletilmeyen işlem günlüğünün boyutuna bağlıdır.
Yeniden çalışma
Otomatik Yük Devretme grupları otomatik yük devretme ilkesiyle yapılandırıldığında, coğrafi ikincil sunucuya yük devretme, tanımlanan yetkisiz kullanım süresine göre olağanüstü durum senaryosu sırasında başlatılır. Eski birincile yeniden çalışma işleminin el ile başlatılması gerekir.
İzinler
Yük devretme grubu izinleri Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla yönetilir.
Yük devretme grupları oluşturmak ve yönetmek için Azure RBAC yazma erişimi gereklidir. SQL Server Katkıda Bulunan rolü, yük devretme gruplarını yönetmek için gerekli tüm izinlere sahiptir.
Belirli izin kapsamları için Azure SQL Veritabanında otomatik yük devretme gruplarını yapılandırmayı gözden geçirin.
Sınırlamalar
Aşağıdaki sınırlamalara dikkat edin:
- Aynı Azure bölgesindeki iki sunucu arasında yük devretme grupları oluşturulamaz.
- Yük devretme grupları yeniden adlandırılamaz. Grubu silmeniz ve farklı bir adla yeniden oluşturmanız gerekir.
- Yük devretme grubundaki veritabanları için veritabanını yeniden adlandırma desteklenmez. Veritabanını yeniden adlandırmak için yük devretme grubunu geçici olarak silmeniz veya veritabanını yük devretme grubundan kaldırmanız gerekir.
Yük devretme gruplarını program aracılığıyla yönetme
Daha önce açıklandığı gibi, otomatik yük devretme grupları Azure PowerShell, Azure CLI ve REST API kullanılarak program aracılığıyla da yönetilebilir. Aşağıdaki tablolarda kullanılabilir komut kümesi açıklanmaktadır. Etkin coğrafi çoğaltma, Azure SQL Veritabanı REST API'si ve Azure PowerShellcmdlet'leri dahil olmak üzere yönetim için bir dizi Azure Resource Manager API'si içerir. Bu API'ler kaynak gruplarının kullanılmasını gerektirir ve Azure rol tabanlı erişim denetimini (Azure RBAC) destekler. Erişim rollerini uygulama hakkında daha fazla bilgi için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC).
Cmdlet | Açıklama |
---|---|
New-AzSqlDatabaseFailoverGroup | Bu komut bir yük devretme grubu oluşturur ve bunu hem birincil hem de ikincil sunuculara kaydeder |
Remove-AzSqlDatabaseFailoverGroup | Sunucudan yük devretme grubunu kaldırır |
Get-AzSqlDatabaseFailoverGroup | Yük devretme grubunun yapılandırmasını alır |
Set-AzSqlDatabaseFailoverGroup | Yük devretme grubunun yapılandırmasını değiştirir |
Switch-AzSqlDatabaseFailoverGroup | Bir yük devretme grubunun ikincil sunucuya yük devretmesini tetikler |
Add-AzSqlDatabaseToFailoverGroup | Yük devretme grubuna bir veya daha fazla veritabanı ekler |
Sonraki adımlar
- Ayrıntılı öğreticiler için bkz.
- Örnek betikler için bkz:
- İş sürekliliğine genel bakış ve senaryolar için bkz . İş sürekliliğine genel bakış
- Azure SQL Veritabanı otomatik yedeklemeleri hakkında bilgi edinmek için bkz. otomatik yedeklemeleri SQL Veritabanı.
- Kurtarma için otomatik yedeklemeleri kullanma hakkında bilgi edinmek için bkz. Hizmet tarafından başlatılan yedeklemelerden veritabanını geri yükleme.
- Yeni bir birincil sunucu ve veritabanı için kimlik doğrulama gereksinimleri hakkında bilgi edinmek için bkz. Olağanüstü durum kurtarma sonrasında güvenlik SQL Veritabanı.