Aracılığıyla paylaş


Azure Spring Apps başvuru mimarisi

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makale şunlar için geçerlidir: ✔️ Standard ✔️ Enterprise

Bu başvuru mimarisi, Azure Spring Apps'in kullanımı için tipik bir kurumsal merkez ve uç tasarımı kullanan bir temeldir. Tasarımda Azure Spring Apps, hub'da barındırılan paylaşılan hizmetlere bağımlı olan tek bir uçta dağıtılır. Mimari, Microsoft Azure Well-Architected Framework'te kümelere ulaşmak için bileşenlerle oluşturulur.

Azure Spring Apps'in iki farklı türü vardır: Standart plan ve Kurumsal plan.

Azure Spring Apps Standart planı Spring Cloud Config Server, Spring Cloud Service Registry ve kpack derleme hizmetinden oluşur.

Azure Spring Apps Enterprise planı VMware Tanzu Derleme Hizmeti™, VMware Tanzu® için Uygulama Yapılandırma Hizmeti, VMware Tanzu®® Hizmet Kayıt Defteri, VMware Tanzu için Spring Cloud Gateway ve VMware Tanzu®® için API portalından oluşur.

Bu mimarinin uygulanması için GitHub'da Azure Spring Apps Başvuru Mimarisi'ne bakın.

Bu mimari için dağıtım seçenekleri Azure Resource Manager (ARM), Terraform, Azure CLI ve Bicep'tir. Bu depodaki yapıtlar, ortamınız için özelleştirebileceğiniz bir temel sağlar. Azure Güvenlik Duvarı veya Application Gateway gibi kaynakları farklı kaynak grupları veya abonelikler halinde gruplandırabilirsiniz. Bu gruplandırma, BT altyapısı, güvenlik, iş uygulaması ekipleri vb. gibi farklı işlevleri ayrı tutmaya yardımcı olur.

Adres alanını planlama

Azure Spring Apps için iki ayrılmış alt ağ gerekir:

  • Hizmet çalışma zamanı
  • Spring Boot uygulamaları

Bu alt ağların her biri ayrılmış bir Azure Spring Apps kümesi gerektirir. Birden çok küme aynı alt ağları paylaşamaz. Her alt ağın en küçük boyutu /28'dir. Azure Spring Apps'in destekleyebilecek uygulama örneği sayısı, alt ağın boyutuna göre değişir. Ayrıntılı sanal ağ gereksinimlerini, Azure Spring Apps'i sanal ağda dağıtma'nın Sanal ağ gereksinimleri bölümünde bulabilirsiniz.

Uyarı

Seçili alt ağ boyutu mevcut sanal ağ adres alanıyla örtüşemez ve eşlenmiş veya şirket içi alt ağ adres aralıklarıyla çakışmamalıdır.

Uygulama alanları

Bu mimarinin tipik kullanımları şunlardır:

  • Özel uygulamalar: Hibrit bulut ortamlarında dağıtılan iç uygulamalar
  • Genel uygulamalar: Dışarıdan bakan uygulamalar

Bu kullanım örnekleri, güvenlik ve ağ trafiği kuralları dışında benzerdir. Bu mimari, her birinin nüanslarını destekleyecek şekilde tasarlanmıştır.

Özel uygulamalar

Aşağıdaki listede özel uygulamalar için altyapı gereksinimleri açıklanmaktadır. Bu gereksinimler yüksek düzeyde düzenlenmiş ortamlarda tipiktir.

  • Alt ağda yalnızca bir Azure Spring Apps örneği olmalıdır.
  • En az bir Güvenlik Karşılaştırmasına bağlılık uygulanmalıdır.
  • Uygulama ana bilgisayarı Etki Alanı Adı Hizmeti (DNS) kayıtları Azure Özel DNS'de depolanmalıdır.
  • Azure hizmet bağımlılıkları Hizmet Uç Noktaları veya Özel Bağlantı aracılığıyla iletişim kurmalıdır.
  • Bekleyen veriler şifrelenmelidir.
  • Aktarımdaki veriler şifrelenmelidir.
  • DevOps dağıtım işlem hatları kullanılabilir (örneğin, Azure DevOps) ve Azure Spring Apps'e ağ bağlantısı gerektirir.
  • Çıkış trafiği merkezi bir Ağ Sanal Gereci (NVA) (örneğin, Azure Güvenlik Duvarı) üzerinden hareket etmelidir.
  • Bir depodan yapılandırma özelliklerini yüklemek için Azure Spring Apps Yapılandırma Sunucusu kullanılıyorsa, depo özel olmalıdır.
  • Microsoft'un Sıfır Güven güvenlik yaklaşımı gizli dizilerin, sertifikaların ve kimlik bilgilerinin güvenli bir kasada depolanmasını gerektirir. Önerilen hizmet Azure Key Vault.
  • Şirket içi ve Buluttaki konakların ad çözümlemesi çift yönlü olmalıdır.
  • Kontrol düzlemi trafiği dışında genel İnternet'e doğrudan çıkış yoktur.
  • Azure Spring Apps dağıtımı tarafından yönetilen Kaynak Grupları değiştirilmemelidir.
  • Azure Spring Apps dağıtımı tarafından yönetilen alt ağlar değiştirilmemelidir.

Aşağıdaki listede tasarımı oluşturan bileşenler gösterilmektedir:

  • Şirket içi ağı
    • Etki Alanı Adı Hizmeti (DNS)
    • Ağ geçidi
  • Hub aboneliği
    • Application Gateway Alt Ağı
    • Azure Güvenlik Duvarı Alt Ağı
    • Paylaşılan Hizmetler Alt Ağı
  • Bağlı abonelik
    • Azure Bastion Alt Ağı
    • Sanal Ağ Eş

Aşağıdaki listede bu başvuru mimarisindeki Azure hizmetleri açıklanmaktadır:

  • Azure Key Vault: Microsoft kimlik hizmetleri ve işlem kaynaklarıyla sıkı tümleştirmeye sahip donanım destekli kimlik bilgileri yönetim hizmeti.

  • Azure İzleyici: Hem Azure'da hem de şirket içinde dağıtan uygulamalar için tamamen kapsayan bir izleme hizmetleri paketidir.

  • Azure Pipelines: Güncelleştirilmiş Spring Boot uygulamalarını Azure Spring Apps'e otomatik olarak dağıtabilen tam özellikli bir Sürekli Tümleştirme / Sürekli Geliştirme (CI/CD) hizmeti.

  • Bulut için Microsoft Defender: şirket içi, birden çok bulut ve Azure genelindeki iş yükleri için birleşik bir güvenlik yönetimi ve tehdit koruma sistemi.

  • Azure Spring Apps: Java tabanlı Spring Boot uygulamaları ve için özel olarak tasarlanmış ve iyileştirilmiş yönetilen bir hizmet. NET tabanlı Steeltoe uygulamaları.

Aşağıdaki diyagramlar, yukarıdaki gereksinimleri karşılayan iyi tasarlanmış bir merkez-uç tasarımını temsil eder:

Genel uygulamalar

Aşağıdaki listede genel uygulamalar için altyapı gereksinimleri açıklanmaktadır. Bu gereksinimler yüksek düzeyde düzenlenmiş ortamlarda tipiktir.

  • Alt ağda yalnızca bir Azure Spring Apps örneği olmalıdır.
  • En az bir Güvenlik Karşılaştırmasına bağlılık uygulanmalıdır.
  • Uygulama ana bilgisayarı Etki Alanı Adı Hizmeti (DNS) kayıtları Azure Özel DNS'de depolanmalıdır.
  • Azure DDoS Koruması etkinleştirilmelidir.
  • Azure hizmet bağımlılıkları Hizmet Uç Noktaları veya Özel Bağlantı aracılığıyla iletişim kurmalıdır.
  • Bekleyen veriler şifrelenmelidir.
  • Aktarımdaki veriler şifrelenmelidir.
  • DevOps dağıtım işlem hatları kullanılabilir (örneğin, Azure DevOps) ve Azure Spring Apps'e ağ bağlantısı gerektirir.
  • Çıkış trafiği merkezi bir Ağ Sanal Gereci (NVA) (örneğin, Azure Güvenlik Duvarı) üzerinden hareket etmelidir.
  • Giriş trafiği en az Application Gateway veya Azure Front Door tarafından yönetilmelidir.
  • İnternet yönlendirilebilir adresleri Azure Genel DNS'de depolanmalıdır.
  • Microsoft'un Sıfır Güven güvenlik yaklaşımı gizli dizilerin, sertifikaların ve kimlik bilgilerinin güvenli bir kasada depolanmasını gerektirir. Önerilen hizmet Azure Key Vault.
  • Şirket içi ve Buluttaki konakların ad çözümlemesi çift yönlü olmalıdır.
  • Kontrol düzlemi trafiği dışında genel İnternet'e doğrudan çıkış yoktur.
  • Azure Spring Apps dağıtımı tarafından yönetilen Kaynak Grupları değiştirilmemelidir.
  • Azure Spring Apps dağıtımı tarafından yönetilen alt ağlar değiştirilmemelidir.

Aşağıdaki listede tasarımı oluşturan bileşenler gösterilmektedir:

  • Şirket içi ağı
    • Etki Alanı Adı Hizmeti (DNS)
    • Ağ geçidi
  • Hub aboneliği
    • Application Gateway Alt Ağı
    • Azure Güvenlik Duvarı Alt Ağı
    • Paylaşılan Hizmetler Alt Ağı
  • Bağlı abonelik
    • Azure Bastion Alt Ağı
    • Sanal Ağ Eş

Aşağıdaki listede bu başvuru mimarisindeki Azure hizmetleri açıklanmaktadır:

  • Azure Uygulaması Güvenlik Duvarı: Uygulamaların yaygın açıklardan ve güvenlik açıklarından merkezi olarak korunmasını sağlayan bir Azure Application Gateway özelliğidir.

  • Azure Application Gateway: Katman 7'de çalışan Aktarım Katmanı Güvenliği (TLS) yük boşaltması ile uygulama trafiğinden sorumlu bir yük dengeleyici.

  • Azure Key Vault: Microsoft kimlik hizmetleri ve işlem kaynaklarıyla sıkı tümleştirmeye sahip donanım destekli kimlik bilgileri yönetim hizmeti.

  • Azure İzleyici: Hem Azure'da hem de şirket içinde dağıtan uygulamalar için tamamen kapsayan bir izleme hizmetleri paketidir.

  • Azure Pipelines: Güncelleştirilmiş Spring Boot uygulamalarını Azure Spring Apps'e otomatik olarak dağıtabilen tam özellikli bir Sürekli Tümleştirme / Sürekli Geliştirme (CI/CD) hizmeti.

  • Bulut için Microsoft Defender: şirket içi, birden çok bulut ve Azure genelindeki iş yükleri için birleşik bir güvenlik yönetimi ve tehdit koruma sistemi.

  • Azure Spring Apps: Java tabanlı Spring Boot uygulamaları ve için özel olarak tasarlanmış ve iyileştirilmiş yönetilen bir hizmet. NET tabanlı Steeltoe uygulamaları.

Aşağıdaki diyagramlar, yukarıdaki gereksinimleri karşılayan iyi tasarlanmış bir merkez-uç tasarımını temsil eder. Yalnızca merkez-sanal ağ İnternet ile iletişim kurar:

Azure Spring Apps şirket içi bağlantısı

Azure Spring Apps'teki uygulamalar çeşitli Azure, şirket içi ve dış kaynaklarla iletişim kurabilir. Merkez-uç tasarımını kullanarak, uygulamalar Express Route veya Siteden Siteye Sanal Özel Ağ (VPN) kullanarak trafiği harici olarak veya şirket içi ağa yönlendirebilir.

Azure Well-Architected Framework ile ilgili dikkat edilmesi gerekenler

Azure Well-Architected Framework, güçlü bir altyapı temeli oluşturma konusunda izleyebileceğiniz bir dizi yol gösteren ilkedir. Çerçeve şu kategorileri içerir: maliyet iyileştirmesi, operasyonel mükemmellik, performans verimliliği, güvenilirlik ve güvenlik.

Maliyet iyileştirmesi

Dağıtılmış sistem tasarımının doğası gereği altyapının yayılması bir gerçektir. Bu gerçeklik beklenmeyen ve kontrol edilemeyen maliyetlerle sonuçlanabilir. Azure Spring Apps, talebi karşılamak ve maliyeti iyileştirmek için ölçeklendirilen bileşenler kullanılarak oluşturulur. Bu mimarinin temelini Azure Kubernetes Service (AKS) oluşturur. Hizmet, kubernetes yönetiminin karmaşıklığını ve işletimsel yükünü azaltmak için tasarlanmıştır ve bu da kümenin işletim maliyetindeki verimlilikleri içerir.

Azure Spring Apps'in tek bir örneğine farklı uygulamalar ve uygulama türleri dağıtabilirsiniz. Hizmet, kullanımı ve maliyet verimliliğini artırabilecek ölçümler veya zamanlamalar tarafından tetiklenen uygulamaların otomatik ölçeklendirmesini destekler.

Operasyonel maliyeti düşürmek için Application Insights ve Azure İzleyici'yi de kullanabilirsiniz. Kapsamlı günlük çözümü tarafından sağlanan görünürlük sayesinde sistemin bileşenlerini gerçek zamanlı olarak ölçeklendirmek için otomasyon uygulayabilirsiniz. Ayrıca, sistemin genel maliyetini ve performansını geliştirmek için giderebileceğiniz uygulama kodundaki verimsizlikleri ortaya çıkarmak için günlük verilerini analiz edebilirsiniz.

Operasyonel Mükemmellik

Azure Spring Apps, operasyonel mükemmellik özelliğinin birden çok yönünü ele alır. Aşağıdaki listede açıklandığı gibi, hizmetin üretim ortamlarında verimli bir şekilde çalıştığından emin olmak için bu özellikleri birleştirebilirsiniz:

  • Azure Pipelines'ı kullanarak dağıtımların güvenilir ve tutarlı olduğundan emin olurken insan hatalarından kaçınmanıza da yardımcı olabilirsiniz.
  • Günlük ve telemetri verilerini depolamak için Azure İzleyici ve Application Insights'ı kullanabilirsiniz. Uygulamalarınızın sistem durumunu ve performansını sağlamak için toplanan günlük ve ölçüm verilerini değerlendirebilirsiniz. Uygulama Performansı İzleme (APM) bir Java aracısı aracılığıyla hizmete tamamen tümleştirilmiştir. Bu aracı, ek kod gerektirmeden tüm dağıtılan uygulamalar ve bağımlılıklar için görünürlük sağlar. Daha fazla bilgi için Azure Spring Apps'te uygulamaları ve bağımlılıkları zahmetsizce izleme blog gönderisine bakın.
  • Sağlanan verileri analiz etmek ve değerlendirmek için bir platform sağlayarak uygulamaların güvenliği koruması için Bulut için Microsoft Defender kullanabilirsiniz.
  • Hizmet, çeşitli dağıtım düzenlerini destekler. Daha fazla bilgi için bkz. Azure Spring Apps'te hazırlama ortamı ayarlama.

Güvenilirlik

Azure Spring Apps AKS üzerinde derlenir. AKS kümeleme aracılığıyla bir dayanıklılık düzeyi sağlasa da, bileşen hatası olduğunda uygulamanın kullanılabilirliğini artırmak için hizmetleri ve mimari konuları ekleyerek bu başvuru mimarisi daha da ileri gider.

Bu mimarinin temeli, iyi tanımlanmış bir merkez-uç tasarımını temel alarak birden çok bölgeye dağıtabilmenizi sağlar. Özel uygulama kullanım örneği için mimari, coğrafi hata sırasında sürekli kullanılabilirlik sağlamak için Azure Özel DNS kullanır. Genel uygulama kullanım örneği için Azure Front Door ve Azure Application Gateway kullanılabilirliği güvence altına alın.

Güvenlik

Bu mimarinin güvenliği, endüstri tarafından tanımlanan denetimlere ve karşılaştırmalara bağlılığıyla ele alınmıştır. Bu bağlamda "denetim", "Bilgi sistemi erişimini uygularken en az ayrıcalık ilkesini kullanma" gibi kısa ve iyi tanımlanmış bir en iyi uygulama anlamına gelir. IAM-05" Bu mimarideki denetimler Cloud Security Alliance (CSA) tarafından bulut denetim matrisinden (CCM) ve İnternet Güvenliği Merkezi (CIS) tarafından microsoft azure foundations benchmark 'dan (MAFB) alınmaktadır. Uygulanan denetimlerde odak, idare, ağ ve uygulama güvenliğinin birincil güvenlik tasarımı ilkelerine odaklanır. Kimlik, Erişim Yönetimi ve Depolama'nın tasarım ilkelerini hedef altyapınızla ilgili olarak işlemek sizin sorumluluğunuzdadır.

İdare

Bu mimarinin ele alan idarenin birincil yönü, ağ kaynaklarının yalıtımı yoluyla ayrımdır. CCM'de DCS-08, veri merkezi için giriş ve çıkış denetimi önerir. Denetimi karşılamak için mimari, kaynaklar arasındaki doğu-batı trafiğini filtrelemek için Ağ Güvenlik Gruplarını (NSG) kullanan bir merkez-uç tasarımı kullanır. Mimari ayrıca merkezdeki merkezi hizmetler ile uçtaki kaynaklar arasındaki trafiği filtreler. Mimari, İnternet ile mimari içindeki kaynaklar arasındaki trafiği yönetmek için bir Azure Güvenlik Duvarı örneği kullanır.

Aşağıdaki listede, bu başvuruda veri merkezi güvenliğini ele alan denetim gösterilmektedir:

CSA CCM Denetim Kimliği CSA CCM Denetim Etki Alanı
DCS-08 Veri Merkezi Güvenliği Yetkisiz Kişiler Girişi

Bu mimariyi destekleyen ağ tasarımı geleneksel merkez-uç modelinden türetilir. Bu karar, ağ yalıtımının temel bir yapı olmasını sağlar. CCM denetimi IVS-06, ağlar ve sanal makineler arasındaki trafiğin kısıtlanıp güvenilen ve güvenilmeyen ortamlar arasında izlenmesini önerir. Bu mimari, doğu-batı trafiği için NSG'lerin ("veri merkezi" içinde) ve kuzey-güney trafiği için Azure Güvenlik Duvarı ("veri merkezinin dışında") uygulanmasıyla denetimi benimser. CCM denetimi IPY-04, altyapının hizmetler arasında veri alışverişi için güvenli ağ protokolleri kullanmasını önerir. Bu mimariyi destekleyen Azure hizmetlerinin tümü HTTP ve SQL için TLS gibi standart güvenli protokolleri kullanır.

Aşağıdaki liste, bu başvuruda ağ güvenliğini ele alan CCM denetimlerini gösterir:

CSA CCM Denetim Kimliği CSA CCM Denetim Etki Alanı
IPY-04 Ağ Protokolleri
IVS-06 Ağ Güvenliği

Ağ uygulaması, MAFB'den denetimler tanımlanarak daha da güvenli hale getirilir. Denetimler, ortama gelen trafiğin genel İnternet'ten kısıtlanmasını sağlar.

Aşağıdaki liste, bu başvuruda ağ güvenliğini ele alan CIS denetimlerini gösterir:

CIS Denetim Kimliği CIS Denetim Açıklaması
6.2 SSH erişiminin İnternet'ten kısıtlandığından emin olun.
6.3 SQL Veritabanlarının 0.0.0.0/0 (ANY IP) girişlerine izin vermediğinden emin olun.
6.5 Ağ İzleyicisi 'Etkin' olduğundan emin olun.
6.6 UDP kullanarak girişin İnternet'ten kısıtlandığından emin olun.

Azure Spring Apps, güvenli bir ortamda dağıtıldığında Azure'dan çıkışa yönelik yönetim trafiği gerektirir. Azure Spring Apps'i bir sanal ağda çalıştırmak için Müşteri sorumlulukları bölümünde listelenen ağ ve uygulama kurallarına izin vermelisiniz.

Uygulama güvenliği

Bu tasarım ilkesi kimlik, veri koruma, anahtar yönetimi ve uygulama yapılandırmasının temel bileşenlerini kapsar. Tasarım gereği, Azure Spring Apps'te dağıtılan bir uygulama, çalışması için gereken en az ayrıcalıkla çalışır. Yetkilendirme denetimleri kümesi, hizmeti kullanırken veri korumasıyla doğrudan ilgilidir. Anahtar yönetimi bu katmanlı uygulama güvenliği yaklaşımını güçlendirir.

Aşağıdaki listede, bu başvuruda anahtar yönetimini ele alan CCM denetimleri gösterilmektedir:

CSA CCM Denetim Kimliği CSA CCM Denetim Etki Alanı
EKM-01 Şifreleme ve Anahtar Yönetimi Yetkilendirmesi
EKM-02 Şifreleme ve Anahtar Yönetimi Anahtar Oluşturma
EKM-03 Şifreleme ve Anahtar Yönetimi Hassas Veri Koruması
EKM-04 Şifreleme ve Anahtar Yönetimi Depolama ve Erişim

CCM, EKM-02 ve EKM-03'ten anahtarları yönetmek ve hassas verileri korumak için şifreleme protokollerini kullanmak için ilkeler ve yordamlar önerilir. EKM-01, tüm şifreleme anahtarlarının yönetilebilmeleri için tanımlanabilir sahiplere sahip olmasını önerir. EKM-04, standart algoritmaların kullanılmasını önerir.

Aşağıdaki listede, bu başvuruda anahtar yönetimini ele alan CIS denetimleri gösterilmektedir:

CIS Denetim Kimliği CIS Denetim Açıklaması
8.1 Tüm anahtarlarda son kullanma tarihinin ayarlandığından emin olun.
8.2 Son kullanma tarihinin tüm gizli dizilerde ayarlandığından emin olun.
8.4 Anahtar kasasının kurtarılabilir olduğundan emin olun.

CIS 8.1 ve 8.2 denetimlerinde, döndürmenin zorunlu kılındığından emin olmak için kimlik bilgileri için son kullanma tarihlerinin ayarlanması önerilir. CIS denetimi 8.4, iş sürekliliğini korumak için anahtar kasasının içeriğinin geri yüklenebilmesini sağlar.

Uygulama güvenliğinin yönleri, Azure'da spring iş yükünü desteklemek için bu başvuru mimarisinin kullanımı için bir temel oluşturur.

Sonraki adımlar

Azure Spring Apps Başvuru Mimarisi deposunda bulunan ARM, Terraform ve Azure CLI dağıtımları aracılığıyla bu başvuru mimarisini keşfedin.