Usar o Azure Front Door com Blobs de Armazenamento do Azure
O Azure Front Door aprimora a entrega de conteúdo estático de blobs de Armazenamento do Azure, fornecendo uma arquitetura segura e escalável. Esta configuração é ideal para vários casos de uso, como hospedagem de sites e entrega de arquivos.
Arquitetura
Nessa arquitetura de referência, uma conta de armazenamento e um perfil do Azure Front Door com uma única origem são implantados.
Fluxo de dados
Os dados fluem através do cenário da seguinte maneira:
- 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 termina em um ponto de presença (PoP) da porta da frente próximo.
- O firewall de aplicativo Web (WAF) do Azure Front Door verifica a solicitação. Se o WAF determinar que a solicitação é muito arriscada, ele bloqueará a solicitação e retornará uma resposta de erro HTTP 403.
- Se o cache do Front Door PoP contiver uma resposta válida, o Front Door retornará a resposta imediatamente.
- Caso contrário, o PoP envia a solicitação para a conta de armazenamento de origem usando a rede de backbone da Microsoft, usando uma conexão TCP separada e de longa duração. Nesse cenário, o Private Link se conecta com segurança à conta de armazenamento.
- A conta de armazenamento envia uma resposta para o Front Door PoP.
- O PoP armazena a resposta em seu cache para solicitações futuras.
- O PoP retorna a resposta para o cliente.
- Todas as solicitações diretas para a conta de armazenamento pela Internet são bloqueadas pelo firewall do Armazenamento do Azure.
Componentes
- Armazenamento do Azure: armazena conteúdo estático em blobs.
- Azure Front Door: recebe conexões de entrada de clientes, verifica-as com o WAF, encaminha as solicitações com segurança para a conta de armazenamento e armazena respostas em cache.
Alternativas
Se você armazenar arquivos estáticos com outro provedor de armazenamento em nuvem ou em sua própria infraestrutura, esse cenário ainda se aplica em grande parte. No entanto, você precisa garantir que o tráfego de entrada para o seu servidor de origem seja verificado para entrar pela 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 é benéfica em muitas situações, como:
- Fornecimento de imagens, arquivos CSS e arquivos JavaScript para um aplicativo Web.
- Servindo arquivos e documentos, como arquivos PDF ou JSON.
- Fornecimento de vídeo sem streaming.
O conteúdo estático normalmente não muda com frequência e pode ser grande em tamanho, tornando-o ideal para armazenamento em cache para melhorar o desempenho e reduzir custos.
Em cenários complexos, um único perfil de porta frontal pode servir conteúdo estático e dinâmico. Você pode usar grupos de origem separados para cada tipo de conteúdo e usar os recursos de roteamento para direcionar as solicitações de entrada para a origem apropriada.
Considerações
Escalabilidade e desempenho
O Azure Front Door atua como uma rede de entrega de conteúdo (CDN), armazenando em cache o conteúdo em seus PoPs distribuídos globalmente. Quando uma resposta em cache está disponível, o Azure Front Door atende rapidamente, aprimorando o desempenho e reduzindo a carga na origem. Se o PoP não tiver uma resposta válida em cache, os recursos de aceleração de tráfego do Azure Front Door agilizarão a entrega de conteúdo desde a origem.
Segurança
Autenticação
O Azure Front Door foi projetado para cenários voltados para a Internet e é otimizado para blobs acessíveis publicamente. Para autenticar o acesso a blobs, considere o uso de assinaturas de acesso compartilhado (SAS). Certifique-se de habilitar o comportamento Usar Cadeia de Caracteres de Consulta para impedir que o Azure Front Door atenda solicitações a clientes não autenticados. Essa abordagem pode limitar a eficácia do armazenamento em cache, já que cada solicitação com uma SAS diferente deve ser enviada para a origem.
Segurança de origem
O Azure 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 à Internet, permitindo solicitações somente por meio do ponto de extremidade privado usado pelo Azure Front Door. Essa configuração garante que todas as solicitações sejam processadas pelo Azure Front Door, protegendo sua conta de armazenamento da exposição direta à Internet. Essa configuração requer a camada premium do Azure Front Door. Se estiver usando o nível padrão, a conta de armazenamento deve ser acessível publicamente. Você pode proteger solicitações com uma assinatura de acesso compartilhado (SAS) e fazer com que os clientes incluam a SAS em suas solicitações ou usar o mecanismo de regras da Porta da Frente do Azure para anexá-la.
Nomes de domínio personalizados
O Azure Front Door dá suporte a nomes de domínio personalizados e pode gerenciar certificados TLS para esses domínios. O uso de domínios personalizados garante que os clientes recebam arquivos de uma fonte confiável, com o TLS criptografando todas as conexões com o Azure Front Door. O gerenciamento de certificados TLS do Azure Front Door ajuda a evitar interrupções e problemas de segurança de certificados inválidos ou desatualizados.
Firewall de Aplicações Web
A regra gerenciada do Azure Front Door WAF 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.
Além disso, o WAF do Azure Front Door pode executar limitação de taxa e filtragem geográfica, se necessário.
Resiliência
O Azure Front Door é um serviço altamente disponível com uma arquitetura distribuída globalmente, tornando-o resiliente a falhas em regiões e PoPs individuais do Azure.
Usar o cache do Azure Front Door reduz a carga em sua conta de armazenamento. Se sua conta de armazenamento ficar indisponível, o Azure Front Door poderá continuar a fornecer respostas em cache até que seu aplicativo se recupere.
Para melhorar ainda mais a resiliência, considere a redundância da sua conta de armazenamento. Para obter mais informações, veja Redundância do Armazenamento do Microsoft Azure. Como alternativa, implante várias contas de armazenamento e configure várias origens em seu grupo de origem da Porta da Frente do Azure. Configure o failover entre 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 cache ajuda a reduzir o custo de fornecimento de conteúdo estático. Os PoPs do Azure Front Door armazenam cópias das respostas e podem entregar essas respostas em cache para solicitações subsequentes, reduzindo a carga de solicitações na origem. Em soluções de conteúdo estático de alta escala, especialmente aquelas que fornecem arquivos grandes, o cache pode reduzir significativamente os custos de tráfego.
Para usar o Private Link nesta solução, implante a camada premium do Azure Front Door. O nível padrão pode ser usado se você não precisar bloquear o tráfego direto para sua conta de armazenamento. Para obter mais informações, consulte Segurança do Origin.
Implantar 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.
Passos Seguintes
Saiba como criar um perfil do Azure Front Door.