Aracılığıyla paylaş


Çok katmanlı, IIS tabanlı web uygulaması için olağanüstü durum kurtarmayı ayarlama

Uygulama yazılımı, bir kuruluştaki iş üretkenliğinin altyapısıdır. Çeşitli web uygulamaları bir kuruluşta farklı amaçlara hizmet edebilir. Bordro işleme için kullanılan uygulamalar, finansal uygulamalar ve müşteriye yönelik web siteleri gibi bazı uygulamalar kuruluş için kritik öneme sahip olabilir. Üretkenlik kaybını önlemek için kuruluşun bu uygulamaların sürekli çalışır durumda olması önemlidir. Daha da önemlisi, bu uygulamaların tutarlı bir şekilde kullanılabilir olması, kuruluşun markasına veya görüntüsüne zarar gelmesini önlemeye yardımcı olabilir.

Kritik web uygulamaları genellikle çok katmanlı uygulamalar olarak ayarlanır: web, veritabanı ve uygulama farklı katmanlardadır. Uygulamalar, çeşitli katmanlara yayılmaya ek olarak trafiğin yükünü dengelemek için her katmanda birden çok sunucu da kullanabilir. Ayrıca, çeşitli katmanlar ve web sunucusundaki eşlemeler statik IP adreslerine dayalı olabilir. Yük devretme sırasında, özellikle web sunucusunda birden çok web sitesi yapılandırılmışsa bu eşlemelerden bazılarının güncelleştirilmesi gerekir. Web uygulamaları TLS kullanıyorsa, sertifika bağlamalarını güncelleştirmeniz gerekir.

Çoğaltmaya dayalı olmayan geleneksel kurtarma yöntemleri çeşitli yapılandırma dosyalarını, kayıt defteri ayarlarını, bağlamaları, özel bileşenleri (COM veya .NET), içeriği ve sertifikaları yedeklemeyi içerir. Dosyalar bir dizi el ile adımla kurtarılır. Dosyaları yedeklemenin ve el ile kurtarmanın geleneksel kurtarma yöntemleri hantaldır, hataya açıktır ve ölçeklenebilir değildir. Örneğin, sertifikaları yedeklemeyi kolayca unutabilirsiniz. Yük devretmeden sonra, sunucu için yeni sertifika satın almaktan başka seçeneğiniz kalmaz.

İyi bir olağanüstü durum kurtarma çözümü, karmaşık uygulama mimarileri için kurtarma planlarını modellemeyi destekler. Ayrıca, katmanlar arasındaki uygulama eşlemelerini işlemek için kurtarma planına özelleştirilmiş adımlar ekleyebilmeniz gerekir. Bir olağanüstü durum söz konusuysa, uygulama eşlemeleri daha düşük bir RTO'ya yol açmasına yardımcı olan tek tıklamalı, kesin bir çözüm sağlar.

Bu makalede, Azure Site Recovery kullanarak Internet Information Services'i (IIS) temel alan bir web uygulamasının nasıl korundığı açıklanmaktadır. Makale, üç katmanlı IIS tabanlı bir web uygulamasını Azure'a çoğaltmaya, olağanüstü durum kurtarma tatbikatı gerçekleştirmeye ve uygulamanın Azure'a yük devretmesine yönelik en iyi yöntemleri kapsar.

Önkoşullar

Başlamadan önce aşağıdaki görevleri nasıl yapacağınızı bildiğinizden emin olun:

Dağıtım desenleri

IIS tabanlı bir web uygulaması genellikle aşağıdaki dağıtım desenlerinden birini izler:

Dağıtım düzeni 1

Uygulama İsteği Yönlendirmesi (ARR), IIS sunucusu ve SQL Server ile IIS tabanlı bir web grubu.

Üç katmanı olan IIS tabanlı web grubunun diyagramı

Dağıtım düzeni 2

ARR, IIS sunucusu, uygulama sunucusu ve SQL Server içeren IIS tabanlı bir web grubu.

Dört katmanı olan IIS tabanlı web grubunun diyagramı

Site Recovery desteği

Bu makaledeki örnekler için Windows Server 2012 R2 Enterprise üzerinde IIS 7.5 ile VMware sanal makinelerini kullanıyoruz. Site Recovery çoğaltması uygulamaya özgü olmadığından, bu makaledeki önerilerin aşağıdaki tabloda listelenen senaryolarda ve IIS'nin farklı sürümleri için geçerli olması beklenir.

Kaynak ve hedef

Senaryo İkincil siteye Azure’a
Hyper-V Yes Yes
VMware Yes Yes
Fiziksel sunucu Hayır Evet
Azure NA Yes

Sanal makineleri çoğaltma

Tüm IIS web grubu sanal makinelerini Azure'a çoğaltmaya başlamak için Site Recovery'de Azure'a yük devretme testi'ndeki yönergeleri izleyin.

Statik IP adresi kullanıyorsanız, sanal makinenin almasını istediğiniz IP adresini belirtebilirsiniz. IP adresini ayarlamak için Ağ ayarları>HEDEF IP'ye gidin.

Site Recovery Ağı bölmesinde hedef IP'nin nasıl ayarlandığını gösteren ekran görüntüsü

Kurtarma planı oluşturma

Kurtarma planı, yük devretme sırasında çok katmanlı bir uygulamada çeşitli katmanların sıralanması için destek sağlar. Sıralama, uygulama tutarlılığının korunmasına yardımcı olur. Çok katmanlı bir web uygulaması için kurtarma planı oluşturduğunuzda, Site Recovery kullanarak kurtarma planı oluşturma başlığında açıklanan adımları tamamlayın.

Yük devretme gruplarına sanal makineler ekleme

Tipik bir çok katmanlı IIS web uygulaması aşağıdaki bileşenlerden oluşur:

  • SQL sanal makineleri olan bir veritabanı katmanı.
  • Iis sunucusu ve uygulama katmanından oluşan web katmanı.

Katmana göre farklı gruplara sanal makineler ekleyin:

  1. Bir kurtarma planı oluşturun. Grup 1'in altına veritabanı katmanı sanal makinelerini ekleyin. Bu, veritabanı katmanı sanal makinelerinin en son kapatılmasını ve önce getirilmesini sağlar.
  2. Uygulama katmanı sanal makinelerini Grup 2'nin altına ekleyin. Bu, veritabanı katmanı oluşturulduktan sonra uygulama katmanı sanal makinelerinin getirilmesini sağlar.
  3. Grup 3'te web katmanı sanal makinelerini ekleyin. Bu, uygulama katmanı oluşturulduktan sonra web katmanı sanal makinelerinin getirilmesini sağlar.
  4. Grup 4'te yük dengeleme sanal makineleri ekleyin. Bu, web katmanı oluşturulduktan sonra yük dengeleme sanal makinelerinin getirilmesini sağlar.

Daha fazla bilgi için bkz . Kurtarma planını özelleştirme.

Kurtarma planına betik ekleme

IIS web grubu düzgün çalışması için, yük devretme sonrasında veya yük devretme testi sırasında Azure sanal makinelerinde bazı işlemler yapmanız gerekebilir. Bazı yük devretme sonrası işlemleri otomatikleştirebilirsiniz. Örneğin, kurtarma planına karşılık gelen betikleri ekleyerek DNS girişini güncelleştirebilir, site bağlamasını değiştirebilir veya bağlantı dizesi değiştirebilirsiniz. Kurtarma planına VMM betiği ekleme, bir betik kullanarak otomatik görevlerin nasıl ayarlandığını açıklar.

DNS güncelleştirmesi

DNS dinamik DNS güncelleştirmesi için yapılandırılmışsa, sanal makineler başlatıldığında genellikle DNS'yi yeni IP adresiyle güncelleştirir. DNS'yi sanal makinelerin yeni IP adresleriyle güncelleştirmek için açık bir adım eklemek istiyorsanız, kurtarma planı gruplarında yük devretme sonrası eylem olarak DNS'de IP'yi güncelleştirmek için bir betik ekleyin.

Uygulamanın web.config dosyasında bağlantı dizesi

bağlantı dizesi, web sitesinin iletişim kurduğunu veritabanını belirtir. bağlantı dizesi veritabanı sanal makinesinin adını taşıyorsa, yük devretme sonrasında başka bir adıma gerek yoktur. Uygulama veritabanıyla otomatik olarak iletişim kurabilir. Ayrıca, veritabanı sanal makinesinin IP adresi korunursa bağlantı dizesi güncelleştirilmesi gerekmez.

bağlantı dizesi bir IP adresi kullanarak veritabanı sanal makinesine başvuruyorsa, yük devretme sonrasında güncelleştirilmesi gerekir. Örneğin, aşağıdaki bağlantı dizesi 127.0.1.2 IP adresine sahip veritabanına işaret ediyor:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source= 127.0.1.2\SqlExpress; Initial Catalog=TestDB1;Integrated Security=False;" />
</connectionStrings>
</configuration>

Web katmanındaki bağlantı dizesi güncelleştirmek için kurtarma planında Grup 3'e bir IIS bağlantı güncelleştirme betiği ekleyin.

Uygulama için site bağlamaları

Her site bağlama bilgilerinden oluşur. Bağlama bilgileri bağlama türünü, IIS sunucusunun site isteklerini dinlediği IP adresini, bağlantı noktası numarasını ve sitenin konak adlarını içerir. Yük devretme sırasında, ip adresiyle ilişkili bir değişiklik varsa bu bağlamaları güncelleştirmeniz gerekebilir.

Not

Site bağlamasını Tümü atanmamış olarak ayarlarsanız, yük devretme sonrasında bu bağlamayı güncelleştirmeniz gerekmez. Ayrıca, bir siteyle ilişkilendirilmiş IP adresi yük devretme sonrasında değiştirilmezse, site bağlamasını güncelleştirmeniz gerekmez. (IP adresinin saklanması, birincil ve kurtarma sitelerine atanan ağ mimarisine ve alt ağlara bağlıdır. Bunları güncelleştirmek kuruluşunuz için uygun olmayabilir.)

TLS/SSL bağlamasını ayarlamayı gösteren ekran görüntüsü

IP adresini bir siteyle ilişkilendirdiyseniz, tüm site bağlamalarını yeni IP adresiyle güncelleştirin. Site bağlamalarını değiştirmek için kurtarma planında Grup 3'e bir IIS web katmanı güncelleştirme betiği ekleyin.

Yük dengeleyici IP adresini güncelleştirme

ARR sanal makineniz varsa, IP adresini güncelleştirmek için Grup 4'e bir IIS ARR yük devretme betiği ekleyin.

HTTPS bağlantısı için TLS/SSL sertifika bağlaması

Web sitesi, web sunucusu ile kullanıcının tarayıcısı arasında güvenli bir iletişim sağlamaya yardımcı olan ilişkili bir TLS/SSL sertifikasına sahip olabilir. Web sitesinin BIR HTTPS bağlantısı varsa ve ayrıca TLS/SSL sertifika bağlaması ile IIS sunucusunun IP adresine ilişkilendirilmiş bir HTTPS site bağlaması varsa, yük devretme sonrasında IIS sanal makinesinin IP adresine sahip sertifika için yeni bir site bağlaması eklemeniz gerekir.

TLS/SSL sertifikası şu bileşenlere karşı oluşturulabilir:

  • Web sitesinin tam etki alanı adı.
  • Sunucunun adı.
  • Etki alanı adı için joker karakter sertifikası.
  • Bir IP adresi. TLS/SSL sertifikası IIS sunucusunun IP adresinden verilirse, Azure sitesindeki IIS sunucusunun IP adresine başka bir TLS/SSL sertifikası verilmesi gerekir. Bu sertifika için ek bir TLS bağlaması oluşturulması gerekir. Bu nedenle, IP adresine verilen bir TLS/SSL sertifikası kullanmamanızı öneririz. Bu seçenek daha az yaygın olarak kullanılır ve yeni sertifika yetkilisi/tarayıcı forum değişikliklerine uygun olarak yakında kullanımdan kaldırılacaktır.

Web katmanı ile uygulama katmanı arasındaki bağımlılığı güncelleştirme

Sanal makinelerin IP adresini temel alan uygulamaya özgü bir bağımlılığınız varsa, yük devretme sonrasında bu bağımlılığı güncelleştirmeniz gerekir.

Yük devretme testi çalıştırma

  1. Azure portalında Kurtarma Hizmetleri kasanızı seçin.
  2. IIS web grubu için oluşturduğunuz kurtarma planını seçin.
  3. Yük Devretme Testi'ni seçin.
  4. Yük devretme testini başlatmak için kurtarma noktasını ve Azure sanal ağını seçin.
  5. İkincil ortam çalışır durumdayken doğrulamalar gerçekleştirebilirsiniz.
  6. Doğrulamalar tamamlandığında yük devretme test ortamını temizlemek için Doğrulamalar tamamlandı'yı seçin.

Daha fazla bilgi için bkz . Site Recovery'de Azure'a yük devretme testi.

Yük devretme çalıştırma

  1. Azure portalında Kurtarma Hizmetleri kasanızı seçin.
  2. IIS web grubu için oluşturduğunuz kurtarma planını seçin.
  3. Yük devretme'yi seçin.
  4. Yük devretme işlemini başlatmak için kurtarma noktasını seçin.

Daha fazla bilgi için bkz . Site Recovery'de yük devretme.

Sonraki adımlar