Usar o Azure Front Door com Blobs de Armazenamento do Microsoft Azure
O Azure Front Door aprimora a entrega de conteúdo estático de blobs do Armazenamento do Microsoft Azure, fornecendo uma arquitetura segura e escalonável. Essa configuração é ideal para vários casos de uso, como hospedagem de site 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
O fluxo de dados neste cenário ocorre da seguinte forma:
- 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 PoP (ponto de presença) do Front Door próximo.
- O WAF (firewall do aplicativo Web) do Azure Front Door examina a solicitação. Se o WAF determinar que a solicitação é muito arriscada, bloqueia a solicitação e retorna uma resposta de erro HTTP 403.
- Se o cache do PoP do Front Door 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 Link Privado se conecta com segurança à conta de armazenamento.
- A conta de armazenamento envia uma resposta ao PoP do Front Door.
- O PoP armazena a resposta em seu cache para solicitações futuras.
- O PoP retorna a resposta ao cliente.
- Todas as solicitações diretas para a conta de armazenamento por meio da Internet são bloqueadas pelo firewall do Armazenamento do Microsoft Azure.
Componentes
- Armazenamento do Microsoft Azure: armazena conteúdo estático em blobs.
- Azure Front Door: recebe conexões de entrada de clientes, verifica-as com o WAF, encaminha com segurança as solicitações para a conta de armazenamento e armazena em cache as respostas.
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 aplicará em grande parte. No entanto, você precisa garantir que o tráfego de entrada para o servidor de origem seja verificado para passar pelo Front Door. Se o provedor de armazenamento não der suporte ao Link Privado, considere o uso de uma abordagem alternativa, como adicionar à lista de permissões da marca de serviço do Front Door e inspecionar o cabeçalho X-Azure-FDID
.
Detalhes do cenário
A entrega de conteúdo estático é benéfica em muitas situações, como:
- Fornecer imagens, arquivos CSS e arquivos JavaScript para um aplicativo Web.
- Servindo arquivos e documentos, como arquivos PDF ou JSON.
- Fornecendo vídeo sem transmissão.
O conteúdo estático normalmente não muda com frequência e pode ser grande em tamanho, tornando-o ideal para o cache melhorar o desempenho e reduzir os custos.
Em cenários complexos, um único perfil do Front Door pode fornecer 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 solicitações de entrada para a origem apropriada.
Considerações
Desempenho e escalabilidade
O Azure Front Door atua como uma CDN (rede de distribuição de conteúdo), armazenando conteúdo em cache em seus PoPs distribuídos globalmente. Quando uma resposta armazenada em cache está disponível, o Azure Front Door o atende rapidamente, melhorando o desempenho e reduzindo 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 Azure Front Door agilizarão a entrega de conteúdo da 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 aos blobs, considere o uso de SAS (assinaturas de acesso compartilhado). Certifique-se de habilitar o comportamento Usar Cadeia de Caracteres de Consulta para impedir que o Azure Front Door atendia solicitações a clientes não autenticados. Essa abordagem pode limitar a eficácia do cache, pois cada solicitação com uma SAS diferente deve ser enviada para a origem.
Segurança de origem
O Azure Front Door conecta-se com segurança à conta de Armazenamento do Microsoft Azure usando o Link Privado. A conta de armazenamento é 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 contra exposição direta à Internet. Essa configuração requer a camada premium do Azure Front Door. Se estiver usando a camada padrão, a conta de armazenamento deverá ser acessível publicamente. Você pode proteger solicitações com uma SAS (assinatura de acesso compartilhado) e fazer com que os clientes incluam a SAS em suas solicitações ou usem o mecanismo de regras do Azure Front Door 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 do Aplicativo Web
A regra gerenciada do WAF do Azure Front Door define solicitações de verificação para ameaças de segurança comuns e emergentes. Recomendamos usar o WAF e as 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 individuais do Azure e PoPs.
O uso do 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 armazenadas em cache até que seu aplicativo se recupere.
Para melhorar ainda mais a resiliência, considere a redundância de sua conta de armazenamento. Para mais informações, confira Redundância do Armazenamento do Microsoft Azure. Como alternativa, implante várias contas de armazenamento e configure várias origens no grupo de origem do Azure Front Door. 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 entrega de conteúdo estático. Os PoPs do Azure Front Door armazenam cópias de respostas e podem fornecer essas respostas armazenadas em cache para solicitações subsequentes, reduzindo a carga de solicitação 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 Link Privado nesta solução, implante a camada premium do Azure Front Door. A camada padrão poderá ser usada se você não precisar bloquear o tráfego direto para sua conta de armazenamento. Para obter mais informações, confira Segurança da origem.
Implantar este cenário
Para implantar esse cenário usando modelos Bicep ou JSON ARM, confira este iníciorápido.
Para implantar esse cenário usando o Terraform, confira este início rápido.
Próximas etapas
Saiba como Criar um perfil do Azure Front Door.