Partilhar via


Usar o Azure Front Door com blobs de Armazenamento do Azure

O Azure Front Door acelera a entrega de conteúdo estático de blobs de Armazenamento do Azure e permite uma arquitetura segura e escalável. A entrega de conteúdo estático é útil para muitos casos de uso diferentes, incluindo hospedagem de sites e entrega de arquivos.

Arquitetura

Diagram of Azure Front Door with a blob storage origin.

Nessa arquitetura de referência, você implanta uma conta de armazenamento e um perfil de porta frontal com uma única origem.

Fluxo de dados

Os dados fluem através do cenário da seguinte maneira:

  1. O cliente estabelece uma conexão segura com o Azure Front Door usando um nome de domínio personalizado e um certificado TLS fornecido pelo Front Door. A conexão do cliente termina em um ponto de presença (PoP) da Front Door próximo.
  2. O WAF (Front Door Web Application Firewall) verifica a solicitação. Se o WAF determinar que o nível de risco da solicitação é muito alto, ele bloqueará a solicitação e o Front Door retornará uma resposta de erro HTTP 403.
  3. Se o cache do Front Door PoP contiver uma resposta válida para essa solicitação, o Front Door retornará a resposta imediatamente.
  4. Caso contrário, o PoP envia a solicitação para a conta de armazenamento de origem, onde quer que ela esteja no mundo, usando a rede de backbone da Microsoft. O PoP se conecta à conta de armazenamento usando uma conexão TCP separada e de longa duração. Nesse cenário, Private Link é usado para se conectar com segurança à conta de armazenamento.
  5. A conta de armazenamento envia uma resposta para o Front Door PoP.
  6. Quando o PoP recebe a resposta, ele a armazena em seu cache para solicitações subsequentes.
  7. O PoP retorna a resposta para o cliente.
  8. Todas as solicitações diretamente à conta de armazenamento pela Internet são bloqueadas pelo firewall do Armazenamento do Azure.

Componentes

  • O Armazenamento do Azure armazena conteúdo estático em blobs.
  • O Azure Front Door recebe conexões de entrada de clientes, verifica-as com o WAF, encaminha a solicitação com segurança para a conta de armazenamento e armazena respostas em cache.

Alternativas

Se você tiver arquivos estáticos em outro provedor de armazenamento em nuvem ou se hospedar conteúdo estático na infraestrutura que possui e mantém, grande parte desse cenário continua a ser aplicável. No entanto, você precisa considerar como você protege o tráfego de entrada para o seu servidor de origem, para verificar se ele vem através da Front Door. Se o seu provedor de armazenamento não oferecer suporte ao Private Link, considere usar uma abordagem alternativa, como permitir a listagem da tag de serviço Front Door e inspecionar o X-Azure-FDID cabeçalho.

Detalhes do cenário

A entrega de conteúdo estático é útil em muitas situações, como estes exemplos:

  • Fornecimento de imagens, arquivos CSS e arquivos JavaScript para um aplicativo Web.
  • Servindo arquivos e documentos, como arquivos PDF ou arquivos JSON.
  • Fornecimento de vídeo sem streaming.

Por sua natureza, o conteúdo estático não muda com frequência. Os arquivos estáticos também podem ser grandes em tamanho. Essas características o tornam um bom candidato a ser armazenado em cache, o que melhora o desempenho e reduz o custo para atender às solicitações.

Em um cenário complexo, um único perfil de porta frontal pode servir conteúdo estático e conteúdo dinâmico. Você pode usar grupos de origem separados para cada tipo de origem e usar os recursos de roteamento do Front Door para rotear solicitações de entrada para a origem correta.

Considerações

Escalabilidade e desempenho

Como uma rede de distribuição de conteúdo (CDN), a Front Door armazena em cache o conteúdo em sua rede distribuída globalmente de PoPs. Quando uma cópia em cache de uma resposta está disponível em um PoP, o Front Door pode responder rapidamente com a resposta em cache. O retorno de conteúdo do cache melhora o desempenho da solução e reduz a carga na origem. Se o PoP não tiver uma resposta em cache válida, os recursos de aceleração de tráfego do Front Door reduzem o tempo de veiculação do conteúdo desde a origem.

Segurança

Autenticação

O Front Door foi projetado para ser voltado para a Internet, e esse cenário é otimizado para blobs disponíveis publicamente. Se você precisar autenticar o acesso a blobs, considere o uso de assinaturas de acesso compartilhado e certifique-se de habilitar o comportamento de cadeia de caracteres de consulta Usar cadeia de caracteres de consulta para evitar que a Front Door atenda solicitações a clientes não autenticados. No entanto, essa abordagem pode não fazer uso efetivo do cache da Porta da Frente, porque cada solicitação com uma assinatura de acesso compartilhado diferente deve ser enviada para a origem separadamente.

Segurança de origem

O Front Door se conecta com segurança à conta de Armazenamento do Azure usando o Private Link. A conta de armazenamento está configurada para negar acesso direto da Internet e para permitir apenas solicitações por meio da conexão de ponto final privada usada pelo Front Door. Essa configuração garante que cada solicitação seja processada pelo Front Door e evita expor o conteúdo da sua conta de armazenamento diretamente à internet. No entanto, essa configuração requer a camada premium do Azure Front Door. Se você usar o nível padrão, sua conta de armazenamento deverá estar acessível publicamente. Você pode usar uma assinatura de acesso compartilhado para proteger solicitações à conta de armazenamento e fazer com que o cliente inclua a assinatura em todas as suas solicitações ou usar o mecanismo de regras da Front Door para anexá-la da Front Door.

Nomes de domínio personalizados

O Front Door suporta nomes de domínio personalizados e pode emitir e gerenciar certificados TLS para esses domínios. Usando domínios personalizados, você pode garantir que seus clientes recebam arquivos de um nome de domínio confiável e familiar e que o TLS criptografe todas as conexões com o Front Door. Quando o Front Door gerencia seus certificados TLS, você evita interrupções e problemas de segurança devido a certificados TLS inválidos ou desatualizados.

O Armazenamento do Azure também dá suporte a nomes de domínio personalizados, mas não dá suporte a HTTPS ao usar um domínio personalizado. Front Door é a melhor abordagem para usar um nome de domínio personalizado com uma conta de armazenamento.

Firewall de aplicações Web

A regra gerenciada do WAF Front Door define solicitações de verificação para ameaças de segurança comuns e emergentes. Recomendamos o uso do WAF e regras gerenciadas para aplicativos estáticos e dinâmicos.

Você também pode usar o WAF da porta frontal para executar limitação de taxa e filtragem geográfica, se precisar desses recursos.

Resiliência

O Front Door é um serviço altamente disponível e, devido à sua arquitetura distribuída globalmente, é resiliente a falhas de regiões e PoPs individuais do Azure.

Ao usar o cache da porta frontal, você reduz a carga em sua conta de armazenamento. Além disso, se sua conta de armazenamento não estiver disponível, o Front Door poderá continuar a fornecer respostas em cache até que seu aplicativo se recupere.

Você pode melhorar ainda mais a resiliência da solução geral considerando a resiliência da conta de armazenamento. Para obter mais informações, veja Redundância do Armazenamento do Microsoft Azure. Como alternativa, você pode implantar várias contas de armazenamento e configurar várias origens em seu grupo de origem da Front Door e configurar o failover entre as origens configurando a prioridade de cada origem. Para obter mais informações, consulte Origens e grupos de origem no Azure Front Door.

Otimização de custos

O armazenamento em cache pode ajudar a reduzir o custo de fornecimento de conteúdo estático. Os PoPs da Front Door armazenam cópias das respostas e podem entregar essas respostas em cache para quaisquer solicitações subsequentes. O cache reduz a carga de solicitação na origem. Em soluções baseadas em conteúdo estático de alta escala, especialmente aquelas que fornecem arquivos grandes, o cache pode reduzir consideravelmente os custos de tráfego.

Para usar o Private Link nesta solução, você deve implantar a camada premium do Front Door. Você pode usar a camada padrão se não precisar bloquear o tráfego que vai diretamente para sua conta de armazenamento. Para obter mais informações, consulte Segurança do Origin.

Implementar este cenário

Para implantar esse cenário usando modelos ARM Bicep ou JSON, consulte este início rápido.

Para implantar esse cenário usando o Terraform, consulte este início rápido.

Próximos passos

Saiba como criar um perfil de porta da frente.