Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede , App Service Ortamı'nı kullanarak güvenli uygulamaların nasıl dağıtılacağı açıklanır. Bu mimari, İnternet'ten uygulama erişimini kısıtlamak için Azure Application Gateway ve Azure Web Uygulaması Güvenlik Duvarı'nı kullanır. Bu makalede, Azure DevOps kullanarak sürekli tümleştirme ve sürekli dağıtımın (CI/CD) App Service Ortamları ile nasıl tümleştirebileceğiniz de açıklanır.
Bankacılık ve sigorta gibi sektörler genellikle bu çözümü kullanır çünkü müşteriler hem platform düzeyinde hem de uygulama düzeyinde güvenliğe değer verir. Aşağıdaki örnek uygulama, bu kavramları göstermek için kullanıcıların gider raporları göndermesine olanak tanır.
Mimari
Bu mimarinin Visio dosyasını indirin.
Veri akışı
Aşağıdaki veri akışı önceki diyagrama karşılık gelir:
HTTP ve HTTPS istekleri uygulama ağ geçidine ulaşır.
İsteğe bağlı olarak, web uygulaması için Microsoft Entra kimlik doğrulaması etkinleştirilir. Trafik uygulama ağ geçidine ulaştıktan sonra kullanıcıdan uygulamayla kimlik doğrulaması için kimlik bilgileri sağlaması istenir. Diyagramda bu adım gösterilmez.
Kullanıcı istekleri, trafiği gider web uygulamasına yönlendiren ortamın iç yük dengeleyicisi (ILB) üzerinden akar.
Kullanıcı bir gider raporu oluşturur.
Gider raporunu oluşturmanın bir parçası olarak, kullanıcının yönetici adını ve e-postasını almak için dağıtılan API uygulaması çağrılır.
Sistem gider raporunu Azure SQL Veritabanı'nda depolar.
Sürekli dağıtımı kolaylaştırmak için kod Azure DevOps örneğinde denetlendi.
Build sanal makinesi (VM), Azure DevOps aracısını içerir. Bu aracı, derleme VM'sinin web uygulaması yapıtlarını çekmesini ve bunları kullanarak web uygulamasını App Service Ortamına dağıtmasını sağlar. Derleme VM'si App Service Ortamı ile aynı sanal ağ içinde bir alt ağda bulunur.
Bileşenler
App Service Ortamı, uygulamayı yüksek ölçekte güvenli bir şekilde çalıştırmak için tamamen yalıtılmış, ayrılmış bir ortam sağlar. Hem App Service Ortamı hem de iş yükleri bir sanal ağın arkasında yer alır, bu nedenle kurulum ek bir güvenlik ve yalıtım katmanı ekler. Bu senaryoda, yüksek ölçek ve yalıtım gereksinimini karşılamak için bir ILB App Service Ortamı kullanılır.
Bu iş yükü App Service Yalıtılmış fiyatlandırma katmanını kullanır. Uygulama, daha hızlı işlemciler ve katı hal sürücüsü (SSD) depolaması kullanan ve en yüksek ölçek genişletme özelliklerini sağlayan bir Azure veri merkezinde özel ayrılmış bir ortamda çalışır.
App Service’in Web Apps ve API Apps özellikleri, web uygulamaları ve RESTful API'lerini barındırır. Bu uygulamalar ve API'ler, ayrılmış bir katmanda otomatik ölçeklendirme, özel etki alanları ve diğer özellikleri de sağlayan Yalıtılmış hizmet planında barındırılır.
Application Gateway , web uygulamasına gelen trafiği yöneten bir katman 7 web trafiği yük dengeleyicidir. Uygulamayı barındıran web sunucularından gelen trafiğin şifresini çözme yükünü ortadan kaldıran Güvenli Yuva Katmanı (SSL) boşaltması sağlar.
Web Uygulaması Güvenlik Duvarı , Application Gateway'in güvenliği geliştiren bir özelliğidir. Web uygulaması güvenlik duvarı, web uygulamasını siteler arası betik oluşturma, oturum ele geçirmeleri ve SQL ekleme gibi saldırılara karşı korumak için Open Worldwide Application Security Project (OWASP) kurallarını kullanır.
SQL Veritabanı , uygulamanın verilerini depolar. Verilerin çoğu ilişkiseldir ve verilerin bazıları belge ve blob olarak depolanır.
Azure Sanal Ağ, Azure'da çeşitli ağ özellikleri sağlar. ExpressRoute veya siteden siteye sanal özel ağ (VPN) aracılığıyla sanal ağları eşleyebilir ve şirket içi veri merkezleriyle bağlantı kurabilirsiniz. Bu senaryo, verilerin yalnızca Azure sanal ağı ile SQL Veritabanı örneği arasında akmasını sağlamak için sanal ağdaki bir hizmet uç noktasını etkinleştirir.
Azure DevOps , ekiplerin sprint'ler sırasında işbirliği yapmasına yardımcı olarak ve derleme ve yayın işlem hatları oluşturmaya yönelik araçlar sağlayarak çevik geliştirmeyi destekler.
Azure derleme VM'si , yüklü aracının ilgili derlemeyi aşağı çekmesini ve web uygulamasını ortama dağıtmasını sağlar.
Alternatifler
App Service Ortamı, Windows üzerinde normal web uygulamaları veya bu örnekte olduğu gibi, ortamın içinde dağıtılan Linux kapsayıcıları olarak çalışan web uygulamaları çalıştırabilir. Bu senaryo, bu tek örnekli kapsayıcılı uygulamaları barındırmak için bir App Service Ortamı kullanır. Çözümünüzü tasarlarken aşağıdaki alternatifleri göz önünde bulundurun:
Azure Container Apps , kapsayıcılı uygulamaları çalıştırırken altyapı ek yükünü azaltan ve maliyet tasarrufu sağlayan sunucusuz bir platformdur. Sunucu yapılandırmasını, kapsayıcı düzenlemesini ve dağıtım ayrıntılarını yönetme gereksinimini ortadan kaldırır. Container Apps, uygulamalarınızı kararlı ve güvenli tutmak için gereken tüm güncel sunucu kaynaklarını sağlar.
Azure Kubernetes Service (AKS), genellikle mikro hizmet tabanlı mimari kullanan karmaşık çok kapsayıcılı uygulamaları barındırmak için tasarlanmış bir açık kaynak proje ve düzenleme platformudur. AKS, Kubernetes kümesini sağlamayı ve yapılandırmayı basitleştiren yönetilen bir Azure hizmetidir. Bunu desteklemek ve korumak için Kubernetes platformu hakkında önemli bir bilgiye sahip olmanız gerekir, bu nedenle yalnızca birkaç tek örnekli kapsayıcılı web uygulamasını barındırmak en iyi seçenek olmayabilir.
Veri katmanı için aşağıdaki alternatifi kullanın:
- Verilerinizin çoğu ilişkisel olmayan biçimdeyse Azure Cosmos DB iyi bir seçenektir.
Olası kullanım örnekleri
Aşağıdaki kullanım örnekleri için bu çözümü göz önünde bulundurun:
- Ek güvenlik gerektiren bir Azure web uygulaması oluşturun.
- Paylaşımlı kiracı App Service planları yerine özel kiracılık sağlayın.
- Azure DevOps'ı dahili olarak yük dengeli bir App Service Ortamı ile kullanın.
TLS ve DNS tasarım kararlarını ele alın
App Service Ortamı'nın varsayılan etki alanı son eki için Etki Alanı Adı Sistemi (DNS) ayarları, uygulamanın erişilebilirliğini bu adlarla kısıtlamaz. ILB App Service Ortamı için özel etki alanı son eki özelliği, App Service Ortamınızda barındırılan uygulamalara erişmek için kendi etki alanı son ekinizi kullanmanıza olanak tanır.
Özel etki alanı soneki, App Service Ortamı'ın kullandığı bir kök etki alanını tanımlar. ILB App Service Ortamı için varsayılan kök etki alanı şeklindedir appserviceenvironment.net. ILB App Service Ortamı, müşterinin sanal ağına dahil olduğundan, müşteriler sanal ağ ortamlarıyla uyumlu varsayılan etki alanına ek olarak bir kök etki alanı da kullanabilir. Örneğin Contoso Corporation, çözümlenebilir ve yalnızca Contoso'nun sanal ağı içinde ulaşılabilir olması amaçlanan uygulamalar için varsayılan kök etki alanını internal.contoso.com kullanabilir. Bu sanal ağdaki bir uygulamaya erişerek APP-NAME.internal.contoso.comulaşabilirsiniz.
Özel alan adı soneki, App Service Ortamı için geçerlidir. Bu özellik, tek bir App Service örneğindeki özel etki alanı bağlamasından farklıdır.
Özel etki alanı soneki için kullanılan sertifika, bir Konu Alternatif Adı (SAN) girişi içeriyorsa, *.scm.CUSTOM-DOMAIN adresinden APP-NAME.scm.CUSTOM-DOMAIN Kaynak Denetim Yöneticisi (SCM) sitesine erişilebilir hale gelir. SCM'ye yalnızca temel kimlik doğrulaması kullanarak özel etki alanı üzerinden erişebilirsiniz. Çoklu oturum açma yalnızca varsayılan kök etki alanını kullandığınızda kullanılabilir.
ILB App Service Ortamında sertifikaları yönetirken aşağıdaki faktörleri göz önünde bulundurun:
Geçerli bir SSL veya TLS sertifikasını .PFX formatında Azure Key Vault'ta depolayın.
Sertifikanın 20 KB'tan az olduğundan emin olun.
Belirlenen özel etki alanı adı için şablon sertifika kullanın.
App Service Ortamınız için sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği yapılandırın. Yönetilen kimlik, SSL veya TLS sertifikasının bulunduğu Azure anahtar kasasında kimlik doğrulaması yapar.
App Service Ortamı’ın sertifika değişikliklerini bir anahtar kasasında döndürdükten sonra 24 saat içinde uygulamasını bekleyin.
Azure Key Vault'a ağ erişimi
Anahtar kasasına genel erişimle veya Uygulama Hizmeti Ortamı'nın dağıtıldığı alt ağdan erişilebilen özel bir uç nokta üzerinden erişebilirsiniz.
Genel erişim kullanıyorsanız, anahtar kasanızı yalnızca App Service Ortamı'ın dış IP adresinden gelen trafiği kabul edecek şekilde güvence altına alabilirsiniz.
Uygulama Hizmeti Ortamı, anahtar kasasına eriştiğinde kaynak adres olarak platform çıkış IP adresini kullanır. Bu IP adresini Azure portalındaki IP Adresleri sayfasında bulabilirsiniz.
DNS yapılandırması
App Service Ortamınızdaki uygulamalarınıza özel etki alanı sonekini kullanarak erişmek için kendi DNS sunucunuzu yapılandırın veya özel etki alanınız için Azure özel DNS bölgesinde DNS yapılandırın. Daha fazla bilgi için bkz. DNS yapılandırması.
Güvenli benzersiz varsayılan ana bilgisayar adı
Güvenli benzersiz varsayılan ana bilgisayar adı özelliği, kaynaklarınızı tehdit eden DNS girdilerinden ve alt etki alanı devralmalarından korumak için uzun vadeli bir çözüm sağlar. App Service kaynaklarınız için bu özelliği etkinleştirirseniz, kuruluşunuzun dışındaki hiç kimse aynı varsayılan ana bilgisayar adına sahip kaynakları yeniden oluşturamaz. Bu koruma, kötü amaçlı aktörlerin sarkan DNS girdilerinden yararlanmasını ve alt etki alanları devralmasını önler. Daha fazla bilgi için Güvenli benzersiz varsayılan konak adları bölümüne bakın.
Dikkat edilmesi gereken noktalar
Bu önemli noktalar, iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Well-Architected Framework.
Güvenilirlik
Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz . Güvenilirlik için tasarım gözden geçirme denetim listesi.
Daha fazla dayanıklılık ve ölçeklenebilirlik için App Service Ortamları ile coğrafi olarak dağıtılmış ölçek kullanmayı göz önünde bulundurun.
Dayanıklılık için tipik tasarım desenlerini gözden geçirin ve uygun yerlerde uygulayın.
Veri katmanı için etkin coğrafi çoğaltmayı ve görüntüler ve kuyruklar için coğrafi olarak yedekli depolamayı kullanmayı göz önünde bulundurun.
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
Kullanılabilirlik
Bulut uygulamanızı oluştururken kullanılabilirlik için tipik tasarım desenlerini uygulamayı göz önünde bulundurun.
Uygun App Service web uygulaması başvuru mimarisindeki kullanılabilirlik konularını gözden geçirin.
Kullanılabilirlik konusunda dikkat edilmesi gereken diğer noktalar için bkz . Hizmete göre güvenilirlik kılavuzları.
Güvenlik
Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik için tasarım gözden geçirme denetim listesi.
Uygun App Service web uygulaması başvuru mimarisindeki güvenlik konularını gözden geçirin.
Geliştiricilerin daha güvenli yazılım oluşturmasına ve geliştirme maliyetini azaltırken güvenlik uyumluluk gereksinimlerini karşılamasına yardımcı olmak için Güvenlik Geliştirme Yaşam Döngüsü sürecini takip etmeyi göz önünde bulundurun.
Dağıtılmış hizmet reddi (DDoS) saldırılarına karşı korumayı geliştirmek için Azure DDoS Koruması ve uygulama tasarımı en iyi yöntemlerini kullanın. Çevre sanal ağlarında DDoS Koruması'nı etkinleştirin.
Maliyet İyileştirme
Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz . Maliyet İyileştirme için tasarım gözden geçirme denetim listesi.
Bu senaryoyu çalıştırmanın maliyetini keşfedin. Aşağıdaki örnek maliyet profilleri beklenen trafiği temel alır. Tüm hizmetler maliyet hesaplayıcısında önceden yapılandırılmıştır.
Küçük dağıtım: Bu fiyatlandırma örneği, her ay birkaç bin kullanıcıya hizmet veren en düşük üretim düzeyi örneğin bileşenlerini temsil eder. Uygulama, yalıtılmış bir web uygulamasının tek bir küçük örneğini kullanır. Her ek bileşen, maliyeti en aza indirirken hizmet düzeyi sözleşmesi (SLA) desteğini ve üretim düzeyinde iş yükünü işlemek için yeterli kapasiteyi sağlamak için Temel katmana ölçeklendirilir.
Orta düzeyde dağıtım: Bu fiyatlandırma örneği, her ay yaklaşık 100.000 kullanıcıya hizmet veren orta ölçekli bir dağıtımın bileşenlerini temsil eder. Orta ölçekli tek yalıtılmış App Service örneği trafiği yönetir. Eklenen iş yükünü desteklemek için Application Gateway ve SQL Veritabanı kapasite artışı.
Büyük dağıtım: Bu fiyatlandırma örneği, her ay milyonlarca kullanıcıya hizmet veren ve terabaytlarca veri taşıyan yüksek ölçekli bir uygulamanın bileşenlerini temsil eder. Bu kullanım düzeyi, birden çok bölgede dağıtılan ve Azure Traffic Manager tarafından yönlendirilen yüksek performanslı, yalıtılmış katmanlı web uygulamaları gerektirir. Tahmin, Traffic Manager'ı ve ek Application Gateway ile Sanal Ağ örneklerini içerir. Eklenen iş yükünü desteklemek için SQL Veritabanı'nın kapasitesi artar.
Belirli bir kullanım örneğinizin fiyatlandırmasını görmek için uygun değişkenleri beklenen trafiğinizle eşleşecek şekilde değiştirin.
Performans Verimliliği
Performans Verimliliği, iş yükünüzün kullanıcı taleplerini verimli bir şekilde karşılayacak şekilde ölçeklendirebilmesini ifade eder. Daha fazla bilgi için bkz . Performans Verimliliği için tasarım gözden geçirme denetim listesi.
App Service Ortamlarında ölçeklendirmenin nasıl çalıştığını anlama.
Otomatik ölçeklendirme için bulut uygulamaları en iyi yöntemleri gözden geçirin.
Bir bulut uygulaması oluştururken ölçeklenebilirlik için tipik tasarım desenlerini anlayın.
Uygun App Service web uygulaması başvuru mimarisindeki ölçeklenebilirlik konularını gözden geçirin.
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazar:
- Nicholas McCollum | Baş Müşteri Mühendisi
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- ILB App Service Ortamınızı bir Azure uygulama ağ geçidiyle tümleştirme
- App Service Ortamları ile coğrafi dağılımla ölçeklendirme