İlginizi Çekebilir
  1. Ana Sayfa
  2. Sanallaştırma
  3. Bulutta Hibrit Senaryolar – Windows Azure Connect Servisini Yapılandırma

Bulutta Hibrit Senaryolar – Windows Azure Connect Servisini Yapılandırma

Bulut Bilişim furyasının yavaş yavaş Türkiye’yi de sarmasını beklediğimiz şu günlerde Microsoft’un sunduğu Connect servisinden bahsetmek istiyorum.

Bilindiği üzere, Microsoft, bulut ortamı için sunduğu birden fazla hizmetini Windows Azure Platformu altında birleştirmiş durumda. Windows Azure kendi başına bulut ortamında çalışan bir işletim sistemidir ve düzenli aralıklarla güncellenmekte. İlk çıktığı zamanlarda, yani yaklaşık olarak 2009 sonlarındaki test süreci ve 1 Şubat 2010’dan günümüze kadarki yaygın kullanım sürecinde Windows Server 2008 SP2 işletim sisteminin üzerine inşa edilen 1.x sürüm numaralı Windows Azure işletim sistemlerini gördük. Kasım 2010’dan sonra gelen güncellemelerle Windows Azure, 2.x sürüm numaralarına geçti ve bu yazının yazıldığı sırada kullanılan en güncel sürüm 2.8 numaralı ve Windows Server 2008 R2 SP1 tabanlı sürümdür.

SQL Azure ise tamamen bulutta çalışabilen, SQL Server mimarisi üzerine inşa edilen ve sanal olarak kendini bir çok kişiye aynı standartlarda hizmet verecek şekilde çoklayabilen (multi-tenant) bir veritabanı hizmetidir. SQL Sync Framework ve benzeri teknolojilerle lokalde çalışan veritabanlarımızı kolaylıkla bulutta çalışan diğer veritabanlarıyla eşleyebiliyor ve aralarında istediğimiz şekilde bir yük dağılımı gerçekleştirebiliyoruz.

Windows Azure Platformu‘nun diğer ayağında Azure AppFabric hizmetini görüyoruz. Server AppFabric’in buluttaki karşılığı olarak benzetebileceğimiz bu hizmet sayesinde, lokal kaynaklarımızı bulutta çalışan diğer kaynak veya uygulamalarımızla paylaştırabiliyor ve dilediğimiz seviyede erişim ve iletişim yetkisi tanımlayabiliyoruz. AppFabric konfigürasyonu için Access Control version 2.0, Active Directory Federation Services version 2.0 (ADFS 2.0), Windows Identity Foundation (WIF) ve Windows CardSpace tamamlayıcı teknolojilerini çok ileri seviyede bilme ve uygulayabilme gereksinimi vardır. Özellikle bir kullanıcının Tek Oturum Açma (Single Sign-On (SSO)) mekanizması ile birden fazla platformda, birden fazla kaynak üzerinde yetkilendirilmesi (Federated Identity) süreci her ne kadar sayısız fırsatlar sunsa da, henüz yapılandırmasındaki zorluk sebebiyle birçokları gibi sizi de başka arayışlara itebilir.

Tam bu noktada, imdada yine Microsoft’un bir diğer bulut hizmeti yetişiyor: Windows ! Aralık 2010’dan itibaren CTP (Community Technology Preview) aşamasında olan bu servis için şu anda bir ücret alınmamakta ve başvuru üzerine aktive edilmektedir (Belli bir süre önce Virtual Network hizmet grubunun bir parçası haline geldi).

Kendi yapılandırma senaryoma kısaca göz atarak, Azure Connect’i niçin ve nasıl kullanacağımıza geçelim:

Lokal Sunucuları Yapılandırma

Evimdeki tek, 4 çekirdekli Intel Core i5 750 işlemcili ve 8 GB belleği olan PC üzerinde Windows Server 2008 R2 Datacenter Edition işletim sistemi kurulu ve SP1 (Service Pack 1) uygulanmış durumda. Bu fiziksel makina üzerinde lokal domain ortamı aktive edildi ve dolayısıyla fiziksel makinam ortamdaki tek Domain Contoller ve DNS Server durumunda. Hyper-V rolü etkinleştirilerek sanallaştırma altyapısı hazırlandı. Makinaya bağlı tek network adaptörü Bridge olarak tüm sanal makinalara verildi. Hyper-V hostu üzerindeki sanal makinaları daha kolay yönetmek için System Center Virtual Machine Manager 2008 R2 kuruldu ve SP1 uygulandı. Sanal makinelere ikişer GB bellek ayrıldı ve sanal diskleri fix-sized olarak ayarlandı. Bu hazırlık aşamasından sonra üç sanal makinenin kurulumuna geçildi. Her birine Windows Server 2008 R2 SP1 Enterprise Edition yüklendi ve sırasıyla Exchange Server 2010 SP1, Lync Server 2010, SharePoint Server 2010 konfigüre edildi.

Lokal ortamdaki işlemler tamamlandıktan sonra statik IP adresi alındı ve ADSL modem üzerinde gerekli port yönlendirmeleri yapılarak statik IP adresinin belirli portlarına gelen trafiğin domain’deki lokal IP’lere aktarılması sağlandı (LDAP için 389 portu).

Senaryo

Senaryomuza göre, bulut üzerinde çalıştırılacak web uygulaması, içerideki yani lokaldeki domain’e sorgular gönderip, domain’deki belirli bir Organizational Unit altında tanımlı olan kullanıcıların e-mail adresi ve telefon gibi bilgilerini alıp, yeni kullanıcı yaratılması durumunda Excange Server üzerinde yeni mail kutusu oluşturacak ve Lync Server üzerinde ilgili kullanıcıyı aktive edecek şekilde yapılandırılmalıydı. Kısaca, off-premises yani bulutta çalışan bir web uygulaması, on-premises yani lokalde çalışan kaynaklara erişim yetkisine sahip olmalıydı.

İşte Windows Azure Connect burada devreye giriyor! Azure Connect servisini kullanarak lokal ve bulut ortamınız arasında IPsec teknolojisiyle kriptolanmış ağ trafiği ve IPv6 altyapısı üzerinden bir bağlantı kurmanız sağlanıyor. Lokaldeki kaynkalar ister fiziksel ister sanal olsun, hiç farketmez, Azure Connect ile doğrudan buluttaki kaynaklarınızla çiftyönlü olarak görüştürülebiliyor.

Bulut Uygulamasını Yapılandırma

Azure Yönetim Portalı’ndan giriş yaptıktan sonra (Azure Management Portal) “Beta Programs” sekmesi altında Windows Azure Connect CTP durumunuzu kontrol edin, aktif değilse başvurmanız gerekmektedir.


Resim-1

Benim aktivasyonum altı gün sürmüştü. Aktif olduktan sonra yapmanız gereken ilk iş, konuşturmak istediğiniz her fiziksel ve sanal makina üzerinden tek tek bu portala giriş yapmanız ve Virtual Network sekmesi altından Install Local Endpoint’e tıklayıp ufacık bir program kurmanız. Programcığı yüklediğiniz her makina artık bir Local Endpoint olarak algılanmakta ve arkaplanda bu makinaya bir IPv6-tipi IP adresi atanmakta. Portaldaki Virtual Network sekmesinde Activated Endpoints nodunda aktive edilmiş tüm kaynaklarınızı görüyor olmanız gerekmektedir. Burada gördüğünüz kaynakları dilediğiniz şekilde gruplamak için ribbon şeridinden Create Group butonuna tıklayın. Seçtiğiniz makinaları birbiriyle görüştürmek için Interconnect seçeneğini işaretleyin. Emin olmak için şunu deneyebilirsiniz: DC makinasının adı SERVER olsun, Exchange’inki de EXC olsun. EXC üzerinden komut satırını açıp “ping SERVER -6” komutunu çalıştırın, Virtual Network tabında gözüken IPv6’yı döndürüyorsa işlem tamam demektir.


Resim-2


Resim-3

Şimdi geldi sıra (Sürekli güncellenen SDKlar dolayısıyla yapılandırmalar ufak değişiklikler gösterebilir) yüklenmiş Visual Studio 2010 üzerinde oluşturduğumuz bir adet WebRole’üne sahip Azure uygulamamızı deployment için hazırlamak. Öncelikle Azure Management Portal üzerinde Virtual Nework tabındayken ribbon şeridindeki Get Activation Token butonuna tıklayın. Oluşturulan değeri kopyalayın ve Visual Studio projenize geri dönüp Azure WebRole’ünün Properties penceresini açın. Virtual Network tabında “Activate Windows Azure Connect” kutusunu işaretleyin ve oluşturulan değeri ilgili yere yapıştırıp kaydedin. Projenizdeki ServiceConfiguration dosyasına bakıp bu değerin otomatik olarak oraya yansıtıldığından emin olun. ServiceConfiguration dosyanızda değeri boş olan birden fazla Setting objesi yaratılmış olması gerekir.


Resim-4

Resim-5

Domain bilgilerinize göre bu değerleri doldurun. Örneğin domain FQDN adı, domain controller FQDN adı, domain’e alma yetkisine sahip kullanıcı adı vs. Buradaki en önemli ayar DomainPassword ayarıdır. DomainAccountName alanına girdiğiniz kullanıcı adı değerine göre (benim örneğimde Administrator hesabı), domain’inizdeki bu kullanıcının sertifikasını bulun ve parolasını encrypt edilmiş olarak DomainPassword alanına girin. Aynı sertifikanın thumbprint değerini de SerivceConfiguration dosyasına girmeniz gerekirken, ServiceDefiniton dosyasında sertifikanın StoreLocation ve StoreName değerleri de tanımlı olmalıdır.

Resim-6

Web uygulamasının lokaldeki kaynaklara gerçekten eriştiğini test etmek için, kendi örneğimde Default.aspx.cs dosyasına getUsers() metodu ekledim. Bu metod, domain’imdeki BermudaUsers Organizational Unit altında bulunan tüm kullanıcıları LDAP sorgusuyla çekip görüntülüyor (isim, soyisim, mail adresi vs bilgileriyle). Bu metodu Default sayfasında bir butonun click event’ine bağlayın. Çekilen bilgileri yazdırmak için de bir textbox oluşturun.

Uygulamayı Buluta Yayınlama

Bu noktada artık uygulamamızı Azure üzerinde yayınlamaya hazırız. Projemize sağ tıklayıp Publish‘e tıkladığımızda karşımıza iki seçenek çıkacaktır: Sadece Servis Paketi Yaratmak veya Doğrudan Azure Üzerinde Yayınlamak. Sadece servis paketi yaratırsanız, Azure Yönetim Portali üzerinden yeni bir deployment oluşturma penceresinden ilgili paketleri manüel olarak seçmeniz gerekecek. Doğrudan Azure’a yayınlamayı seçtiğinizde ise önceden tanımladığınız bir depolama (storage) hesabınız olmalıdır. Bu hesap için de ilgili sertifikayı Azure tarafına yüklemiş olmanız gerekir. Doğrudan yayınlama seçeneğiyle beraber opsiyonel olarak sunulan faydalı bir seçenek daha çıkıyor karşımıza: Uzak Masaüstü Bağlantısı Ayarı (Remote Desktop Connection Configuration). Ayar penceresinde uzak masaüstü bağlantısını gerçekleştirecek kullanıcının adı ile parolasını girmeniz ve sertifikasını seçmeniz istenecektir. İlgili sertifikayı Azure hesabınızdaki Hosted Services tabında yer alan Certificates noduna önceden yüklemeyi unutmayınız.

Resim-7

Resim-8

Deployment işlemi tamamlandıktan sonra portale geri dönüp deploy edilen uygulamanızın özelliklerini kontrol edin. Varsayılan olarak Windows Azure Guest OS 1.16 örneği yaratılmış ise uygulamanız seçili iken Configure OS’e tıklayın ve otomatik olarak Windows Server 2008 R2 ve Windows Azure OS 2.8’e güncellenmesini sağlayın. Bu işlemden sonra Virtual Network altında yeni yayınladığınız web rolünü seçin ve Edit Role Connections‘a tıklayın. Önceki adımlarda oluşturduğumuz lokal kaynaklar grubunu seçip ekleyin. Bu noktada web uygulaması girdiğiniz bilgiler doğrultusunda lokal domaininize dahil edilecektir.

Resim-9

Resim-10

Domain-joined bir bulut uygulamanız olduğunu doğrulamak için şu testleri yapalım:

  1. Virtual Network sekmesinde Activated Endpoints listesinde uygulamanızın üzerinde yer aldığı makina adının makinadı.domainadı.com formatında olup olmadığını kontrol edin.
  2. Production Deployment’ınızdaki uygulamanın örneğine (instance) tıklayıp ribbon şeridinden Connect butonuna tıklayın. Uzak masaüstü bağlantısı için yetki verdiğiniz kullanıcı bilgilerini girip bulutta çalışan sanal makinanıza erişin. Komut satırını açın ve SERVER makinsana ping atın. IPv6 değerini döndürüp döndürmediğini kontrol edin.
  3. getUsers() metodunu bağladığınız butona tıklayın, LDAP sorgusu çalışıyorsa, textbox’a kullanıcı bilgilerini yazdırıyor olması gerekmektedir.

Herşey düzgün çalışıyorsa, lokal kaynaklarınızla görüşebilen bir bulut uygulamanız var demektir! Daha detaylı bilgiler için MSDN rehberini inceleyin.


Resim-11

Resim-12

Resim-13

Resim-14

Resim-15

Resim-16

Bu konuyla ilgili sorularınızı Http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.technet.com

www.mshowto.org

Yorum Yap

Yazar Hakkında

1987 Sofya, Bulgaristan doğumluyum. Boğaziçi Üniversitesi Yönetim Bilişim Sistemleri Bölümü mezunu. Sistem analiz ve tasarım, sanallaştırma ve bulut bilişim teknolojileri, semantik web ve e-öğrenme alanlarına yönelik araştırma-geliştirme yapmakta ve bir eğitim teknoloji çözümleri firmasında çalışmaktadır. Microsoft tarafında MCSA, MCTS, MCP sertifikalarına sahiptir.

Yorum Yap