Sıkı bir şekilde yönetilen ve uyumlulukla kısıtlanmış segmentlerdeki müşteriler için, özellikle iş kolu uygulamaları için yalıtılmış ve ayrılmış bir ortama sahip olmak önemlidir. Güvenlik ön ve orta olsa da, bu kritik uygulamalar yüksek bellek kullanımı veya saniyede yüksek istek senaryoları altında ölçeklendirme ve gerçekleştirme olanağı da gerektirir. Bu çözüm, iş kolu uygulamalarını nasıl barındırabileceğinize ilişkin bir örnek sağlar. Hem güvenlik hem de performansın aynı anda ele alınadığından emin olmak için App Service Ortamı kullanabilirsiniz. Bu çözümü dağıtırken, merkez sanal ağındaki kaynaklarınızı temsil eden Azure giriş bölgenizdeki mevcut kaynakları kullanma esnekliğine sahip olursunuz. Alternatif olarak, bu çözümü bağımsız bir iş yükü olarak da dağıtabilirsiniz.
Not
Bu makalede, Azure giriş bölgelerinde App Service'e yönelik Bulut Benimseme Çerçevesi kılavuzuna uygun dağıtılabilir bir mimari sağlanır.
Mimari
Bu görüntünün tamamı bir abonelik ve özel DNS Bölgesi kapsamındadır. Bir abonelik simgesi ve sol üst köşedeki Azure Özel DNS bölgesi simgesiyle gösterilir. Bu simgelerin altında iki blok yan yanadır. Aralarında sanal ağ eşlemesi olan iki sanal ağı temsil eder. Soldaki blok merkez sanal akını, sağ taraftaki blok ise uç sanal asını temsil eder. Sol kutunun içinde üç küçük kutu vardır. Her kutu farklı bir alt ağı ve ilişkili ağ güvenlik grubunu gösterir. Sol üstten başlayarak, Azure Bastion alt ağı içindeki bir Azure Bastion örneği, sağ üst kısım ise sıçrama kutusu alt ağından oluşan sıçrama kutusu VM'dir. Sağ altta, CI/CD alt asında bulunan CI/CD aracı sunucusunu içeren merkez sanal ağdaki üçüncü ve son kutu bulunur. Sağ taraftaki ve uç VNet'ini temsil eden kutu, içinde App Service Ortamı v3 örneğine sahip App Service Ortamı alt ağı olan yalnızca bir küçük kutu içerir. Daha küçük bir kutu App Service Ortamı temsil eder. App Service simgesi bu kutunun içindedir. Görüntünün alt orta kısmında, işlemin bir parçası olarak da dağıtılan paylaşılan kaynaklar bulunur. Paylaşılan kaynaklar soldan sağa doğru Azure Key Vault, Azure Log Analytics çalışma alanı ve Azure Uygulaması lication Insights'ı içerir.
Bu mimarinin bir Visio dosyasını indirin.
İş Akışı
Bu mimaride belirtme çizgisi olan üç akış vardır: İşlemler (turuncu), Dağıtım (yeşil) ve Kullanıcı (mor).
Operations
- İşleçler veya yöneticiler yönetim görevlerini sürekli tümleştirme/sürekli dağıtım (CI/CD) sunucusunda veya App Service Ortamı için Kudu uç noktasında gerçekleştirmek isteyecektir. İlk olarak Azure Bastion konağına bağlanması gerekir.
- Operatör veya yönetici, Azure Bastion ana bilgisayarını kullanarak atlama kutusu sunucusuna erişmek için Uzak Masa Protokolü'nü (RDP) kullanabilir.
- Atlama kutusu sunucusundan, operatör veya yönetici CI/CD sunucusuna RDP yapabilir ve aracı yükseltmeleri, işletim sistemi yükseltmeleri vb. gibi gerekli görevleri gerçekleştirebilir. Operatör veya yönetici, yönetim görevlerini gerçekleştirmek veya gelişmiş sorun giderme işlemleri gerçekleştirmek için sıçrama kutusu sunucusundan App Service Ortamı örneğin kudu uç noktasına da bağlanabilir.
Dağıtım
- Çözümün dağıtımı CI/CD aracı sunucusu aracılığıyla gerçekleştirilir. Bu sunucudaki DevOps aracısı, yeni bir dağıtım yürütürken Azure Pipelines'a bağlanır.
- Yapıtlar daha sonra sanal ağ eşlemesi üzerinden App Service Ortamı bağlanarak uygulama hizmetine dağıtılır.
User
- Kullanıcılar dağıtılan App Service'e şirketin ağı üzerinden bağlanabilir. Gerekirse Azure ExpressRoute veya VPN kullanabilir ve/veya geçerli azure sanal ağ eşlemesi üzerinden kullanabilirler.
Bileşenler
Çözüm aşağıdaki Azure hizmetlerini kullanır:
Azure Uygulaması Hizmet Ortamı v3 (ASEv3) Azure Uygulaması Hizmeti'nin bir özelliğidir ve yüksek ölçek, ağ yalıtımı, güvenlik ve/veya yüksek bellek kullanımı gerektiren müşteriler için tek kiracılı bir hizmettir. Uygulamalar, Yalıtılmış V2 hizmet planında farklı katmanları kullanma seçenekleriyle App Service Ortamı v3'te oluşturulan App Service planlarında barındırılır. App Service Ortamı önceki bir sürümüyle karşılaştırıldığında, ağ bağımlılığı, ölçek süresi ve damga pulu ücretinin kaldırılması dahil ancak bunlarla sınırlı olmamak üzere çok sayıda geliştirme yapılmıştır. Bu çözüm, iç erişim için yapılandırılmış bir App Service Ortamı v3 kullanır.
Azure Özel DNS, özel bir DNS çözümü uygulamaya gerek kalmadan sanal ağ içindeki etki alanı adlarını yönetmenize ve çözümlemenize olanak tanır. Azure Özel DNS bölgesi, sanal ağ bağlantıları aracılığıyla bir veya daha fazla sanal ağa hizalanabilir. Bu başvuru mimarisinin kullandığı App Service Ortamı v3'ün iç yapısı nedeniyle, App Service Ortamı barındırılan uygulamaların etki alanı adlarını çözümlemek için özel bir DNS bölgesi gerekir.
Azure Uygulaması Lication Insights Azure İzleyici'nin geliştiricilerin anomalileri algılamalarına, sorunları tanılamalarına ve kullanım desenlerini anlamalarına yardımcı olan bir özelliğidir. Application Insights, canlı web uygulamaları için genişletilebilir uygulama performansı yönetimi ve izleme özellikleri sunar. .NET, Node.js, Java ve Python gibi çeşitli platformlar desteklenir. Azure'da, şirket içinde, karma ortamda veya diğer genel bulutlarda barındırılan uygulamaları destekler. Application Insights, dağıtılan uygulamanın davranışlarını izlemek için bu başvuru mimarisinin bir parçası olarak yer alır.
Azure Log Analytics , isteğe bağlı olarak Azure portalından Azure İzleyici Günlüklerindeki verilerle günlük sorgularını düzenlemenize ve çalıştırmanıza olanak tanıyan bir Azure İzleyici özelliğidir. Geliştiriciler bir dizi kayıt için basit sorgular çalıştırabilir veya Log Analytics'i kullanarak gelişmiş analiz gerçekleştirebilir. Daha sonra sonuçları görselleştirebilirler. Log Analytics, analiz ve raporlama için tüm izleme günlüklerini toplamak üzere bu başvuru mimarisinin bir parçası olarak yapılandırılır.
Azure Sanal Makineler, çeşitli iş yüklerini barındırmak için kullanılabilecek isteğe bağlı, ölçeklenebilir bir bilgi işlem kaynağıdır. Bu başvuru mimarisinde, sanal makineler yönetim sıçrama kutusu sunucusu sağlamak ve DevOps aracısı veya GitHub çalıştırıcısı için bir konak sağlamak için kullanılır.
Azure Key Vault , API anahtarlarından parolalara, sertifikalara ve şifreleme anahtarlarına kadar çeşitli gizli dizileri güvenli bir şekilde depolayan ve erişen bir bulut hizmetidir. Gelecekteki kod dağıtımlarında gizli dizi yönetimini kolaylaştırmak için bu mimarinin altyapısının bir parçası olarak bir Azure anahtar kasası dağıtılır.
Azure Bastion , geliştiricinin sanal ağı içinde sağlanan bir hizmet olarak platformdur. Azure portalından TLS üzerinden geliştiricinin sanal makinelerine güvenli RDP/SSH bağlantısı sağlar. Azure Bastion ile sanal makinelerin RDP/SSH aracılığıyla bağlanması için artık genel IP adresi gerekmez. Bu başvuru mimarisinde DevOps aracısına, GitHub çalıştırıcı sunucusuna veya yönetim sıçrama kutusu sunucusuna erişmek için Azure Bastion kullanılır.
Alternatifler
Web uygulamalarını yaygın açıklardan ve güvenlik açıklarından korumaya yönelik Web Uygulaması Güvenlik Duvarı (WAF) işlevselliği sağlamak için App Service örneğinden önce bir Azure Uygulaması lication Gateway eklemeyi göz önünde bulundurun.
Azure DevOps şirket içinde barındırılan aracısının yerine şirket içinde barındırılan bir GitHub çalıştırıcısı kullanılabilir.
Dikkat edilmesi gereken noktalar
Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.
Güvenilirlik
Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.
- Bu başvuru uygulamasında bölge yedekliliği gereksinimlerinizi ve çözümünüzdeki diğer Azure Hizmetlerinin alanlar arası yedeklilik özelliklerini göz önünde bulundurun. App Service Ortamı v3, örnekleri hedef bölgedeki üç bölgeye de yayarak bölge yedekliliğini destekler. Bu yapılandırma yalnızca App Service Ortamı oluşturma sırasında ayarlanabilir ve tüm bölgelerde kullanılamayabilir. Daha fazla bilgi için bkz. App Service Ortamı için kullanılabilirlik alanı desteği. Bu başvuru uygulaması alanlar arası yedeklilik uygular, ancak bu depoyu kopyalayıp özelliğini
false
olarak ayarlayarakzoneRedundant
bunu değiştirebilirsiniz.
Güvenlik
Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.
- Uygulama hizmetine yalnızca geçerli konumlardan ulaşılabilmesi için erişim kısıtlamalarının uygun kullanımını kullanın. Örneğin, uygulama hizmeti API'leri barındırılıyorsa ve APIM tarafından önleniyorsa, uygulama hizmetine yalnızca APIM'den erişilebilecek şekilde bir erişim kısıtlaması ayarlayabilirsiniz.
- Bu başvuru uygulaması bir App Service Ortamı bir sanal ağa dağıttığı için (iç App Service Ortamı olarak adlandırılır), App Service Ortamı dağıtılan tüm uygulamalar, sanal ağ kapsamında doğal olarak ağdan yalıtılır.
- Uygulama gizli dizilerini (veritabanı kimlik bilgileri, API belirteçleri ve özel anahtarlar) Azure Key Vault'ta depolayın. App Service uygulamanızı yönetilen kimlikle bunlara güvenli bir şekilde erişecek şekilde yapılandırın. Azure Key Vault ile Azure Uygulaması Yapılandırması'nın ne zaman kullanılacağını belirleyin.
Maliyet iyileştirme
Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.
- App Service Ortamı v3 örneği için damga ücreti olmasa da, App Service Ortamı v3 örneğinde hiçbir app service Planı yapılandırılmadığında ücret alınır. Bu ücret, App Service Ortamı v3 örneğinin dağıtıldığı bölge için bir Windows I1v2 örneğinin bir örneğiyle aynı hızda alınır.
- Alanlar arası yedekli olacak şekilde yapılandırıldığında, ücretlendirme modeli bu yapılandırmada dağıtılan temel altyapıyı hesaba katacak şekilde ayarlanır. ASEv3 Fiyatlandırması kapsamında ek örneklerden sorumlu olabilirsiniz.
- App Service Ortamı v3 App Service planları için (Yalıtılmış V2 App Service planları olarak bilinir), bir yıllık veya üç yıllık bir sözleşmeyle işlem için Azure Rezervasyonları ve Azure tasarruf planını kullanın ve kullandıkça öde fiyatlarından önemli tasarruflar elde edin. Daha fazla bilgi için bkz . Yalıtılmış v2 örnekleri için rezervasyon indirimleri nasıl uygulanır?
Operasyonel mükemmellik
Operasyonel mükemmellik, bir uygulamayı dağıtan ve üretimde çalışır durumda tutan operasyon süreçlerini kapsar. Daha fazla bilgi için bkz . Operasyonel mükemmellik sütununa genel bakış.
- Uygulamanızın farklı ortamlarda nasıl davrandığını izlemek ve öğrenmek için Application Insights'ı veya başka bir uygulama performansı yönetimi çözümünü kullanın.
- Application Insights'ı etkinleştirmenin iki yolu vardır. Farklı ortamlar için telemetri verilerini farklı Application Insights örneklerine toplayın.
- Uygulamanızın farklı hizmetlere ayrılmış birden çok bileşeni varsa, bunların davranışlarını birlikte incelemek isteyebilirsiniz. Telemetri verilerini aynı Application Insights örneğinde toplayın, ancak bunları farklı bulut rolü adlarıyla etiketleyin.
- Application Insights verilerini bir Azure Log Analytics çalışma alanına aktarın . Kuruluş için tek bir çalışma alanı kullanmanızı öneririz.
- Çözümün üretimde desteklenmesi için uygulama ve özellik tasarımına operasyonel panolar ekleyin.
- Uç noktalarınız için sistem durumu denetimleri uygulayın ve ardından bunları sistem durumu yoklamaları, bağımlılık denetimleri ve kullanılabilirlik testleri için kullanın.
- Dağıtılan her kaynağı benzersiz bir şekilde tanımlamak için iyi tanımlanmış kurallarla ön ekleri ve son ekleri kullanmayı göz önünde bulundurun. Bu adlandırma kuralları, çözümleri yan yana dağıttığınızda ve genel ekip çevikliğini ve aktarım hızını iyileştirdiğinizde çakışmaları önler.
- Ağ yapılandırmasına bağlı olarak, App Service'e genel İnternet'ten ulaşılamayabilir ve genel barındırılan aracıların kullanımı dağıtımlar için çalışmaz. Bu senaryoda şirket içinde barındırılan aracıları kullanın.
Bu senaryoyu dağıtın
Kullanmaya başlamak ve bu uygulamanın ayrıntılarını daha iyi anlamak için Başvuru Uygulaması Dağıtımı Için Kullanıcı Kılavuzu'ndaki başvuru uygulama kaynaklarını gözden geçirin.
- Bu depoyu kopyalamanızı ve başvuru uygulama kaynaklarını gereksinimlerinize ve kuruluşunuzun belirli giriş bölgesi yönergelerine uyacak şekilde değiştirmenizi öneririz.
- Dağıtmadan önce, çözümü dağıtmak için kullanılan hizmet sorumlusunun yukarıda listelediğimiz kaynak türlerini oluşturmak için gerekli izinlere sahip olduğundan emin olun.
- Başvuru uygulamasını dağıtmak için kullanacağınız CI/CD hizmetini göz önünde bulundurun. Bu başvuru uygulaması bir iç App Service Ortamı olduğundan, dağıtım işlem hatlarını yürütmek için şirket içinde barındırılan bir aracıya ihtiyacınız olacaktır. DevOps aracısı veya GitHub çalıştırıcısı kullanma seçeneğiniz vardır. Gerekli olan belirli yapılandırma değerleriyle ilgili kullanıcı kılavuzuna bakın.
- Bu başvuru uygulamasını dağıtmak istediğiniz bölgeleri göz önünde bulundurun. Seçilen bölgelerin dağıtım için etkinleştirildiğinden emin olmak için ASEv3 Bölgeleri listesine başvurun.
Katkıda Bulunanlar
Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazarlar:
- Pete Messina | Senoir Bulut Çözümü Mimarı
- Nabeel Prior | Üst Düzey Bulut Çözümü Mimarı
Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Azure App Service'te güvenlik
- App Service için ağ oluşturma
- Bulut Benimseme Çerçevesi kılavuzu Azure giriş bölgelerinde App Service
Bu önemli hizmetler hakkında daha fazla bilgi edinin:
- Azure Uygulaması Hizmet Ortamı v3 (ASEv3)
- Azure Özel DNS Bölgeleri
- Azure Application Insights
- Azure Log Analytics
- Azure Sanal Makineler genel bakış
- Azure Key Vault kavramları
- Azure Bastion