Windows azure'da SQL Server ile N katmanlı uygulamaWindows N-tier application on Azure with SQL Server

Bu başvuru mimarisi, VM'ler ve yapılandırılmış bir sanal ağ dağıtma işlemi gösterilmektedir bir N katmanlı uygulaması, SQL Server veri katmanı üzerinde Windows kullanma.This reference architecture shows how to deploy VMs and a virtual network configured for an N-tier application, using SQL Server on Windows for the data tier. Bu çözümü dağıtın.Deploy this solution.

Microsoft Azure kullanan N katmanlı mimari

Bu mimarinin bir Visio dosyasını indirin.Download a Visio file of this architecture.

MimariArchitecture

Mimari aşağıdaki bileşenlere sahiptir:The architecture has the following components:

  • Kaynak grubu.Resource group. Kaynak grupları, kaynakların ömür, sahip ve diğer ölçütlere göre yönetilebilecek şekilde gruplandırılması için kullanılır.Resource groups are used to group resources so they can be managed by lifetime, owner, or other criteria.

  • Sanal ağ (VNet) ve alt ağları.Virtual network (VNet) and subnets. Her Azure VM, alt ağa bölümlenebilecek bir VNet içinde dağıtılır.Every Azure VM is deployed into a VNet that can be segmented into subnets. Her katman için ayrı bir alt ağ oluşturun.Create a separate subnet for each tier.

  • Uygulama ağ geçidi.Application gateway. Azure Application Gateway bir katman 7 yük dengeleyicidir.Azure Application Gateway is a layer 7 load balancer. Bu mimaride, HTTP istekleri web ön ucu yönlendirir.In this architecture, it routes HTTP requests to the web front end. Application Gateway ayrıca sağlar bir web uygulaması güvenlik duvarı (WAF), uygulamayı açıklardan yararlanmaya ve güvenlik açıkları korur.Application Gateway also provides a web application firewall (WAF) that protects the application from common exploits and vulnerabilities.

  • NSG'ler.NSGs. Sanal ağ üzerindeki ağ trafiğini kısıtlamak için ağ güvenlik gruplarını (NSG’ler) kullanın.Use network security groups (NSGs) to restrict network traffic within the VNet. Örneğin, burada gösterilen üç katmanlı mimaride veritabanı katmanı yalnızca iş katmanından ve yönetim alt ağından gelen web ön ucundan gelen trafiği kabul etmiyor.For example, in the three-tier architecture shown here, the database tier does not accept traffic from the web front end, only from the business tier and the management subnet.

  • DDoS koruması.DDoS Protection. Azure platformu, dağıtılmış hizmet reddi (DDoS) saldırılarına karşı temel koruma sağlasa da kullanmanızı öneririz DDoS koruması standart, DDoS saldırılarının Gelişmiş Özellikler.Although the Azure platform provides basic protection against distributed denial of service (DDoS) attacks, we recommend using DDoS Protection Standard, which has enhanced DDoS mitigation features. Bkz: güvenlik konuları.See Security considerations.

  • Sanal makineler.Virtual machines. Vm'leri yapılandırma ile ilgili öneriler için bkz. Azure'da Windows VM çalıştırma ve Azure'da bir Linux VM çalıştırma.For recommendations on configuring VMs, see Run a Windows VM on Azure and Run a Linux VM on Azure.

  • Kullanılabilirlik kümeleri.Availability sets. Oluşturma bir [kullanılabilirlik kümesi] azure-availability-sets her bir katman için ve VM'ler için daha yüksek bir uygun hale gelir her katmanda en az iki VM sağlama [hizmet düzeyi sözleşmesi (SLA)] vm-sla.Create an availability set for each tier, and provision at least two VMs in each tier, which makes the VMs eligible for a higher service level agreement (SLA).

  • Yük dengeleyiciler.Load balancers. Kullanım [Azure Load Balancer] load-balancer ağ trafiğini web katmanından iş katmanına ve SQL Server iş katmanına dağıtmak için.Use Azure Load Balancer to distribute network traffic from the web tier to the business tier, and from the business tier to SQL Server.

  • Genel IP adresi.Public IP address. Genel bir IP adresi, uygulamayı Internet trafiğini alması için gereklidir.A public IP address is needed for the application to receive Internet traffic.

  • Sıçrama kutusu.Jumpbox. Kale ana bilgisayarı olarak da bilinir.Also called a bastion host. Ağ üzerinde yer alan ve yöneticilerin diğer VM’lere bağlanmak için kullandıkları güvenli bir VM’dir.A secure VM on the network that administrators use to connect to the other VMs. Sıçrama kutusunun sadece güvenli bir listede yer alan genel IP adreslerinden gelen uzak trafiğe izin veren bir NSG’si vardır.The jumpbox has an NSG that allows remote traffic only from public IP addresses on a safe list. NSG, uzak masaüstü (RDP) trafiğine izin vermelidir.The NSG should permit remote desktop (RDP) traffic.

  • SQL Server Always On Kullanılabilirlik Grubu.SQL Server Always On Availability Group. Veri katmanında yüksek kullanılabilirlik sağlayarak çoğaltmaya ve yük devretmeye olanak tanır.Provides high availability at the data tier, by enabling replication and failover. Yük devretme için Windows Server Yük devretme kümesi (WSFC) teknolojisini kullanır.It uses Windows Server Failover Cluster (WSFC) technology for failover.

  • Active Directory Domain Services (AD DS) Sunucuları.Active Directory Domain Services (AD DS) Servers. Yük devretme kümesi ve ilişkili kümelenmiş rolleri için bilgisayar nesnelerinin Active Directory Etki Alanı Hizmetleri'nde (AD DS) oluşturulur.The computer objects for the failover cluster and its associated clustered roles are created in Active Directory Domain Services (AD DS).

  • Bulut tanığı.Cloud Witness. Bir yük devretme kümesi çekirdek sahip olarak da bilinen çalıştırılması için düğümlerinin yarısı gerektirir.A failover cluster requires more than half of its nodes to be running, which is known as having quorum. Küme yalnızca iki düğüm varsa, ağ bölümü ana düğüm olduğunu düşündüğünüz her bir düğümde neden olabilir.If the cluster has just two nodes, a network partition could cause each node to think it's the master node. Bu durumda, gereksinim duyduğunuz bir Tanık TIES kurtulmayı ve yeterli Çoğunluk kurmasına.In that case, you need a witness to break ties and establish quorum. Bir Tanık yeterli Çoğunluk kurmasına olanak bağlantı kesici görev yapabilir, paylaşılan bir disk gibi bir kaynaktır.A witness is a resource such as a shared disk that can act as a tie breaker to establish quorum. Bulut tanığı, Azure Blob Depolama kullanan tanığı türüdür.Cloud Witness is a type of witness that uses Azure Blob Storage. Çekirdek kavramı hakkında daha fazla bilgi için bkz. anlama kümesini ve havuz çekirdek.To learn more about the concept of quorum, see Understanding cluster and pool quorum. Bulut tanığı hakkında daha fazla bilgi için bkz: yük devretme kümesi için bulut tanığı dağıtma.For more information about Cloud Witness, see Deploy a Cloud Witness for a Failover Cluster.

  • Azure DNS.Azure DNS. [Azure DNS] azure-dns DNS etki alanları için bir barındırma hizmetidir.Azure DNS is a hosting service for DNS domains. Bu, Microsoft Azure altyapısı kullanılarak ad çözümlemesi sağlar.It provides name resolution using Microsoft Azure infrastructure. Etki alanlarınızı Azure'da barındırarak DNS kayıtlarınızı diğer Azure hizmetlerinde kullandığınız kimlik bilgileri, API’ler, araçlar ve faturalarla yönetebilirsiniz.By hosting your domains in Azure, you can manage your DNS records using the same credentials, APIs, tools, and billing as your other Azure services.

ÖnerilerRecommendations

Gereksinimleriniz, burada açıklanan mimariden farklı olabilir.Your requirements might differ from the architecture described here. Bu önerileri bir başlangıç noktası olarak kullanın.Use these recommendations as a starting point.

Sanal Ağ/Alt AğlarVNet / Subnets

Sanal ağ oluşturduğunuzda, her bir alt ağ üzerindeki kaynaklarınız için kaç IP adresi gerektiğini belirleyin.When you create the VNet, determine how many IP addresses your resources in each subnet require. CIDR gösterimini kullanarak gerekli IP adresleri için bir alt ağ maskesi ve yeterli genişlikte aralığa sahip bir sanal ağ adresi belirtin.Specify a subnet mask and a VNet address range large enough for the required IP addresses, using CIDR notation. Standart özel IP adresi blokları (10.0.0.0/8, 172.16.0.0/12 ve 192.168.0.0/16) dahilinde bir adres alanını kullanın.Use an address space that falls within the standard private IP address blocks, which are 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16.

İleride sanal ağ ile şirket içi ağınız arasında ağ geçidi ayarlamanız gerekirse şirket içi ağınızla çakışmayacak bir adres aralığı seçin.Choose an address range that does not overlap with your on-premises network, in case you need to set up a gateway between the VNet and your on-premise network later. Sanal ağı oluşturduktan sonra adres aralığını değiştiremezsiniz.Once you create the VNet, you can't change the address range.

Alt ağları tasarlarken işlev ve güvenlik gereksinimlerini göz önünde bulundurun.Design subnets with functionality and security requirements in mind. Aynı katmandaki veya roldeki tüm VM’ler, güvenlik sınırı olabilecek aynı alt ağa eklenmelidir.All VMs within the same tier or role should go into the same subnet, which can be a security boundary. Sanal ağları ve alt ağları tasarlama hakkında daha fazla bilgi için bkz. Azure Sanal Ağları planlama ve tasarlama.For more information about designing VNets and subnets, see Plan and design Azure Virtual Networks.

Yük dengeleyicilerLoad balancers

Sanal makineleri doğrudan İnternet'e sunmayın, ancak bunun yerine her VM'nin özel IP adresi verin.Don't expose the VMs directly to the Internet, but instead give each VM a private IP address. İstemciler, uygulama ağ geçidiyle ilişkili genel IP adresini kullanarak bağlanır.Clients connect using the public IP address associated with the Application Gateway.

Ağ trafiğini sanal makinelere yönlendirmek için yük dengeleyici kuralları tanımlayın.Define load balancer rules to direct network traffic to the VMs. Örneğin, HTTP trafiğini etkinleştirmek için bağlantı noktası 80 ön uç yapılandırmasından arka uç adres havuzundaki 80 numaralı bağlantı noktasına eşleme.For example, to enable HTTP traffic, map port 80 from the front-end configuration to port 80 on the back-end address pool. Bir istemci 80 numaralı bağlantı noktasına bir HTTP isteği gönderdiğinde, yük dengeleyici kaynak IP adresini içeren bir karma algoritması kullanarak arka uç IP adresi seçer.When a client sends an HTTP request to port 80, the load balancer selects a back-end IP address by using a hashing algorithm that includes the source IP address. İstemci istekleri arka uç adres havuzundaki tüm vm'lere dağıtılır.Client requests are distributed across all the VMs in the back-end address pool.

Ağ güvenlik gruplarıNetwork security groups

Katmanlar arasında trafiği kısıtlamak için NSG kurallarını kullanın.Use NSG rules to restrict traffic between tiers. Yukarıda gösterilen üç katmanlı mimaride web katmanı ve veritabanı katmanı ile doğrudan iletişim kurmaz.In the three-tier architecture shown above, the web tier does not communicate directly with the database tier. Bunu zorunlu kılmak için veritabanı katmanı, web katmanı alt ağından gelen trafiği engellemelidir.To enforce this, the database tier should block incoming traffic from the web tier subnet.

  1. Sanal ağdan gelen tüm trafiği engelle.Deny all inbound traffic from the VNet. (Kuralda VIRTUAL_NETWORK etiketini kullanın.)(Use the VIRTUAL_NETWORK tag in the rule.)
  2. İş katmanı alt ağından gelen trafiğe izin verin.Allow inbound traffic from the business tier subnet.
  3. Veritabanı katmanı alt ağının kendisinden gelen trafiğe izin verin.Allow inbound traffic from the database tier subnet itself. Bu kural veritabanı çoğaltma ve yük devretme için gerekli olan veritabanı, VM'ler arasında iletişime olanak sağlar.This rule allows communication between the database VMs, which is needed for database replication and failover.
  4. Sıçrama kutusu alt ağından gelen RDP trafiğine (bağlantı noktası 3389) sağlar.Allow RDP traffic (port 3389) from the jumpbox subnet. Bu kural; yöneticilerin, sıçrama kutusundan veritabanı katmanına bağlanmasını sağlar.This rule lets administrators connect to the database tier from the jumpbox.

2 kuralları oluşturma – 4 ilk kural bunu geçersiz kılmak için daha yüksek önceliğe sahip.Create rules 2 – 4 with higher priority than the first rule, so they override it.

SQL Server Always On Kullanılabilirlik GruplarıSQL Server Always On Availability Groups

SQL Server yüksek kullanılabilirliği için Always On Kullanılabilirlik Grupları önerilir.We recommend Always On Availability Groups for SQL Server high availability. Windows Server 2016’dan önceki sürümlerde, Always On Kullanılabilirlik Grupları bir etki alanı denetleyicisi gerektirir ve kullanılabilirlik grubundaki tüm düğümler aynı AD etki alanında olmalıdır.Prior to Windows Server 2016, Always On Availability Groups require a domain controller, and all nodes in the availability group must be in the same AD domain.

Diğer katmanlar, veritabanına bir kullanılabilirlik grubu dinleyicisi üzerinden bağlanır.Other tiers connect to the database through an availability group listener. Dinleyici; SQL istemcisinin, SQL Server fiziksel örneğinin adını bilmeden bağlantı kurmasına olanak sağlar.The listener enables a SQL client to connect without knowing the name of the physical instance of SQL Server. Veritabanına erişen VM’lerin etki alanına dahil edilmesi gerekir.VMs that access the database must be joined to the domain. Dinleyicinin sanal ağ adını IP adreslerine çözümlemek için istemci (bu durumda diğer bir katman), DNS kullanır.The client (in this case, another tier) uses DNS to resolve the listener's virtual network name into IP addresses.

SQL Server Always On Kullanılabilirlik Grubunu aşağıdaki şekilde yapılandırın:Configure the SQL Server Always On Availability Group as follows:

  1. Bir Windows Server Yük Devretme Kümelemesi (WSFC) kümesi, bir SQL Server Always On Kullanılabilirlik Grubu ve birincil kopya oluşturun.Create a Windows Server Failover Clustering (WSFC) cluster, a SQL Server Always On Availability Group, and a primary replica. Daha fazla bilgi için bkz. Always On Kullanılabilirlik Grupları ile Çalışmaya Başlama.For more information, see Getting Started with Always On Availability Groups.

  2. Statik özel IP adresli bir iç yük dengeleyici oluşturun.Create an internal load balancer with a static private IP address.

  3. Bir kullanılabilirlik grubu dinleyicisi oluşturun ve dinleyicinin DNS adını bir iç yük dengeleyicinin IP adresiyle eşleyin.Create an availability group listener, and map the listener's DNS name to the IP address of an internal load balancer.

  4. SQL Server dinleme bağlantı noktası (varsayılan olarak 1433 numaralı TCP bağlantı noktası) için bir yük dengeleyici kuralı oluşturun.Create a load balancer rule for the SQL Server listening port (TCP port 1433 by default). Yük dengeleyici kuralı, Doğrudan Sunucu Dönüşü olarak da adlandırılan kayan IP’yi etkinleştirmelidir.The load balancer rule must enable floating IP, also called Direct Server Return. Böylece VM doğrudan istemciye yanıt verebilir, bu da birincil çoğaltma ile doğrudan bağlantı kurulabilmesini sağlar.This causes the VM to reply directly to the client, which enables a direct connection to the primary replica.

    Not

    Kayan IP etkin olduğunda ön uç bağlantı noktası, yük dengeleyici kuralındaki arka uç bağlantı noktası numarasıyla aynı olmalıdır.When floating IP is enabled, the front-end port number must be the same as the back-end port number in the load balancer rule.

SQL istemcisi bağlantı kurmayı denediğinde yük dengeleyici, bağlantı isteğini birincil çoğaltmaya yönlendirir.When a SQL client tries to connect, the load balancer routes the connection request to the primary replica. Başka bir çoğaltmaya yük devretme varsa, yük dengeleyici, yeni istekleri otomatik olarak yeni bir birincil çoğaltmaya yönlendirir.If there is a failover to another replica, the load balancer automatically routes new requests to a new primary replica. Daha fazla bilgi için bkz. SQL Server Always On Kullanılabilirlik Grupları için bir ILB dinleyicisi yapılandırma.For more information, see Configure an ILB listener for SQL Server Always On Availability Groups.

Yük devretme sırasında mevcut istemci bağlantıları kapatılır.During a failover, existing client connections are closed. Yük devretme işlemi tamamlandıktan sonra yeni bağlantılar yeni birincil çoğaltmaya yönlendirilir.After the failover completes, new connections will be routed to the new primary replica.

Uygulamanız yazma işleminden çok daha fazla okuma işlemi gerçekleştiriyorsa salt okunur sorguların bir kısmını ikincil bir çoğaltmaya aktarabilirsiniz.If your application makes significantly more reads than writes, you can offload some of the read-only queries to a secondary replica. Bkz. Salt Okunur bir İkincil Çoğaltmaya Bağlanmak (Salt Okunur Yönlendirme) için Dinleyici Kullanma.See Using a Listener to Connect to a Read-Only Secondary Replica (Read-Only Routing).

Kullanılabilirlik grubu için el ile yük devretme işlemini zorlayarak dağıtımınızı test edin.Test your deployment by forcing a manual failover of the availability group.

Sıçrama kutusuJumpbox

RDP erişimi, uygulama iş yükünü çalıştıran Vm'lere genel Internet'ten izin vermez.Don't allow RDP access from the public Internet to the VMs that run the application workload. Bu VM’lere yönelik tüm RDP erişimi, bunun yerine sıçrama kutusundan gelmelidir.Instead, all RDP access to these VMs must come through the jumpbox. Bir yönetici, sıçrama kutusunda oturum açar ve sonra sıçrama kutusundan diğer VM’de oturum açar.An administrator logs into the jumpbox, and then logs into the other VM from the jumpbox. Sıçrama kutusu İnternet’ten gelen RDP trafiğine izin verir ancak bu, yalnızca bilinen ve güvenli IP adresleri için geçerlidir.The jumpbox allows RDP traffic from the Internet, but only from known, safe IP addresses.

Sıçrama kutusu kadar küçük bir VM boyutu seçin, en az düzeyde performans gereksinimleri vardır.The jumpbox has minimal performance requirements, so select a small VM size. Sıçrama kutusu için bir genel IP adresi oluşturun.Create a public IP address for the jumpbox. Sıçrama kutusunu diğer VM’lerle aynı sanal ağa ancak ayrı bir yönetim alt ağına yerleştirin.Place the jumpbox in the same VNet as the other VMs, but in a separate management subnet.

Sıçrama kutusunun güvenliğini sağlamak için güvenli bir genel IP adresleri kümesini yalnızca gelen RDP bağlantılarına izin veren bir NSG kuralı ekleyin.To secure the jumpbox, add an NSG rule that allows RDP connections only from a safe set of public IP addresses. Diğer alt ağlara yönelik NSG’leri yönetim alt ağından gelen RDP trafiğine izin verecek şekilde yapılandırın.Configure the NSGs for the other subnets to allow RDP traffic from the management subnet.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenlerScalability considerations

Web ve business katmanları için kullanmayı sanal makine ölçek kümeleri, bir kullanılabilirlik ayrı VM'ler dağıtmak yerine ayarlayın.For the web and business tiers, consider using virtual machine scale sets, instead of deploying separate VMs into an availability set. Bir ölçek kümesi dağıtma ve yönetme birbirinin aynısı olan Vm'leri ve sanal makinelerin performans ölçümlerine göre otomatik ölçeklendirme kümesi daha kolay hale getirir.A scale set makes it easy to deploy and manage a set of identical VMs, and autoscale the VMs based on performance metrics. VM’lerin üzerindeki yük arttıkça yük dengeleyiciye otomatik olarak ek VM’ler eklenir.As the load on the VMs increases, additional VMs are automatically added to the load balancer. VM’lerin ölçeğini otomatik olarak genişletmeniz veya otomatik ölçeklendirme uygulamanız gerekiyorsa ölçek kümelerini göz önünde bulundurun.Consider scale sets if you need to quickly scale out VMs, or need to autoscale.

Bir ölçek kümesinde dağıtılmış VM'leri yapılandırmanın iki temel yolu vardır:There are two basic ways to configure VMs deployed in a scale set:

  • VM dağıtıldıktan sonra yapılandırmak için uzantıları kullanın.Use extensions to configure the VM after it's deployed. Bu yaklaşımda, yeni VM örneklerinin başlatılması uzantı içermeyen bir VM ile karşılaştırıldığında daha uzun sürebilir.With this approach, new VM instances may take longer to start up than a VM with no extensions.

  • Özel bir disk görüntüsü ile yönetilen disk dağıtma.Deploy a managed disk with a custom disk image. Bu seçenek daha hızlı dağıtılabilir.This option may be quicker to deploy. Ancak, görüntüyü güncel tutmanızı gerektirir.However, it requires you to keep the image up-to-date.

Daha fazla bilgi için tasarım konuları ölçek kümeleri için.For more information, see Design considerations for scale sets.

İpucu

Kullanacağınız herhangi bir otomatik ölçeklendirme çözümünü çok önceden üretim düzeyi iş yükleriyle test edin.When using any autoscale solution, test it with production-level workloads well in advance.

Her Azure aboneliğinin bölge başına en fazla VM sayısı dahil olmak üzere varsayılan limitleri vardır.Each Azure subscription has default limits in place, including a maximum number of VMs per region. Bir destek isteği göndererek limiti artırabilirsiniz.You can increase the limit by filing a support request. Daha fazla bilgi için bkz. Azure aboneliği ve hizmet sınırları, kotaları ve kısıtlamaları.For more information, see Azure subscription and service limits, quotas, and constraints.

Kullanılabilirlik konusunda dikkat edilmesi gerekenlerAvailability considerations

Sanal makine ölçek kümeleri kullanmazsanız, VM'ler, aynı katman için bir kullanılabilirlik kümesine yerleştirin.If you don't use virtual machine scale sets, put VMs for the same tier into an availability set. Azure VM’leri için kullanılabilirlik SLA’sı desteğinden yararlanmak istiyorsanız kullanılabilirlik kümesinde en az iki VM oluşturun.Create at least two VMs in the availability set to support the availability SLA for Azure VMs. Daha fazla bilgi için bkz. Sanal makinelerin kullanılabilirliğini yönetme.For more information, see Manage the availability of virtual machines. Ölçek kümeleri otomatik olarak kullan yerleştirme grubuna, örtülü bir kullanılabilirlik kümesi davranır.Scale sets automatically use placement groups, which act as an implicit availability set.

Yük dengeleyici, VM örneklerinin kullanılabilirliğini izlemek için sistem durumu araştırmaları kullanır.The load balancer uses health probes to monitor the availability of VM instances. Bir araştırma zaman aşımı süresi içinde örneği ulaşamazsa yük dengeleyici bu VM'ye trafik göndermeyi durdurur.If a probe can't reach an instance within a timeout period, the load balancer stops sending traffic to that VM. Bununla birlikte, yük dengeleyici araştırmaya devam eder ve VM yeniden kullanılabilir duruma gelirse yük dengeleyici bu VM’ye yeniden trafik göndermeye başlar.However, the load balancer will continue to probe, and if the VM becomes available again, the load balancer resumes sending traffic to that VM.

Aşağıda yük dengeleyici sistem durumu araştırmalarıyla ilgili bazı öneriler sağlanmıştır:Here are some recommendations on load balancer health probes:

  • Araştırmalar HTTP’yi veya TCP’yi test edebilir.Probes can test either HTTP or TCP. VM'leriniz HTTP sunucusu çalıştırıyorsa bir HTTP araştırması oluşturun.If your VMs run an HTTP server, create an HTTP probe. Aksi takdirde bir TCP araştırması oluşturun.Otherwise create a TCP probe.
  • HTTP araştırması oluşturmak için bir HTTP uç noktasının yolunu belirtin.For an HTTP probe, specify the path to an HTTP endpoint. Araştırma, bu yoldan bir HTTP 200 yanıtı alıp almadığını denetler.The probe checks for an HTTP 200 response from this path. Bu yol, kök yolu ("/") veya uygulama durumunu denetlemek için özel bir mantık uygulayan bir sistem durumu izleme uç noktası olabilir.This path can be the root path ("/"), or a health-monitoring endpoint that implements some custom logic to check the health of the application. Uç nokta anonim HTTP isteklerine izin vermelidir.The endpoint must allow anonymous HTTP requests.
  • Araştırma bilinen bir IP adresinden (168.63.129.16) gönderilir.The probe is sent from a known IP address, 168.63.129.16. Herhangi bir güvenlik duvarı ilkelerini veya NSG kuralları bu IP adresinden veya trafiği engelleme.Don't block traffic to or from this IP address in any firewall policies or NSG rules.
  • Sistem durumu araştırmalarının durumunu görüntülemek için sistem durumu araştırma günlükleri kullanın.Use health probe logs to view the status of the health probes. Azure portalında her yük dengeleyici için günlük kaydını etkinleştirin.Enable logging in the Azure portal for each load balancer. Günlükler Azure Blob depolamaya yazılır.Logs are written to Azure Blob storage. Kaç tane Vm'niz günlükleri göster makinenin başarısız araştırma yanıtları nedeniyle ağ trafiği almıyor olabilirler.The logs show how many VMs aren't getting network traffic because of failed probe responses.

Yüksek kullanılabilirliğe ihtiyacınız varsa [VM'ler için Azure SLA] vm-sla sağlar, çoğaltma, yük devretme için Azure Traffic Manager'ı kullanarak, iki bölgede uygulamayı düşünün.If you need higher availability than the Azure SLA for VMs provides, consider replication the application across two regions, using Azure Traffic Manager for failover. Daha fazla bilgi için yüksek kullanılabilirlik için çok bölgeli N katmanlı uygulama.For more information, see Multi-region N-tier application for high availability.

Güvenlikle ilgili dikkat edilmesi gerekenlerSecurity considerations

Azure’daki sanal ağlar birer trafik yalıtımı sınırdır.Virtual networks are a traffic isolation boundary in Azure. Bir vnet'teki VM'ler, farklı bir vnet'teki VM'ler ile doğrudan iletişim kuramaz.VMs in one VNet can't communicate directly with VMs in a different VNet. Aynı VNet’teki VM’ler, trafiği kısıtlamak için ağ güvenlik grupları (NSG) oluşturmadığınız sürece birbiriyle iletişim kurabilir.VMs within the same VNet can communicate, unless you create network security groups (NSGs) to restrict traffic. Daha fazla bilgi için bkz. Microsoft bulut hizmetleri ve ağ güvenliği.For more information, see Microsoft cloud services and network security.

DMZ.DMZ. İnternet ile Azure sanal ağı arasında bir DMZ oluşturmak için bir ağ sanal gereci (NVA) eklemeyi deneyin.Consider adding a network virtual appliance (NVA) to create a DMZ between the Internet and the Azure virtual network. NVA; güvenlik duvarı, paket inceleme, denetim ve özel yönlendirme gibi ağ ile ilgili görevleri gerçekleştirebilen bir sanal gereci tanımlamak için kullanılan genel bir terimdir.NVA is a generic term for a virtual appliance that can perform network-related tasks, such as firewall, packet inspection, auditing, and custom routing. Daha fazla bilgi için bkz. Azure ile İnternet arasında DMZ uygulama.For more information, see Implementing a DMZ between Azure and the Internet.

Şifreleme.Encryption. Bekleyen hassas verileri şifreleyin ve veritabanı şifreleme anahtarlarını yönetmek için Azure Key Vault’u kullanın.Encrypt sensitive data at rest and use Azure Key Vault to manage the database encryption keys. Key Vault, şifreleme anahtarlarını donanım güvenlik modüllerinde (HSM’ler) depolayabilir.Key Vault can store encryption keys in hardware security modules (HSMs). Daha fazla bilgi için Azure vm'lerde SQL Server için Azure anahtar kasası tümleştirmeyi yapılandırma.For more information, see Configure Azure Key Vault Integration for SQL Server on Azure VMs. Ayrıca veritabanı bağlantı dizeleri gibi uygulama gizli anahtarlarının da Key Vault'ta depolamak için önerilir.It's also recommended to store application secrets, such as database connection strings, in Key Vault.

DDoS koruması.DDoS protection. Azure platformu, varsayılan olarak temel DDoS koruması sağlar.The Azure platform provides basic DDoS protection by default. Bu temel koruma, Azure altyapısının bir bütün olarak korumaya yöneliktir.This basic protection is targeted at protecting the Azure infrastructure as a whole. DDoS koruması temel otomatik olarak etkinleştirilse de kullanmanızı öneririz DDoS koruması standart.Although basic DDoS protection is automatically enabled, we recommend using DDoS Protection Standard. Standart koruma Uyarlamalı ayarlama, uygulamanızın ağ trafik düzenlerini esas alarak tehditleri algılamak için kullanır.Standard protection uses adaptive tuning, based on your application's network traffic patterns, to detect threats. Bu altyapı genelinde DDoS ilkeleri tarafından gözden kaçan geçebilir DDoS saldırılarına karşı azaltmaları uygulanmasını sağlar.This allows it to apply mitigations against DDoS attacks that might go unnoticed by the infrastructure-wide DDoS policies. Standart koruma ayrıca uyarı, telemetri ve Azure İzleyici aracılığıyla analiz sağlar.Standard protection also provides alerting, telemetry, and analytics through Azure Monitor. Daha fazla bilgi için Azure DDoS koruması: En iyi uygulamalar ve başvuru mimarilerimize.For more information, see Azure DDoS Protection: Best practices and reference architectures.

Çözümü dağıtmaDeploy the solution

GitHub’da bu başvuru mimarisine yönelik bir dağıtıma ulaşılabilir.A deployment for this reference architecture is available on GitHub. Tüm dağıtım, AD DS, Windows Server Yük devretme kümesi ve SQL Server kullanılabilirlik grubunu yapılandırmak için komut dosyası çalıştırarak içeren iki saate kadar sürebilir.The entire deployment can take up to two hours, which includes running the scripts to configure AD DS, the Windows Server failover cluster, and the SQL Server availability group.

ÖnkoşullarPrerequisites

  1. Kopyalama, çatalı oluşturma veya zip dosyasını indirin başvuru mimarilerimize GitHub deposu.Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Yükleme Azure CLI 2.0.Install Azure CLI 2.0.

  3. Yükleme Azure yapı taşları npm paketi.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  4. Bir komut istemi'nden istemi veya PowerShell isteminde oturum gibi Azure hesabınızda oturum bash:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Dağıtım adımlarıDeployment steps

  1. Bir kaynak grubu oluşturmak için aşağıdaki komutu çalıştırın.Run the following command to create a resource group.

    az group create --location <location> --name <resource-group-name>
    
  2. Bir depolama hesabı için bulut tanığı oluşturmak için aşağıdaki komutu çalıştırın.Run the following command to create a Storage account for the Cloud Witness.

    az storage account create --location <location> \
      --name <storage-account-name> \
      --resource-group <resource-group-name> \
      --sku Standard_LRS
    
  3. Gidin virtual-machines\n-tier-windows başvuru mimarileri GitHub deposunun klasör.Navigate to the virtual-machines\n-tier-windows folder of the reference architectures GitHub repository.

  4. n-tier-windows.json dosyasını açın.Open the n-tier-windows.json file.

  5. "WitnessStorageBlobEndPoint" öğesinin tüm örneklerini arayın ve yer tutucu metni 2. adımda depolama hesabının adıyla değiştirin.Search for all instances of "witnessStorageBlobEndPoint" and replace the placeholder text with the name of the Storage account from step 2.

    "witnessStorageBlobEndPoint": "https://[replace-with-storageaccountname].blob.core.windows.net",
    
  6. Depolama hesabı için hesap anahtarları listesi için aşağıdaki komutu çalıştırın.Run the following command to list the account keys for the storage account.

    az storage account keys list \
      --account-name <storage-account-name> \
      --resource-group <resource-group-name>
    

    Çıktı aşağıdaki gibi görünmelidir.The output should look like the following. key1 değerini kopyalayın.Copy the value of key1.

    [
    {
        "keyName": "key1",
        "permissions": "Full",
        "value": "..."
    },
    {
        "keyName": "key2",
        "permissions": "Full",
        "value": "..."
    }
    ]
    
  7. İçinde n-tier-windows.json dosya, "witnessStorageAccountKey" öğesinin tüm örneklerini arayın ve hesap anahtarı yapıştırın.In the n-tier-windows.json file, search for all instances of "witnessStorageAccountKey" and paste in the account key.

    "witnessStorageAccountKey": "[replace-with-storagekey]"
    
  8. İçinde n-tier-windows.json dosya, tüm örneklerini arayın [replace-with-password] ve [replace-with-sql-password] bunları güçlü bir parola ile değiştirin.In the n-tier-windows.json file, search for all instances of [replace-with-password] and [replace-with-sql-password] replace them with a strong password. Dosyayı kaydedin.Save the file.

    Not

    Yönetici kullanıcı adını değiştirirseniz, aynı zamanda güncelleştirmelisiniz extensions JSON dosyasında engeller.If you change the administrator user name, you must also update the extensions blocks in the JSON file.

  9. Mimariyi dağıtmak için aşağıdaki komutu çalıştırın.Run the following command to deploy the architecture.

    azbb -s <your subscription_id> -g <resource_group_name> -l <location> -p n-tier-windows.json --deploy
    

Bu örnek başvuru mimarisini dağıtma hakkında daha fazla bilgi için GitHub deposunu ziyaret edin.For more information on deploying this sample reference architecture using Azure Building Blocks, visit the GitHub repository.

Sonraki adımlarNext steps