Aplicación Linux de n niveles en Azure con Apache CassandraLinux N-tier application in Azure with Apache Cassandra

Esta arquitectura de referencia muestra cómo implementar máquinas virtuales (VM) y una red virtual configurada para una aplicación de n niveles, con Apache Cassandra en Linux para la capa de datos.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. Implemente esta solución.Deploy this solution.

@no__t: arquitectura de nivel 1N mediante Microsoft Azure](./images/n-tier-cassandra.png)N-tier architecture using Microsoft Azure

Descargue un archivo Visio de esta arquitectura.Download a Visio file of this architecture.

ArquitecturaArchitecture

La arquitectura tiene los siguientes componentes.The architecture has the following components.

GeneralGeneral

  • Grupo de recursos.Resource group. Los grupos de recursos se usan para agrupar los recursos de Azure para que se puedan administrar por duración, propietario u otros criterios.Resource groups are used to group Azure resources so they can be managed by lifetime, owner, or other criteria.

  • Zonas de disponibilidad.Availability zones. Las zonas de disponibilidad son ubicaciones físicas dentro de una región de Azure.Availability zones are physical locations within an Azure region. Cada zona se compone de uno o varios centros de recursos con alimentación, refrigeración y redes independientes.Each zone consists of one or more datacenters with independent power, cooling, and networking. Al colocar las máquinas virtuales entre zonas, la aplicación se vuelve resistente a los errores dentro de una zona.By placing VMs across zones, the application becomes resilient to failures within a zone.

Redes y equilibrio de cargaNetworking and load balancing

  • Red virtual y subredes.Virtual network and subnets. Cada máquina virtual de Azure se implementa en una red virtual que se puede segmentar en subredes.Every Azure VM is deployed into a virtual network that can be segmented into subnets. Cree una subred independiente para cada nivel.Create a separate subnet for each tier.

  • Application Gateway.Application gateway. Application Gateway es un equilibrador de carga de nivel 7.Application Gateway is a layer 7 load balancer. En esta arquitectura, enruta las solicitudes HTTP al front-end web.In this architecture, it routes HTTP requests to the web front end. Application Gateway proporciona también un firewall de aplicaciones web (WAF) que protege la aplicación contra puntos vulnerables de la seguridad comunes.Application Gateway also provides a web application firewall (WAF) that protects the application from common exploits and vulnerabilities.

  • Equilibradores de carga.Load balancers. Use Azure Standard load balancer para distribuir el tráfico de red desde el nivel Web hasta el nivel empresarial y desde el nivel empresarial hasta 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.

  • Grupos de seguridad de red (NSG).Network security groups (NSGs). Use NSG para restringir el tráfico de red dentro de la red virtual.Use NSGs to restrict network traffic within the virtual network. Por ejemplo, en la arquitectura de tres niveles que se muestra aquí, el nivel de base de datos no acepta el tráfico procedente del front-end web, solo el procedente del nivel de empresa y la subred de administración.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.

  • Protección contra DDoS.DDoS Protection. Aunque la plataforma Azure proporciona protección básica contra ataques de denegación de servicio distribuido (DDoS), se recomienda usar DDoS Protection estándar, que tiene características mejoradas de mitigación de DDoS.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. Consulte Consideraciones sobre la seguridad.See Security considerations.

  • Azure DNS.Azure DNS. Azure DNS es un servicio de hospedaje para dominios DNS.Azure DNS is a hosting service for DNS domains. Proporciona resolución de nombres mediante la infraestructura de Microsoft Azure.It provides name resolution using Microsoft Azure infrastructure. Al hospedar dominios en Azure, puede administrar los registros DNS con las mismas credenciales, API, herramientas y facturación que con los demás servicios de Azure.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.

Máquinas virtualesVirtual machines

  • Base de datos Apache Cassandra.Apache Cassandra database. Proporciona alta disponibilidad en el nivel de datos, al habilitar la replicación y la conmutación por error.Provides high availability at the data tier, by enabling replication and failover.

  • OpsCenter.OpsCenter. Implemente una solución de supervisión como DataStax OpsCenter para supervisar el clúster de Cassandra.Deploy a monitoring solution such as DataStax OpsCenter to monitor the Cassandra cluster.

  • JumpBox.Jumpbox. También se denomina host bastión.Also called a bastion host. Se trata de una máquina virtual segura en la red que usan los administradores para conectarse al resto de máquinas virtuales.A secure VM on the network that administrators use to connect to the other VMs. El JumpBox tiene un NSG que solo permite el tráfico remoto que procede de direcciones IP públicas de una lista segura.The jumpbox has an NSG that allows remote traffic only from public IP addresses on a safe list. El NSG debe permitir el tráfico de escritorio remoto (RDP).The NSG should permit remote desktop (RDP) traffic.

RecomendacionesRecommendations

Los requisitos pueden diferir de los de la arquitectura que se describe aquí.Your requirements might differ from the architecture described here. Use estas recomendaciones como punto de partida.Use these recommendations as a starting point.

Máquinas virtualesVirtual machines

Para obtener recomendaciones sobre la configuración de las máquinas virtuales, consulte ejecución de una máquina virtual Linux en Azure.For recommendations on configuring the VMs, see Run a Linux VM on Azure.

Red virtualVirtual network

Al crear la red virtual, Determine cuántas direcciones IP requieren los recursos de cada subred.When you create the virtual network, determine how many IP addresses your resources in each subnet require. Especifique una máscara de subred y un intervalo de direcciones de red lo suficientemente grande para las direcciones IP necesarias mediante la notación CIDR .Specify a subnet mask and a network address range large enough for the required IP addresses, using CIDR notation. Use un espacio de direcciones que se encuentre dentro de los bloques de direcciones IP privadasestándar, que son 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16.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.

Elija un intervalo de direcciones que no se superponga con la red local, en caso de que necesite configurar una puerta de enlace entre la red virtual y la red local más adelante.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. Una vez creada la red virtual, no se puede cambiar el intervalo de direcciones.Once you create the VNet, you can't change the address range.

Diseñe subredes teniendo en cuenta los requisitos de funcionalidad y seguridad.Design subnets with functionality and security requirements in mind. Todas las máquinas virtuales dentro del mismo nivel o rol deben incluirse en la misma subred, lo que puede servir como un límite de seguridad.All VMs within the same tier or role should go into the same subnet, which can be a security boundary. Para obtener más información sobre el diseño de redes virtuales y subredes, consulte planeamiento y diseño de redes virtuales de Azure.For more information about designing VNets and subnets, see Plan and design Azure Virtual Networks.

Puerta de enlace de aplicacionesApplication Gateway

Para obtener información sobre la configuración de Application Gateway, consulte información generalsobre la configuración de Application Gateway.For information about configuring Application Gateway, see Application Gateway configuration overview.

Equilibradores de cargaLoad balancers

No exponga las máquinas virtuales directamente a Internet.Do not expose the VMs directly to the Internet. En su lugar, asigne a cada máquina virtual una dirección IP privada.Instead, give each VM a private IP address. Los clientes se conectan con la dirección IP asociada a la Application Gateway.Clients connect using the IP address associated with the Application Gateway.

Defina reglas del equilibrador de carga para dirigir el tráfico de red a las máquinas virtuales.Define load balancer rules to direct network traffic to the VMs. Por ejemplo, para habilitar el tráfico HTTP, cree una regla que asigne el puerto 80 de la configuración de front-end al puerto 80 del grupo de direcciones de back-end.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. Cuando un cliente envía una solicitud HTTP al puerto 80, el equilibrador de carga selecciona una dirección IP de back-end mediante un algoritmo hash que incluye la dirección IP de origen.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. Las solicitudes del cliente se distribuyen entre todas las máquinas virtuales.Client requests are distributed across all the VMs.

Grupos de seguridad de redNetwork security groups

Use reglas NSG para restringir el tráfico entre los niveles.Use NSG rules to restrict traffic between tiers. Por ejemplo, en la arquitectura de tres niveles mostrada anteriormente, el nivel web no se comunica directamente con el nivel de base de datos.For example, in the three-tier architecture shown above, the web tier does not communicate directly with the database tier. Para exigir esto, el nivel de base de datos debe bloquear el tráfico entrante desde la subred del nivel Web.To enforce this, the database tier should block incoming traffic from the web tier subnet.

  1. Deniegue todo el tráfico entrante de la red virtual.Deny all inbound traffic from the VNet. (Use la etiqueta VIRTUAL_NETWORK de la regla).(Use the VIRTUAL_NETWORK tag in the rule.)
  2. Permita el tráfico entrante de la subred del nivel Business.Allow inbound traffic from the business tier subnet.
  3. Permita el tráfico entrante de la propia subred del nivel de la base de datos.Allow inbound traffic from the database tier subnet itself. Esta regla permite la comunicación entre las máquinas virtuales de la base de datos, lo cual es necesario para la replicación y la conmutación por error de esta.This rule allows communication between the database VMs, which is needed for database replication and failover.
  4. Permita el tráfico SSH (puerto 22) desde la subred de JumpBox.Allow ssh traffic (port 22) from the jumpbox subnet. Esta regla permite a los administradores conectarse al nivel de base de datos desde JumpBox.This rule lets administrators connect to the database tier from the jumpbox.

Cree las reglas 2 – 4 con una prioridad más alta que la primera regla para que puedan invalidarla.Create rules 2 – 4 with higher priority than the first rule, so they override it.

CassandraCassandra

Se recomienda DataStax Enterprise para su uso en producción, pero estas recomendaciones se aplican a cualquier edición de Cassandra.We recommend DataStax Enterprise for production use, but these recommendations apply to any Cassandra edition. Para obtener más información sobre la ejecución de DataStax en Azure, consulte Guía de implementación de DataStax Enterprise para Azure.For more information on running DataStax in Azure, see DataStax Enterprise Deployment Guide for Azure.

Configure los nodos en el modo de reconocimiento del bastidor.Configure nodes in rack-aware mode. Asigne los dominios de error a los bastidores en el archivo cassandra-rackdc.properties.Map fault domains to racks in the cassandra-rackdc.properties file.

No se necesita un equilibrador de carga delante del clúster.You don't need a load balancer in front of the cluster. El cliente se conecta directamente a un nodo del clúster.The client connects directly to a node in the cluster.

Los scripts de implementación de esta arquitectura usan la resolución de nombres para inicializar el nodo de inicialización para la comunicación dentro del clúster (intercambian).The deployment scripts for this architecture use name resolution to initialize the seed node for intra-cluster communication (gossip). Para habilitar la resolución de nombres, la implementación crea una zona de DNS privado de Azure con registros A para los nodos de Cassandra.To enable name resolution, the deployment creates an Azure Private DNS zone with A records for the Cassandra nodes. En función de los scripts de inicialización, es posible que pueda usar la dirección IP estática en su lugar.Depending on your initialization scripts, you might be able to use the static IP address instead.

Nota

Azure DNS privado se encuentra actualmente en su versión preliminar pública.Azure Private DNS is currently in public preview.

JumpBoxJumpbox

No permita el acceso SSH desde la red pública de Internet a las máquinas virtuales que ejecutan la carga de trabajo de la aplicación.Don't allow ssh access from the public Internet to the VMs that run the application workload. En su lugar, todo el acceso SSH a estas máquinas virtuales debe realizarse a través de JumpBox.Instead, all ssh access to these VMs must come through the jumpbox. Un administrador inicia sesión en JumpBox y, después, en la otra máquina virtual desde JumpBox.An administrator logs into the jumpbox, and then logs into the other VM from the jumpbox. JumpBox permite el tráfico SSH desde Internet, pero solo desde direcciones IP conocidas y seguras.The jumpbox allows ssh traffic from the Internet, but only from known, safe IP addresses.

JumpBox tiene unos requisitos de rendimiento mínimos, por lo que puede seleccionar un pequeño tamaño de máquina virtual.The jumpbox has minimal performance requirements, so select a small VM size. Cree una dirección IP pública para JumpBox.Create a public IP address for the jumpbox. Coloque JumpBox en la misma red virtual que las demás máquinas virtuales, pero en una subred de administración independiente.Place the jumpbox in the same VNet as the other VMs, but in a separate management subnet.

Para proteger JumpBox, agregue una regla de grupo de seguridad de red que permita las conexiones SSH solo desde un conjunto seguro de direcciones IP públicas.To secure the jumpbox, add an NSG rule that allows ssh connections only from a safe set of public IP addresses. Configure el NSG para las demás subredes, a fin de permitir el tráfico SSH de la subred de administración.Configure the NSGs for the other subnets to allow ssh traffic from the management subnet.

Consideraciones sobre escalabilidadScalability considerations

Conjuntos de escaladoScale sets

En el caso de los niveles web y Business, considere la posibilidad de usar conjuntos de escalado de máquinas virtuales, en lugar de implementar máquinas virtuales independientes en un conjunto de disponibilidad.For the web and business tiers, consider using virtual machine scale sets, instead of deploying separate VMs into an availability set. Los conjuntos de escalado facilitan la implementación y administración de un conjunto de máquinas virtuales idénticas y el escalado automático de dichas máquinas en función de sus métricas de rendimiento.A scale set makes it easy to deploy and manage a set of identical VMs, and autoscale the VMs based on performance metrics. A medida que aumenta la carga en las máquinas virtuales, se agregan más máquinas virtuales automáticamente al equilibrador de carga.As the load on the VMs increases, additional VMs are automatically added to the load balancer.

Hay dos maneras básicas de configurar máquinas virtuales implementadas en un conjunto de escalado:There are two basic ways to configure VMs deployed in a scale set:

  • Use extensiones para configurar la máquina virtual después de implementarla.Use extensions to configure the VM after it's deployed. Con este método, las nuevas instancias de máquina virtual pueden tardar más en iniciarse que una máquina virtual sin extensiones.With this approach, new VM instances may take longer to start up than a VM with no extensions.

  • Implemente un disco administrado con una imagen de disco personalizada.Deploy a managed disk with a custom disk image. Esta opción puede ser más rápida de implementar.This option may be quicker to deploy. Sin embargo, requiere que la imagen esté actualizada.However, it requires you to keep the image up-to-date.

Para obtener más información, consulte consideraciones de diseño para conjuntos de escalado.For more information, see Design considerations for scale sets.

Sugerencia

Cuando utilice cualquier solución de escalado automático, pruébela con antelación con cargas de trabajo de nivel de producción.When using any autoscale solution, test it with production-level workloads well in advance.

Límites de suscripciónSubscription limits

Cada suscripción de Azure tiene límites predeterminados establecidos, incluido un número máximo de máquinas virtuales por región.Each Azure subscription has default limits in place, including a maximum number of VMs per region. Puede aumentar el límite si rellena una solicitud de soporte técnico.You can increase the limit by filing a support request. Para más información, consulte Límites, cuotas y restricciones de suscripción y servicios de Microsoft Azure.For more information, see Azure subscription and service limits, quotas, and constraints.

Puerta de enlace de aplicacionesApplication Gateway

Application Gateway admite el modo de capacidad fijo o el modo de escalado automático.Application Gateway supports fixed capacity mode or autoscaling mode. El modo de capacidad fija es útil para escenarios con cargas de trabajo coherentes y predecibles.Fixed capacity mode is useful for scenarios with consistent and predictable workloads. Considere la posibilidad de usar el modo de escalado automático para cargas de trabajo con tráfico variable.Consider using autoscaling mode for workloads with variable traffic. Para obtener más información, consulte escalado automático y redundancia de zona Application Gateway V2.For more information, see Autoscaling and Zone-redundant Application Gateway v2.

Consideraciones sobre rendimientoPerformance considerations

Para obtener el mejor rendimiento de Cassandra en máquinas virtuales de Azure, consulte las recomendaciones en ejecución de Apache Cassandra en máquinas virtuales de Azure.To get the best performance from Cassandra on Azure VMs, see the recommendations in Run Apache Cassandra on Azure VMs.

Consideraciones sobre disponibilidadAvailability considerations

Las zonas de disponibilidad proporcionan la mejor resistencia dentro de una sola región.Availability zones provide the best resiliency within a single region. Si necesita una disponibilidad incluso mayor, considere la posibilidad de replicar la aplicación en dos regiones.If you need even higher availability, consider replicating the application across two regions.

No todas las regiones admiten zonas de disponibilidad y no todos los tamaños de máquina virtual se admiten en todas las zonas.Not all regions support availability zones, and not all VM sizes are supported in all zones. Ejecute el siguiente comando de CLI de Azure para buscar las zonas admitidas para cada tamaño de máquina virtual dentro de una región: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  

Si implementa esta arquitectura en una región que no admite zonas de disponibilidad, coloque las máquinas virtuales para cada nivel dentro de un conjunto de disponibilidad.If you deploy this architecture to a region that does not support availability zones, put the VMs for each tier inside an availability set. Las máquinas virtuales que se encuentran en la misma disponibilidad se implementan en varios servidores físicos, bastidores de proceso, unidades de almacenamiento y conmutadores de red para redundancia.VMs within the same availability are deployed across multiple physical servers, compute racks, storage units, and network switches for redundancy. Los conjuntos de escalado usan automáticamente grupos de selección de ubicación, que actúan como un conjunto de disponibilidad implícito.Scale sets automatically use placement groups, which act as an implicit availability set.

Al implementar en zonas de disponibilidad, use la SKU estándar de Azure Load Balancer y la SKU V2 de Application Gateway.When deploying to availability zones, use the Standard SKU of Azure Load Balancer and the v2 SKU of Application Gateway. Estas SKU admiten la redundancia entre zonas.These SKUs support cross-zone redundancy. Para obtener más información, vea:For more information, see:

Una sola implementación de Application Gateway puede ejecutar varias instancias de la puerta de enlace.A single Application Gateway deployment can run multiple instances of the gateway. En el caso de cargas de trabajo de producción, ejecute al menos dos instancias.For production workloads, run at least two instances.

Clúster de CassandraCassandra cluster

En el caso del clúster de Cassandra. los escenarios de conmutación por error dependen tanto de los niveles de coherencia que use la aplicación como del número de réplicas.For the Cassandra cluster, the failover scenarios depend on the consistency levels used by the application and the number of replicas. Para obtener los niveles de coherencia y el uso de Cassandra, consulte Configuración de la coherencia de datos y Cassandra: ¿A cuántos nodos se habla con el Cuórum? For consistency levels and usage in Cassandra, see Configuring data consistency and Cassandra: How many nodes are talked to with Quorum? La disponibilidad de datos en Cassandra viene determinada por el nivel de coherencia usado por la aplicación y el mecanismo de replicación.Data availability in Cassandra is determined by the consistency level used by the application and the replication mechanism. Para la replicación en Cassandra, vea replicación de datos en bases de datos NoSQL.For replication in Cassandra, see Data Replication in NoSQL Databases Explained.

Sondeos de estadoHealth probes

Application Gateway y Load Balancer usan sondeos de estado para supervisar la disponibilidad de las instancias de máquina virtual.Application Gateway and Load Balancer both use health probes to monitor the availability of VM instances.

  • Application Gateway siempre usa un sondeo HTTP.Application Gateway always uses an HTTP probe.
  • Load Balancer puede probar HTTP o TCP.Load Balancer can test either HTTP or TCP. Por lo general, si una máquina virtual ejecuta un servidor HTTP, use un sondeo HTTP.Generally, if a VM runs an HTTP server, use an HTTP probe. De lo contrario, use TCP.Otherwise, use TCP.

Si un sondeo no puede acceder a una instancia dentro de un período de tiempo de espera, la puerta de enlace o el equilibrador de carga deja de enviar tráfico a esa máquina virtual.If a probe can't reach an instance within a timeout period, the gateway or load balancer stops sending traffic to that VM. El sondeo continúa comprobando y devolverá la máquina virtual al grupo de back-end si la máquina virtual vuelve a estar disponible.The probe continues to check and will return the VM to the back-end pool if the VM becomes available again.

Los sondeos HTTP envían una solicitud HTTP GET a una ruta de acceso especificada y escuchan una respuesta HTTP 200.HTTP probes send an HTTP GET request to a specified path and listen for an HTTP 200 response. Puede ser la ruta de acceso raíz ("/") o un punto de conexión de supervisión de mantenimiento que implementa alguna lógica personalizada para comprobar el mantenimiento de la aplicación.This path can be the root path ("/"), or a health-monitoring endpoint that implements some custom logic to check the health of the application. El punto de conexión debe permitir solicitudes HTTP anónimas.The endpoint must allow anonymous HTTP requests.

Para obtener más información acerca de los sondeos de estado, consulte:For more information about health probes, see:

Para conocer las consideraciones sobre el diseño de un punto de conexión de sondeo de estado, consulte patrón de supervisión de puntos de conexiónFor considerations about designing a health probe endpoint, see Health Endpoint Monitoring pattern.

Consideraciones de seguridadSecurity considerations

Las redes virtuales son un límite de aislamiento del tráfico de Azure.Virtual networks are a traffic isolation boundary in Azure. Las máquinas virtuales de una red virtual no se pueden comunicar directamente con las de otra.VMs in one VNet can't communicate directly with VMs in a different VNet. Las máquinas virtuales dentro de la misma red virtual pueden comunicarse, a menos que cree grupos de seguridad de red (NSG) para restringir el tráfico.VMs within the same VNet can communicate, unless you create network security groups (NSGs) to restrict traffic. Para obtener más información, vea servicios en la nube de Microsoft y seguridad de red.For more information, see Microsoft cloud services and network security.

Para el tráfico entrante de Internet, las reglas del equilibrador de carga definen qué tráfico puede alcanzar el back-end.For incoming Internet traffic, the load balancer rules define which traffic can reach the back end. Sin embargo, las reglas del equilibrador de carga no son compatibles con las listas seguras de IP, por lo que si desea agregar determinadas direcciones IP públicas a una lista segura, agregue un NSG a la subred.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. Considere la posibilidad de agregar una aplicación virtual de red (NVA) para crear una red perimetral entre la red de Internet y la red virtual de Azure.Consider adding a network virtual appliance (NVA) to create a DMZ between the Internet and the Azure virtual network. NVA es un término genérico para una aplicación virtual que puede realizar tareas relacionadas con la red, como firewall, inspección de paquetes, auditoría y enrutamiento personalizado.NVA is a generic term for a virtual appliance that can perform network-related tasks, such as firewall, packet inspection, auditing, and custom routing. Para obtener más información, consulte implementación de una red perimetral entre Azure e Internet.For more information, see Implementing a DMZ between Azure and the Internet.

Cifrado.Encryption. Cifre la información confidencial en reposo y use Azure Key Vault para administrar las claves de cifrado de base de datos.Encrypt sensitive data at rest and use Azure Key Vault to manage the database encryption keys. Key Vault puede almacenar las claves de cifrado en módulos de seguridad de hardware (HSM).Key Vault can store encryption keys in hardware security modules (HSMs). También se recomienda almacenar los secretos de aplicación como, por ejemplo, las cadenas de conexión de base de datos, en Key Vault.It's also recommended to store application secrets, such as database connection strings, in Key Vault.

DDoS Protection.DDoS protection. De forma predeterminada, la plataforma Azure proporciona protección básica contra DDoS.The Azure platform provides basic DDoS protection by default. El objetivo de dicha es proteger la infraestructura de Azure en su conjunto.This basic protection is targeted at protecting the Azure infrastructure as a whole. Aunque la protección de DDoS básica está habilitada automáticamente, se recomienda usar DDoS Protection estándar.Although basic DDoS protection is automatically enabled, we recommend using DDoS Protection Standard. Para detectar las amenazas, la protección estándar usa un ajuste que se puede adaptar en función de los patrones de tráfico de red de la aplicación,Standard protection uses adaptive tuning, based on your application's network traffic patterns, to detect threats. lo que le permite aplicar mitigaciones frente a ataques de denegación de servicio distribuido que podrían pasar desapercibidas para las directivas de DDoS para toda la infraestructura.This allows it to apply mitigations against DDoS attacks that might go unnoticed by the infrastructure-wide DDoS policies. La protección estándar también proporciona alertas, telemetría y análisis a través de Azure Monitor.Standard protection also provides alerting, telemetry, and analytics through Azure Monitor. Para más información, consulte [Azure DDoS Protection: Procedimientos recomendados y arquitecturas de referencia @ no__t-0.For more information, see Azure DDoS Protection: Best practices and reference architectures.

Implementación de la soluciónDeploy the solution

Hay disponible una implementación de esta arquitectura de referencia en GitHub.A deployment for this reference architecture is available on GitHub.

Si especifica una región que admite zonas de disponibilidad, las máquinas virtuales se implementan en zonas de disponibilidad.If you specify a region that supports availability zones, the VMs are deployed into availability zones. De lo contrario, las máquinas virtuales se implementan en conjuntos de disponibilidad.Otherwise, the VMs are deployed into availability sets. Para obtener una lista de las regiones que admiten zonas de disponibilidad, consulte compatibilidad de servicios por región.For a list of regions that support availability zones, see Services support by region.

Requisitos previosPrerequisites

  1. Clone, bifurque o descargue el archivo zip del repositorio de GitHub de arquitecturas de referencia.Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Instale la CLI de Azure 2.0.Install Azure CLI 2.0.

  3. Instale Node y NPM.Install Node and NPM

  4. Instale el paquete de npm de bloques de creación de Azure.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  5. Desde un símbolo del sistema, un símbolo del sistema de Bash o un símbolo del sistema de PowerShell, inicie sesión en su cuenta de Azure como se indica a continuación:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Implementación de la solución con AZBBDeploy the solution using azbb

Para implementar las máquinas virtuales de Linux en una arquitectura de referencia de la aplicación de N niveles, siga estos pasos:To deploy the Linux VMs for an N-tier application reference architecture, follow these steps:

  1. Navegue hasta la carpeta virtual-machines\n-tier-linux del repositorio que clonó en el paso 1 de los requisitos previos anteriores.Navigate to the virtual-machines\n-tier-linux folder for the repository you cloned in step 1 of the prerequisites above.

  2. El archivo de parámetros especifica un nombre de usuario administrador y una contraseña predeterminados para cada máquina virtual de la implementación.The parameter file specifies a default administrator user name and password for each VM in the deployment. Cámbielos antes de implementar la arquitectura de referencia.Change these before you deploy the reference architecture. Abra el archivo n-tier-linux.json y reemplace los campos adminUsername y adminPassword con la nueva configuración.Open the n-tier-linux.json file and replace each adminUsername and adminPassword field with your new settings. Guarde el archivo.Save the file.

  3. Implemente la arquitectura de referencia mediante la herramienta azbb como se muestra a continuación.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
    

Pasos siguientesNext steps