n-schichtige Linux-Anwendung in Azure mit Apache CassandraLinux N-tier application in Azure with Apache Cassandra

Diese Referenzarchitektur zeigt, wie Sie für eine n-schichtige Anwendung konfigurierte virtuelle Computer (VMs) und ein entsprechendes virtuelles Netzwerk mit Apache Cassandra unter Linux für die Datenebene bereitstellen.This reference architecture shows how to deploy virtual machines (VMs) and a virtual network configured for an N-tier application, using Apache Cassandra on Linux for the data tier. Stellen Sie diese Lösung bereit.Deploy this solution.

n-schichtige Architektur mit Microsoft AzureN-tier architecture using Microsoft Azure

Laden Sie eine Visio-Datei dieser Architektur herunter.Download a Visio file of this architecture.

ArchitectureArchitecture

Diese Architektur besteht aus den folgenden Komponenten.The architecture has the following components.

AllgemeinGeneral

  • Ressourcengruppe.Resource group. Ressourcengruppen dienen zum Gruppieren von Azure-Ressourcen, damit sie nach Lebensdauer, Besitzer oder anderen Kriterien verwaltet werden können.Resource groups are used to group Azure resources so they can be managed by lifetime, owner, or other criteria.

  • Verfügbarkeitszonen.Availability zones. Verfügbarkeitszonen sind physische Standorte in einer Azure-Region.Availability zones are physical locations within an Azure region. Jede Zone besteht aus mindestens einem Datencenter mit eigener Stromversorgung, Kühlung und Netzwerk.Each zone consists of one or more datacenters with independent power, cooling, and networking. Wenn Sie VMs zonenübergreifend platzieren, wird die Anwendung in einer Zone resilient gegenüber Fehlern.By placing VMs across zones, the application becomes resilient to failures within a zone.

Netzwerk und LastenausgleichNetworking and load balancing

  • Virtuelles Netzwerk und Subnetze.Virtual network and subnets. Jede Azure-VM wird in einem virtuellen Netzwerk bereitgestellt, das in Subnetze segmentiert werden kann.Every Azure VM is deployed into a virtual network that can be segmented into subnets. Erstellen Sie für jede Schicht ein separates Subnetz.Create a separate subnet for each tier.

  • Anwendungsgateway:Application gateway. Application Gateway ist ein Lastenausgleich auf Schicht 7 (Anwendungsschicht).Application Gateway is a layer 7 load balancer. Bei dieser Architektur werden HTTP-Anforderungen an das Web-Front-End geleitet.In this architecture, it routes HTTP requests to the web front end. Mit Application Gateway wird auch eine Web Application Firewall (WAF) bereitgestellt, mit der die Anwendung vor häufig auftretenden Exploits und Sicherheitsrisiken geschützt wird.Application Gateway also provides a web application firewall (WAF) that protects the application from common exploits and vulnerabilities.

  • Lastenausgleichsmodule.Load balancers. Verwenden Sie Azure Load Balancer Standard zum Verteilen von Netzwerkdatenverkehr von der Webebene auf die Geschäftsebene und von der Geschäftsebene an SQL Server.Use Azure Standard Load Balancer to distribute network traffic from the web tier to the business tier, and from the business tier to SQL Server.

  • Netzwerksicherheitsgruppen (NSGs).Network security groups (NSGs). Verwenden Sie NSGs, um den Netzwerkdatenverkehr im virtuellen Netzwerk zu beschränken.Use NSGs to restrict network traffic within the virtual network. In der hier gezeigten dreischichtigen Architektur akzeptiert die Datenbankschicht beispielsweise keinen Datenverkehr vom Web-Front-End, sondern nur von der Unternehmensschicht und dem Verwaltungssubnetz.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 Protection.DDoS Protection. Obwohl die Azure-Plattform Schutz vor verteilten Denial-of-Service-Angriffen (DDoS) beinhaltet, empfehlen wir die Verwendung der Dienstebene DDoS Protection Standard, die erweiterte Funktionen für die DDoS-Entschärfung bietet.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. Weitere Informationen finden Sie unter Sicherheitshinweise.See Security considerations.

  • Azure DNS:Azure DNS. Azure DNS ist ein Hostingdienst für DNS-Domänen.Azure DNS is a hosting service for DNS domains. Er ermöglicht eine Namensauflösung mithilfe der Microsoft Azure-Infrastruktur.It provides name resolution using Microsoft Azure infrastructure. Durch das Hosten Ihrer Domänen in Azure können Sie Ihre DNS-Einträge mithilfe der gleichen Anmeldeinformationen, APIs, Tools und Abrechnung wie für die anderen Azure-Dienste verwalten.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.

Virtuelle ComputerVirtual machines

  • Apache Cassandra-Datenbank:Apache Cassandra database. Stellt Hochverfügbarkeit in der Datenschicht durch Replikation und Failover bereit.Provides high availability at the data tier, by enabling replication and failover.

  • OpsCenter.OpsCenter. Stellen Sie eine Überwachungslösung wie DataStax OpsCenter bereit, um den Cassandra-Cluster zu überwachen.Deploy a monitoring solution such as DataStax OpsCenter to monitor the Cassandra cluster.

  • Jumpbox:Jumpbox. Wird auch als geschützter Host bezeichnet.Also called a bastion host. Dies ist eine geschützte VM im Netzwerk, die von Administratoren zum Herstellen der Verbindung mit anderen VMs verwendet wird.A secure VM on the network that administrators use to connect to the other VMs. Die Jumpbox verfügt über eine NSG, bei der Remotedatenverkehr nur von öffentlichen IP-Adressen zugelassen wird, die in einer Liste mit sicheren Adressen enthalten sind.The jumpbox has an NSG that allows remote traffic only from public IP addresses on a safe list. Die NSG sollte Remotedesktop-Datenverkehr (RDP) zulassen.The NSG should permit remote desktop (RDP) traffic.

EmpfehlungenRecommendations

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.Your requirements might differ from the architecture described here. Verwenden Sie diese Empfehlungen als Startpunkt.Use these recommendations as a starting point.

Virtuelle ComputerVirtual machines

Empfehlungen zum Konfigurieren der VMs finden Sie unter Ausführen eines virtuellen Linux-Computers in Azure.For recommendations on configuring the VMs, see Run a Linux VM on Azure.

Virtuelles NetzwerkVirtual network

Legen Sie bei der Erstellung des virtuellen Netzwerks (VNET) fest, wie viele IP-Adressen Ihre Ressourcen in jedem Subnetz benötigen.When you create the virtual network, determine how many IP addresses your resources in each subnet require. Geben Sie mithilfe der CIDR eine Subnetzmaske und einen VNET-Adressbereich an, der für die erforderlichen IP-Adressen groß genug ist.Specify a subnet mask and a network address range large enough for the required IP addresses, using CIDR notation. Verwenden Sie einen Adressraum, der in die standardmäßigen privaten IP-Adressblöcke 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16 fällt.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.

Wählen Sie für den Fall, dass Sie später ein Gateway zwischen dem VNET und Ihrem lokalen Netzwerk einrichten müssen, einen Adressbereich aus, der sich nicht mit Ihrem lokalen Netzwerk überschneidet.Choose an address range that doesn't overlap with your on-premises network, in case you need to set up a gateway between the VNet and your on-premises network later. Sobald Sie das VNET erstellt haben, können Sie den Adressbereich nicht mehr ändern.Once you create the VNet, you can't change the address range.

Entwerfen Sie Subnetze unter Berücksichtigung der Funktionalität und Sicherheitsanforderungen.Design subnets with functionality and security requirements in mind. Alle VMs innerhalb derselben Schicht oder Rolle sollten im selben Subnetz platziert werden, was eine Sicherheitsbegrenzung darstellen kann.All VMs within the same tier or role should go into the same subnet, which can be a security boundary. Weitere Informationen zum Entwerfen von VNETs und Subnetzen finden Sie unter Planen und Entwerfen von Azure Virtual Networks.For more information about designing VNets and subnets, see Plan and design Azure Virtual Networks.

Application GatewayApplication Gateway

Weitere Informationen zum Konfigurieren von Application Gateway finden Sie unter Application Gateway – Konfigurationsübersicht.For information about configuring Application Gateway, see Application Gateway configuration overview.

Load BalancerLoad balancers

Machen Sie die VMs nicht direkt über das Internet verfügbar.Do not expose the VMs directly to the Internet. Weisen Sie stattdessen jeder VM eine private IP-Adresse zu.Instead, give each VM a private IP address. Clients stellen über die IP-Adresse eine Verbindung her, die dem Application Gateway zugeordnet ist.Clients connect using the IP address associated with the Application Gateway.

Definieren Sie Lastenausgleichsregeln, um Netzwerkdatenverkehr an die virtuellen Computer weiterzuleiten.Define load balancer rules to direct network traffic to the VMs. Um beispielsweise HTTP-Datenverkehr zu aktivieren, erstellen Sie eine Regel, die Port 80 aus der Front-End-Konfiguration Port 80 im Back-End-Adresspool zuordnet.For example, to enable HTTP traffic, create a rule that maps port 80 from the front-end configuration to port 80 on the back-end address pool. Wenn ein Client eine HTTP-Anforderung an Port 80 sendet, wählt der Lastenausgleich mithilfe eines Hashalgorithmus, der die Quell-IP-Adresse enthält, eine Back-End-IP-Adresse aus.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. So werden Clientanforderungen auf alle VMs verteilt.Client requests are distributed across all the VMs.

NetzwerksicherheitsgruppenNetwork security groups

Verwenden Sie NSG-Regeln, um den Datenverkehr zwischen den Schichten zu beschränken.Use NSG rules to restrict traffic between tiers. In der oben gezeigten dreischichtigen Architektur kommuniziert die Internetschicht beispielsweise nicht direkt mit der Datenbankschicht.For example, in the three-tier architecture shown above, the web tier does not communicate directly with the database tier. Um dies zu erzwingen, sollte die Datenbankschicht eingehenden Datenverkehr aus dem Subnetz der Internetschicht blockieren.To enforce this, the database tier should block incoming traffic from the web tier subnet.

  1. Lehen Sie sämtlichen eingehenden Datenverkehr aus dem VNet ab.Deny all inbound traffic from the VNet. (Verwenden Sie den VIRTUAL_NETWORK-Tag in der Regel.)(Use the VIRTUAL_NETWORK tag in the rule.)
  2. Lassen Sie eingehenden Datenverkehr aus dem Subnetz der Unternehmensschicht zu.Allow inbound traffic from the business tier subnet.
  3. Lassen Sie eingehenden Datenverkehr aus dem Subnetz der Datenbankschicht zu.Allow inbound traffic from the database tier subnet itself. Diese Regel ermöglicht die Kommunikation zwischen den virtuellen Datenbankcomputern, die für die Replikation und das Failover der Datenbank erforderlich ist.This rule allows communication between the database VMs, which is needed for database replication and failover.
  4. Lassen Sie SSH-Datenverkehr (Port 22) aus dem Subnetz der Jumpbox zu.Allow ssh traffic (port 22) from the jumpbox subnet. Diese Regel erlaubt Administratoren, über die Jumpbox eine Verbindung mit der Datenbankschicht herzustellen.This rule lets administrators connect to the database tier from the jumpbox.

Erstellen Sie die Regeln 2–4 mit einer höheren Priorität als die erste Regel, damit sie Vorrang haben.Create rules 2 – 4 with higher priority than the first rule, so they override it.

CassandraCassandra

Für die Produktion wird DataStax Enterprise empfohlen, wobei diese Empfehlungen für alle Cassandra-Editionen gelten.We recommend DataStax Enterprise for production use, but these recommendations apply to any Cassandra edition. Weitere Informationen zur Ausführung von DataStax in Azure finden Sie im DataStax Enterprise-Bereitstellungshandbuch für Azure.For more information on running DataStax in Azure, see DataStax Enterprise Deployment Guide for Azure.

Konfigurieren Sie Knoten im rackfähigen Modus.Configure nodes in rack-aware mode. Ordnen Sie Fehlerdomänen den Racks in der Datei cassandra-rackdc.properties zu.Map fault domains to racks in the cassandra-rackdc.properties file.

Es ist kein vor dem Cluster geschaltetes Lastenausgleichsmodul erforderlich.You don't need a load balancer in front of the cluster. Der Client stellt eine direkte Verbindung mit einem Knoten im Cluster her.The client connects directly to a node in the cluster.

In den Bereitstellungsskripts für diese Architektur wird die Namensauflösung verwendet, um den Startknoten für die Kommunikation innerhalb des Clusters (gossip) zu initialisieren.The deployment scripts for this architecture use name resolution to initialize the seed node for intra-cluster communication (gossip). Zum Aktivieren der Namensauflösung erstellt die Bereitstellung eine Azure DNS Private Zone mit A-Datensätzen für die Cassandra-Knoten.To enable name resolution, the deployment creates an Azure Private DNS zone with A records for the Cassandra nodes. Abhängig von Ihren Initialisierungsskripts können Sie möglicherweise stattdessen die statische IP-Adresse verwenden.Depending on your initialization scripts, you might be able to use the static IP address instead.

Hinweis

Privates Azure-DNS ist zurzeit als öffentliche Vorschau verfügbar.Azure Private DNS is currently in public preview.

JumpboxJumpbox

Verweigern Sie den SSH-Zugriff über das öffentliche Internet auf die VMs, auf denen die Anwendungsworkload ausgeführt wird.Don't allow ssh access from the public Internet to the VMs that run the application workload. Der gesamte SSH-Zugriff auf diese virtuellen Computer muss stattdessen über die Jumpbox erfolgen.Instead, all ssh access to these VMs must come through the jumpbox. Ein Administrator meldet sich bei der Jumpbox und von der Jumpbox aus dann bei der anderen VM an.An administrator logs into the jumpbox, and then logs into the other VM from the jumpbox. Die Jumpbox lässt SSH-Datenverkehr aus dem Internet zu, allerdings nur von bekannten, sicheren IP-Adressen.The jumpbox allows ssh traffic from the Internet, but only from known, safe IP addresses.

Die Jumpbox hat sehr geringe Leistungsanforderungen. Wählen Sie daher einen virtuellen Computer mit geringer Größe.The jumpbox has minimal performance requirements, so select a small VM size. Erstellen Sie eine öffentliche IP-Adresse für die Jumpbox.Create a public IP address for the jumpbox. Platzieren Sie die Jumpbox in dasselbe VNET wie die anderen VMs, jedoch in ein separates Verwaltungssubnetz.Place the jumpbox in the same VNet as the other VMs, but in a separate management subnet.

Fügen Sie zum Schutz der Jumpbox eine NSG-Regel hinzu, die ausschließlich SSH-Verbindungen von einer sicheren Gruppe öffentlicher IP-Adressen zulässt.To secure the jumpbox, add an NSG rule that allows ssh connections only from a safe set of public IP addresses. Konfigurieren Sie die NSGs für die anderen Subnetze, um SSH-Datenverkehr aus dem Verwaltungssubnetz zuzulassen.Configure the NSGs for the other subnets to allow ssh traffic from the management subnet.

Überlegungen zur SkalierbarkeitScalability considerations

SkalierungsgruppenScale sets

Erwägen Sie für die Internet- und Unternehmensschichten die Verwendung von VM-Skalierungsgruppen, anstatt separate VMs in einer Verfügbarkeitsgruppe bereitzustellen.For the web and business tiers, consider using virtual machine scale sets, instead of deploying separate VMs into an availability set. Eine Skalierungsgruppe erleichtert die Bereitstellung und Verwaltung einer Gruppe identischer VMs und ermöglicht die automatische Skalierung der VMs auf der Grundlage von Leistungsmetriken.A scale set makes it easy to deploy and manage a set of identical VMs, and autoscale the VMs based on performance metrics. Mit zunehmender Last auf den virtuellen Computern werden dem Lastenausgleich automatisch zusätzliche virtuelle Computer hinzugefügt.As the load on the VMs increases, additional VMs are automatically added to the load balancer.

Es gibt zwei grundlegende Methoden für das Konfigurieren von virtuellen Computern in einer Skalierungsgruppe:There are two basic ways to configure VMs deployed in a scale set:

  • Verwenden Sie Erweiterungen, um die VM nach ihrer Bereitstellung zu konfigurieren.Use extensions to configure the VM after it's deployed. Bei diesem Ansatz dauert das Starten neuer VM-Instanzen länger als bei virtuellen Computern ohne Erweiterungen.With this approach, new VM instances may take longer to start up than a VM with no extensions.

  • Stellen Sie einen verwalteten Datenträger mit einem benutzerdefinierten Datenträgerimage bereit.Deploy a managed disk with a custom disk image. Diese Option kann möglicherweise schneller bereitgestellt werden.This option may be quicker to deploy. Allerdings müssen Sie das Image auf dem neuesten Stand halten.However, it requires you to keep the image up-to-date.

Weitere Informationen finden Sie unter Überlegungen zum Entwurf von Skalierungsgruppen.For more information, see Design considerations for scale sets.

Tipp

Wenn Sie eine Lösung für die automatische Skalierung verwenden, testen Sie diese im Voraus mit Workloads auf Produktionsebene.When using any autoscale solution, test it with production-level workloads well in advance.

Grenzwerte für AbonnementsSubscription limits

Jedes Azure-Abonnement verfügt über Standardeinschränkungen, zu denen auch eine maximale Anzahl von virtuellen Computern pro Region gehört.Each Azure subscription has default limits in place, including a maximum number of VMs per region. Sie können den Grenzwert erhöhen, indem Sie eine Supportanfrage einreichen.You can increase the limit by filing a support request. Weitere Informationen finden Sie unter Grenzwerte für Azure-Abonnements, -Dienste und -Kontingente sowie allgemeine Beschränkungen.For more information, see Azure subscription and service limits, quotas, and constraints.

Application GatewayApplication Gateway

Application Gateway unterstützt den Modus mit fester Kapazität oder den Modus mit automatischer Skalierung.Application Gateway supports fixed capacity mode or autoscaling mode. Der Modus mit fester Kapazität empfiehlt sich für Szenarien mit einheitlichen und vorhersagbaren Workloads.Fixed capacity mode is useful for scenarios with consistent and predictable workloads. Verwenden Sie den Modus mit automatischer Skalierung für Workloads mit variablem Datenverkehr.Consider using autoscaling mode for workloads with variable traffic. Weitere Informationen finden Sie unter Automatische Skalierung und zonenredundantes Application Gateway v2.For more information, see Autoscaling and Zone-redundant Application Gateway v2.

Überlegungen zur LeistungPerformance considerations

Um die beste Leistung mit Cassandra auf Azure-VMs zu erzielen, befolgen Sie die Empfehlungen in Ausführen von Apache Cassandra auf Azure VMs.To get the best performance from Cassandra on Azure VMs, see the recommendations in Run Apache Cassandra on Azure VMs.

Überlegungen zur VerfügbarkeitAvailability considerations

Verfügbarkeitszonen bieten die beste Resilienz innerhalb einer einzelnen Region.Availability zones provide the best resiliency within a single region. Wenn Sie eine noch höhere Verfügbarkeit benötigen, erwägen Sie, die Anwendung über zwei Regionen zu replizieren.If you need even higher availability, consider replicating the application across two regions.

Nicht alle Regionen unterstützen Verfügbarkeitszonen, und nicht alle VM-Größen werden in allen Zonen unterstützt.Not all regions support availability zones, and not all VM sizes are supported in all zones. Führen Sie den folgenden Azure CLI-Befehl aus, um die unterstützten Zonen für jede VM-Größe innerhalb einer Region zu ermitteln:Run the following Azure CLI command to find the supported zones for each VM size within a region:

az vm list-skus --resource-type virtualMachines --zone false --location <location> \
    --query "[].{Name:name, Zones:locationInfo[].zones[] | join(','@)}" -o table  

Wenn Sie diese Architektur in einer Region bereitstellen, die keine Verfügbarkeitszonen unterstützt, platzieren Sie die VMs für jede Ebene in einer Verfügbarkeitsgruppe.If you deploy this architecture to a region that does not support availability zones, put the VMs for each tier inside an availability set. VMs innerhalb derselben Verfügbarkeitsgruppe werden aus Redundanzgründen auf mehreren physischen Servern, Computerracks, Speichereinheiten und Netzwerkswitches bereitgestellt.VMs within the same availability are deployed across multiple physical servers, compute racks, storage units, and network switches for redundancy. Skalierungsgruppen verwenden automatisch Platzierungsgruppen, die als eine implizite Verfügbarkeitsgruppe fungieren.Scale sets automatically use placement groups, which act as an implicit availability set.

Wenn Sie in Verfügbarkeitszonen bereitstellen, verwenden Sie die Standard-SKU von Azure Load Balancer und die SKU v2 von Application Gateway.When deploying to availability zones, use the Standard SKU of Azure Load Balancer and the v2 SKU of Application Gateway. Diese SKUs unterstützen die zonenübergreifende Redundanz.These SKUs support cross-zone redundancy. Weitere Informationen finden Sie unterFor more information, see:

In einer einzelnen Application Gateway-Bereitstellung können mehrere Instanzen des Gateways ausgeführt werden.A single Application Gateway deployment can run multiple instances of the gateway. Führen Sie für Produktionsworkloads mindestens zwei Instanzen aus.For production workloads, run at least two instances.

Cassandra-ClusterCassandra cluster

Für den Cassandra-Cluster hängen die Failoverszenarien von den Konsistenzebenen, die von der Anwendung verwendet werden, und von der Anzahl von Replikaten ab.For the Cassandra cluster, the failover scenarios depend on the consistency levels used by the application and the number of replicas. Weitere Informationen zu Konsistenzebenen und der Verwendung in Cassandra finden Sie unter Konfigurieren der Datenkonsistenz sowie unter Cassandra: Wie viele Knoten kommunizieren mit Quorum?.For consistency levels and usage in Cassandra, see Configuring data consistency and Cassandra: How many nodes are talked to with Quorum? Die Verfügbarkeit der Daten wird in Cassandra durch die Konsistenzebene, die von der Anwendung verwendet wird, und vom Replikationsverfahren bestimmt.Data availability in Cassandra is determined by the consistency level used by the application and the replication mechanism. Weitere Informationen zur Replikation in Cassandra finden Sie unter Datenreplikation in NoSQL-Datenbanken im Überblick.For replication in Cassandra, see Data Replication in NoSQL Databases Explained.

IntegritätstestsHealth probes

Application Gateway und Load Balancer überwachen mit Integritätstests die Verfügbarkeit von VM-Instanzen.Application Gateway and Load Balancer both use health probes to monitor the availability of VM instances.

  • Application Gateway verwendet immer einen HTTP-Test.Application Gateway always uses an HTTP probe.
  • Load Balancer kann sowohl HTTP-Tests als auch TCP-Tests ausführen.Load Balancer can test either HTTP or TCP. Verwenden Sie generell einen HTTP-Test, wenn auf einer VM ein HTTP-Server ausgeführt wird.Generally, if a VM runs an HTTP server, use an HTTP probe. Verwenden Sie andernfalls TCP.Otherwise, use TCP.

Kann eine Instanz bei einem Test nicht innerhalb des jeweiligen Zeitlimits erreicht werden, beendet das Gateway oder der Lastenausgleich das Senden von Datenverkehr an die betreffende VM.If a probe can't reach an instance within a timeout period, the gateway or load balancer stops sending traffic to that VM. Der Test wird fortgesetzt. und die VM wird an den Back-End-Pool zurückgegeben, wenn sie wieder verfügbar wird.The probe continues to check and will return the VM to the back-end pool if the VM becomes available again.

HTTP-Tests senden eine HTTP GET-Anforderung an einen angegebenen Pfad und lauschen auf eine HTTP 200-Antwort.HTTP probes send an HTTP GET request to a specified path and listen for an HTTP 200 response. Bei diesem Pfad kann es sich um den Stammpfad („/“) oder einen Endpunkt zur Integritätsüberwachung handeln, der benutzerdefinierte Logik zum Überprüfen der Integrität der Anwendung implementiert.This path can be the root path ("/"), or a health-monitoring endpoint that implements some custom logic to check the health of the application. Der Endpunkt muss anonyme HTTP-Anforderungen zulassen.The endpoint must allow anonymous HTTP requests.

Weitere Informationen zu Integritätstests finden Sie in folgenden Artikeln:For more information about health probes, see:

Überlegungen zum Entwerfen eines Integritätstest-Endpunkts finden Sie unter Muster für Überwachung der Integrität von Endpunkten.For considerations about designing a health probe endpoint, see Health Endpoint Monitoring pattern.

SicherheitshinweiseSecurity considerations

Virtuelle Netzwerke stellen in Azure eine Isolationsbegrenzung für Datenverkehr dar.Virtual networks are a traffic isolation boundary in Azure. VMs in einem VNET können nicht direkt mit VMs in einem anderen VNET kommunizieren.VMs in one VNet can't communicate directly with VMs in a different VNet. VMs im selben VNET können miteinander kommunizieren, sofern Sie den Datenverkehr nicht durch die Erstellung von Netzwerksicherheitsgruppen (NSGs) beschränken.VMs within the same VNet can communicate, unless you create network security groups (NSGs) to restrict traffic. Weitere Informationen finden Sie unter Microsoft Cloud Services und Netzwerksicherheit.For more information, see Microsoft cloud services and network security.

Für eingehenden Internetdatenverkehr definieren die Lastenausgleichsregeln, welcher Datenverkehr an das Back-End weitergeleitet wird.For incoming Internet traffic, the load balancer rules define which traffic can reach the back end. Allerdings unterstützen Lastenausgleichsregeln keine IP-Sicherheitslisten. Wenn Sie also einer Sicherheitsliste bestimmte öffentliche IP-Adressen hinzufügen möchten, fügen Sie dem Subnetz eine NSG hinzu.However, load balancer rules don't support IP safe lists, so if you want to add certain public IP addresses to a safe list, add an NSG to the subnet.

DMZ.DMZ. Für die Erstellung einer DMZ zwischen dem Internet und dem virtuellen Azure-Netzwerk sollten Sie eventuell eine virtuelle Netzwerkappliance (Network Virtual Appliance, NVA) hinzufügen.Consider adding a network virtual appliance (NVA) to create a DMZ between the Internet and the Azure virtual network. NVA ist ein Oberbegriff für eine virtuelle Appliance, die netzwerkbezogene Aufgaben wie Erstellung von Firewalls, Paketüberprüfung, Überwachung und benutzerdefiniertes Routing ausführen kann.NVA is a generic term for a virtual appliance that can perform network-related tasks, such as firewall, packet inspection, auditing, and custom routing. Weitere Informationen finden Sie unter Implementieren einer DMZ zwischen Azure und dem Internet.For more information, see Implementing a DMZ between Azure and the Internet.

Verschlüsselung.Encryption. Verschlüsseln Sie sensible ruhende Daten, und verwalten Sie die Datenbankverschlüsselungsschlüssel mithilfe von Azure Key Vault.Encrypt sensitive data at rest and use Azure Key Vault to manage the database encryption keys. Key Vault kann Verschlüsselungsschlüssel in Hardwaresicherheitsmodulen (HSMs) speichern.Key Vault can store encryption keys in hardware security modules (HSMs). Es empfiehlt sich außerdem, Anwendungsgeheimnisse wie Datenbankverbindungszeichenfolgen in Key Vault zu speichern.It's also recommended to store application secrets, such as database connection strings, in Key Vault.

DDoS Protection.DDoS protection. Die Azure-Plattform stellt DDoS Protection Basic-Schutz standardmäßig bereit.The Azure platform provides basic DDoS protection by default. Dieser Basisschutz ist dafür ausgelegt, die Azure-Infrastruktur als Ganzes zu schützen.This basic protection is targeted at protecting the Azure infrastructure as a whole. Obwohl der DDoS Protection Basic-Schutz automatisch aktiviert ist, empfehlen wir die Verwendung von DDoS Protection Standard.Although basic DDoS protection is automatically enabled, we recommend using DDoS Protection Standard. DDoS Protection Standard wendet basierend auf den Mustern des Netzwerkdatenverkehrs Ihrer Anwendung eine adaptive Optimierung an, um Bedrohungen zu erkennen.Standard protection uses adaptive tuning, based on your application's network traffic patterns, to detect threats. Dadurch können DDoS-Angriffe entschärft werden, die von den infrastrukturweiten DDoS-Richtlinien möglicherweise nicht erkannt werden.This allows it to apply mitigations against DDoS attacks that might go unnoticed by the infrastructure-wide DDoS policies. DDoS Protection Standard stellt über Azure Monitor auch Warnungen, Telemetrie und Analysen bereit.Standard protection also provides alerting, telemetry, and analytics through Azure Monitor. Weitere Informationen finden Sie unter Azure DDoS Protection – Bewährte Methoden und Referenzarchitekturen.For more information, see Azure DDoS Protection: Best practices and reference architectures.

Bereitstellen der LösungDeploy the solution

Eine Bereitstellung für diese Referenzarchitektur ist auf GitHub verfügbar.A deployment for this reference architecture is available on GitHub.

Wenn Sie eine Region angeben, die Verfügbarkeitszonen unterstützt, werden die VMs in Verfügbarkeitszonen bereitgestellt.If you specify a region that supports availability zones, the VMs are deployed into availability zones. Andernfalls werden die VMs in Verfügbarkeitsgruppen bereitgestellt.Otherwise, the VMs are deployed into availability sets. Eine Liste der Regionen, die Verfügbarkeitszonen unterstützen, finden Sie unter Unterstützung der Dienste nach Region.For a list of regions that support availability zones, see Services support by region.

VoraussetzungenPrerequisites

  1. Klonen oder Forken Sie das GitHub-Repository Referenzarchitekturen, oder laden Sie die entsprechende ZIP-Datei herunter.Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Installieren Sie Azure CLI 2.0.Install Azure CLI 2.0.

  3. Installieren Sie Node und NPM.Install Node and NPM

  4. Installieren Sie das npm-Paket mit den Azure Bausteinen.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  5. Melden Sie sich über eine Eingabeaufforderung, eine Bash-Eingabeaufforderung oder die PowerShell-Eingabeaufforderung folgendermaßen bei Ihrem Azure-Konto an:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Bereitstellen der Lösung mit azbbDeploy the solution using azbb

Um die Linux VMs für eine n-schichtige Anwendungsreferenzarchitektur bereitzustellen, führen Sie die folgenden Schritte aus:To deploy the Linux VMs for an N-tier application reference architecture, follow these steps:

  1. Navigieren Sie zum Ordner virtual-machines\n-tier-linux für das Repository, das Sie weiter oben in Schritt 1 der Voraussetzungen geklont haben.Navigate to the virtual-machines\n-tier-linux folder for the repository you cloned in step 1 of the prerequisites above.

  2. Die Parameterdatei gibt einen Standard-Administratorbenutzernamen und ein Standardkennwort für jeden virtuellen Computer in der Bereitstellung an.The parameter file specifies a default administrator user name and password for each VM in the deployment. Ändern Sie diese Informationen, bevor Sie die Referenzarchitektur bereitstellen.Change these before you deploy the reference architecture. Öffnen Sie die n-tier-linux.json-Datei, und ersetzen Sie jedes Feld adminUsername und adminPassword durch neue Einstellungen.Open the n-tier-linux.json file and replace each adminUsername and adminPassword field with your new settings. Speichern Sie die Datei .Save the file.

  3. Stellen Sie die Referenzarchitektur wie unten dargestellt mit dem Tool azbb bereit.Deploy the reference architecture using the azbb tool as shown below.

    azbb -s <your subscription_id> -g <your resource_group_name> -l <azure region> -p n-tier-linux.json --deploy
    

Nächste SchritteNext steps