Web site do WordPress altamente dimensionável e seguraHighly scalable and secure WordPress website

Neste cenário de exemplo se aplica a empresas que precisam de uma instalação altamente escalável e segura do WordPress.This example scenario is applicable to companies that need a highly scalable and secure installation of WordPress. Este cenário se baseia numa implementação que foi utilizada para uma convenção de grande e conseguiu com êxito Dimensionar para satisfazer o tráfego de pico que impulsionavam as sessões para o site.This scenario is based on a deployment that was used for a large convention and was successfully able to scale to meet the spike traffic that sessions drove to the site.

Casos de utilização relevantesRelevant use cases

Considere este cenário para os seguintes casos de utilização:Consider this scenario for the following use cases:

  • Suporte de dados eventos que fazem com que o tráfego surge.Media events that cause traffic surges.
  • Blogs que utilizam o WordPress como seu sistema de gerenciamento de conteúdo.Blogs that use WordPress as their content management system.
  • Sites de empresa ou de comércio eletrônico que utilizam o WordPress.Business or e-commerce websites that use WordPress.
  • Sites da Web criados com outros sistemas de gerenciamento de conteúdo.Web sites built using other content management systems.

ArquiteturaArchitecture

Descrição geral da arquitetura dos componentes do Azure envolvidos numa implantação de WordPress escalável e seguraArchitecture overview of the Azure components involved in a scalable and secure WordPress deployment

Este cenário aborda uma instalação de escalável e segura do WordPress que utiliza servidores web de Ubuntu e MariaDB.This scenario covers a scalable and secure installation of WordPress that uses Ubuntu web servers and MariaDB. Existem dois fluxos de dados distintos neste cenário, a primeira é que os utilizadores acedem ao site:There are two distinct data flows in this scenario the first is users access the website:

  1. Os utilizadores acedem ao site de front-end através de uma CDN.Users access the front-end website through a CDN.
  2. A CDN utiliza um balanceador de carga do Azure como a origem e obtém todos os dados que não não armazenado em cache a partir daí.The CDN uses an Azure load balancer as the origin, and pulls any data that isn't cached from there.
  3. O Balanceador de carga do Azure distribui pedidos para os conjuntos de dimensionamento de máquina virtual de servidores web.The Azure load balancer distributes requests to the virtual machine scale sets of web servers.
  4. A aplicação WordPress obtém todas as informações dinâmicas fora de clusters de Maria DB, todo o conteúdo estático está alojado nos ficheiros do Azure.The WordPress application pulls any dynamic information out of the Maria DB clusters, all static content is hosted in Azure Files.
  5. São armazenadas as chaves SSL do Azure Key Vault.SSL keys are stored Azure Key Vault.

O fluxo de trabalho do segundo é a forma como os autores de contribuir com conteúdo novo:The second workflow is how authors contribute new content:

  1. Os autores estabeleçam a ligação segura para o gateway VPN público.Authors connect securely to the public VPN gateway.
  2. Informações de autenticação da VPN são armazenadas no Azure Active Directory.VPN authentication information is stored in Azure Active Directory.
  3. Em seguida, é estabelecida uma ligação para as caixas de atalhos do administrador.A connection is then established to the Admin jump boxes.
  4. Da caixa de ligação de administrador, o autor, em seguida, é possível estabelecer ligação com o Balanceador de carga do Azure para o cluster de criação.From the admin jump box, the author is then able to connect to the Azure load balancer for the authoring cluster.
  5. O Azure load balancer distribui o tráfego para os conjuntos de dimensionamento de máquina virtual de servidores web com acesso de gravação para o cluster Maria DB.The Azure load balancer distributes traffic to the virtual machine scale sets of web servers that have write access to the Maria DB cluster.
  6. Novo conteúdo estático é carregado para os ficheiros do Azure e o conteúdo dinâmico é escrito no cluster Maria DB.New static content is uploaded to Azure files and dynamic content is written into the Maria DB cluster.
  7. Estas alterações, em seguida, são replicadas para a região alternativa por meio de rsync ou mestre/subordinadom de replicação.These changes are then replicated to the alternate region via rsync or master/slave replication.

ComponentesComponents

  • Rede de entrega de conteúdos do Azure (CDN) são redes distribuídas de servidores que proporciona com eficiência o conteúdo da web aos utilizadores.Azure Content Delivery Network (CDN) is a distributed network of servers that efficiently delivers web content to users. As CDNs minimizar a latência ao armazenar o conteúdo em cache em servidores edge em localizações de pontos de presença próximo aos utilizadores finais.CDNs minimize latency by storing cached content on edge servers in point-of-presence locations near to end users.
  • Redes virtuais permitem que os recursos, tais como VMs para comunicar de forma segura com uns aos outros, Internet e redes no local.Virtual networks allow resources such as VMs to securely communicate with each other, the Internet, and on-premises networks. Redes virtuais fornecem isolamento e segmentação, filtrar e encaminhar o tráfego e permitem a ligação entre locais.Virtual networks provide isolation and segmentation, filter and route traffic, and allow connection between locations. As duas redes estão ligadas através de Vnet peering.The two networks are connected via Vnet peering.
  • Grupos de segurança de rede contêm uma lista de regras de segurança que permitem ou negam o tráfego de rede de entrada ou saída com base na origem ou endereço IP de destino, portas e protocolos.Network security groups contain a list of security rules that allow or deny inbound or outbound network traffic based on source or destination IP address, port, and protocol. As redes virtuais neste cenário são protegidas com regras de grupo de segurança de rede que restringem o fluxo de tráfego entre os componentes da aplicação.The virtual networks in this scenario are secured with network security group rules that restrict the flow of traffic between the application components.
  • Balanceadores de carga distribuir o tráfego de entrada, de acordo com as regras e sondas de estado de funcionamento.Load balancers distribute inbound traffic according to rules and health probes. Um balanceador de carga proporciona baixa latência e alto débito e aumenta até milhões de fluxos para todas as aplicações TCP e UDP.A load balancer provides low latency and high throughput, and scales up to millions of flows for all TCP and UDP applications. Um balanceador de carga é utilizado neste cenário para distribuir o tráfego da rede de entrega de conteúdos para os servidores web front-end.A load balancer is used in this scenario to distribute traffic from the content deliver network to the front-end web servers.
  • [Os conjuntos de dimensionamento de máquinas virtuais] docs-vmss permitem-lhe criar e gerir um grupo de VMs idênticas com balanceamento de carga.Virtual machine scale sets let you create and manage a group of identical load-balanced VMs. O número de instâncias de VM pode aumentar ou diminuir automaticamente como resposta à procura ou a uma agenda definida.The number of VM instances can automatically increase or decrease in response to demand or a defined schedule. Dois conjuntos de dimensionamento de máquinas virtuais separado são utilizados neste cenário: um para os web-servidores front-end que serve conteúdo, e um para os servidores Web front-end utilizado para criar novo conteúdo.Two separate virtual machine scale sets are used in this scenario - one for the front-end web-servers serving content, and one for the front-end webservers used to author new content.
  • Os ficheiros do Azure fornece uma partilha de ficheiros completamente geridas na cloud que aloja a todo o conteúdo de WordPress neste cenário, para que todas as VMs tenham acesso aos dados.Azure Files provides a fully-managed file share in the cloud that hosts all of the WordPress content in this scenario, so that all of the VMs have access to the data.
  • O Azure Key Vault é utilizado para armazenar e controlar rigidamente acesso às palavras-passe, certificados e chaves.Azure Key Vault is used to store and tightly control access to passwords, certificates, and keys.
  • Azure Active Directory (Azure AD) é um multi-inquilino, com base na cloud diretório e identidade do serviço de gestão.Azure Active Directory (Azure AD) is a multi-tenant, cloud-based directory and identity management service. Neste cenário, o Azure AD fornece serviços de autenticação para o Web site e os túneis VPN.In this scenario, Azure AD provides authentication services for the website and the VPN tunnels.

AlternativasAlternatives

ConsideraçõesConsiderations

DisponibilidadeAvailability

As instâncias VM neste cenário são implementadas em várias regiões, com os dados replicados entre os dois via RSYNC para o conteúdo do WordPress e replicação de principal subordinado para os clusters de MariaDB.The VM instances in this scenario are deployed across multiple regions, with the data replicated between the two via RSYNC for the WordPress content and master slave replication for the MariaDB clusters.

Para outros tópicos de disponibilidade, consulte a [lista de verificação de disponibilidade] availability no Centro de arquitetura do Azure.For other availability topics, see the availability checklist in the Azure Architecture Center.

EscalabilidadeScalability

Este cenário utiliza conjuntos de dimensionamento de máquina virtual para os dois clusters de servidor web front-end em cada região.This scenario uses virtual machine scale sets for the two front-end web server clusters in each region. Com conjuntos de dimensionamento, o número de instâncias VM que executam a camada de aplicativos de front-end pode dimensionar automaticamente em resposta a procura dos clientes, ou com base numa agenda definida.With scale sets, the number of VM instances that run the front-end application tier can automatically scale in response to customer demand, or based on a defined schedule. Para obter mais informações, consulte descrição geral do dimensionamento automático com conjuntos de dimensionamento de máquinas virtuais.For more information, see Overview of autoscale with virtual machine scale sets.

O back-end é um cluster MariaDB num conjunto de disponibilidade.The back end is a MariaDB cluster in an availability set. Para obter mais informações, consulte a tutorial do cluster MariaDB.For more information, see the MariaDB cluster tutorial.

Para outros tópicos de escalabilidade, consulte a [lista de verificação de escalabilidade] scalability no Centro de arquitetura do Azure.For other scalability topics, see the scalability checklist in the Azure Architecture Center.

SegurançaSecurity

A rede virtual de tráfego para a camada de aplicação de front-end e protegido por grupos de segurança de rede.All the virtual network traffic into the front-end application tier and protected by network security groups. Regras de limitam o fluxo de tráfego para que apenas as instâncias de VM de escalão front-end de aplicação podem aceder a camada de banco de dados back-end.Rules limit the flow of traffic so that only the front-end application tier VM instances can access the back-end database tier. Não existe tráfego de Internet de saída é permitido a partir da camada de base de dados.No outbound Internet traffic is allowed from the database tier. Para reduzir a superfície de ataque, nenhuma porta de gestão remota direto está aberta.To reduce the attack footprint, no direct remote management ports are open. Para obter mais informações, consulte grupos de segurança de rede do Azure.For more information, see Azure network security groups.

Para obter orientações gerais na criação de cenários de seguros, consulte a documentação de segurança do Azure.For general guidance on designing secure scenarios, see the Azure Security Documentation.

ResiliênciaResiliency

Em combinação com o uso de várias regiões, replicação de dados e conjuntos de dimensionamento de máquina virtual, este cenário utiliza balanceadores de carga do Azure.In combination with the use of multiple regions, data replication and virtual machine scale sets, this scenario uses Azure load balancers. Esses componentes de rede distribuem o tráfego para as instâncias VM ligadas e incluem as sondas de estado de funcionamento que certifique-se de que o tráfego é apenas as VMs distribuídas para o bom estado de funcionamento.These networking components distribute traffic to the connected VM instances, and include health probes that ensure traffic is only distributed to healthy VMs. Todos estes componentes de rede são apoiados por meio de uma CDN.All of these networking components are fronted via a CDN. Isso torna a recursos de rede e a aplicação resiliente para problemas que caso contrário, seriam perturbar o tráfego e afetar o acesso de utilizador final.This makes the networking resources and application resilient to issues that would otherwise disrupt traffic and impact end-user access.

Para obter orientações gerais na criação de cenários resilientes, consulte estruturar aplicações resilientes para o Azure.For general guidance on designing resilient scenarios, see Designing resilient applications for Azure.

PreçosPricing

Para explorar o custo de executar este cenário, todos os serviços são previamente configurados na Calculadora de custos.To explore the cost of running this scenario, all of the services are pre-configured in the cost calculator. Para ver como o preço seria alterado para seu caso de uso específico, altere as variáveis apropriadas de acordo com seu tráfego esperado.To see how the pricing would change for your particular use case, change the appropriate variables to match your expected traffic.

Fornecemos uma pré-configurados [perfil de custos] pricing com base no diagrama de arquitetura fornecido acima.We have provided a pre-configured cost profile based on the architecture diagram provided above. Para configurar a Calculadora de preços para o seu caso de utilização, existem duas coisas principais a considerar:To configure the pricing calculator for your use case, there are a couple main things to consider:

  • Como grande parte do tráfego está esperando em termos de GB/mês?How much traffic are you expecting in terms of GB/month? A quantidade de tráfego terão o maior impacto sobre o custo, dado que irá afetar o número de VMs que são necessários para apresentar os dados no conjunto de dimensionamento de máquina virtual.The amount of traffic will have the biggest impact on your cost, as it will impact the number of VMs that are required to surface the data in the virtual machine scale set. Além disso, será diretamente correlacionar com a quantidade de dados que são exibidas por meio da CDN.Additionally, it will directly correlate with the amount of data that is surfaced via the CDN.
  • A quantidade de dados novo vai escrever ao seu Web site?How much new data are you going to be writing to your website? Novos dados escritos para o seu Web site está relacionada com a quantidade de dados é espelhado em todas as regiões.New data written to your website correlates with how much data is mirrored across the regions.
  • Quanto de seu conteúdo é dinâmico?How much of your content is dynamic? Quanto é estático?How much is static? A variação em torno da quantidade de dados tem de ser obtido a partir da camada de base de dados em relação a como muito dinâmicas e estáticas influências conteúdas serão colocadas em cache no CDN.The variance around dynamic and static content influences how much data has to be retrieved from the database tier versus how much will be cached in the CDN.