Usar o Amazon CloudFront Origin Shield - Amazon CloudFront

Usar o Amazon CloudFront Origin Shield

O Amazon CloudFront Origin Shield é uma camada adicional na infraestrutura de armazenamento em cache do CloudFront que ajuda a minimizar a carga da origem, melhorar a disponibilidade e reduzir os custos operacionais. O Amazon CloudFront Origin Shield fornece os seguintes benefícios:

Melhor proporção de acertos de cache

O Origin Shield pode ajudar a melhorar a taxa de acertos do cache da distribuição do CloudFront pois fornece uma camada adicional de cache à frente da origem. Quando você usa o Origin Shield, todas as solicitações de todas as camadas de cache do CloudFront para a origem passam pelo Origin Shield, aumentando a probabilidade de um acerto de cache. O CloudFront pode recuperar cada objeto com uma única solicitação do Origin Shield de origem para a origem, e todas as outras camadas do cache do CloudFront (pontos de presença e caches de borda regionais) podem recuperar o objeto do Origin Shield.

Carga de origem reduzida

O Origin Shield pode reduzir ainda mais o número de solicitações simultâneas enviadas à sua origem para o mesmo objeto. As solicitações de um conteúdo que não está no cache do Origin Shield são consolidadas com outras solicitações para o mesmo objeto, resultando em apenas uma solicitação em direção à sua origem. Lidar com menos solicitações na sua origem pode preservar a disponibilidade dela durante picos de carga ou picos de tráfego inesperados e pode reduzir os custos de itens, como empacotamento just-in-time, transformações de imagens e DTO (transferência de dados).

Melhor performance de rede

Ao habilitar o Origin Shield na região da AWS que tem a menor latência para sua origem, é possível obter uma melhor performance de rede. Para origens em uma região da AWS, o tráfego de rede do CloudFront permanece na rede do CloudFront de alta taxa de transferência até sua origem. Para origens fora da AWS, o tráfego de rede do CloudFront permanece na rede do CloudFront até chegar ao Origin Shield, que tem uma conexão de baixa latência com a sua origem.

Você incorrerá cobranças adicionais por usar o Origin Shield. Para obter mais informações, consulte Definição de preço do CloudFront.

Casos de uso do Origin Shield

O CloudFront Origin Shield pode ser vantajoso para muitos casos de uso, incluindo os seguintes:

  • Visualizadores espalhados em diferentes regiões geográficas

  • Origens que fornecem empacotamento just-in-time para streaming ao vivo ou processamento instantâneo de imagens

  • Origens no local com restrições de capacidade ou largura de banda

  • Cargas de trabalho que usam várias redes de entrega de conteúdo (CDNs)

O Origin Shield pode não ser ideal em outros casos, como conteúdo dinâmico encaminhado por proxy para a origem, conteúdo com pouca capacidade de cache ou conteúdo que é solicitado com pouca frequência.

As seções a seguir explicam os benefícios do Origin Shield para os seguintes casos de uso.

Visualizadores em diferentes regiões geográficas

Com o Amazon CloudFront, você obtém uma carga reduzida que é intrínseca à origem, pois as solicitações que o CloudFront pode atender do cache não vão para a origem. Além da rede global de pontos de presença do CloudFront, caches de borda regionais servem como uma camada intermediária de armazenamento em cache para fornecer acertos de cache e consolidar solicitações de origem para visualizadores em regiões geográficas próximas. As solicitações do visualizador são roteadas primeiro para um ponto de presença próximo do CloudFront, e, se o objeto não estiver armazenado em cache nesse local, a solicitação será enviada para um cache de borda regional.

Quando os visualizadores estão em regiões geográficas diferentes, as solicitações podem ser roteadas por diferentes caches de pontos regionais, e cada um deles pode enviar uma solicitação à sua origem para o mesmo conteúdo. Mas com o Origin Shield, você tem uma camada adicional de armazenamento em cache entre os caches de pontos regionais e sua origem. Todas as solicitações de todos os caches de pontos regionais passam pelo Origin Shield, reduzindo ainda mais a carga na sua origem. Os diagramas a seguir ilustram isso. Nos diagramas a seguir, a origem é AWS Elemental MediaPackage.

Sem o Origin Shield

Sem o Origin Shield, sua origem pode receber solicitações duplicadas para o mesmo conteúdo, conforme mostrado no diagrama a seguir.

Sem o CloudFront Origin Shield, a origem pode receber solicitações duplicadas.

Com o Origin Shield

Usar o Origin Shield pode ajudar a reduzir a carga na sua origem, como mostrado no diagrama a seguir.

Com o CloudFront Origin Shield, a origem pode receber menos solicitações duplicadas.

Várias CDNs

Para veicular eventos de vídeo ao vivo ou conteúdo sob demanda popular, é possível usar várias redes de entrega de conteúdo (CDNs). Usar várias CDNs pode oferecer certas vantagens, mas também significa que sua origem pode receber muitas solicitações duplicadas para o mesmo conteúdo, cada uma proveniente de CDNs diferentes ou locais diferentes dentro da mesma CDN. Essas solicitações redundantes podem afetar negativamente a disponibilidade de sua origem ou causar custos operacionais adicionais para processos como empacotamento just-in-time ou transferência de dados (DTO) para a Internet.

Ao combinar o Origin Shield usando a distribuição do CloudFront como a origem para outras CDNs, é possível obter os seguintes benefícios:

  • Menos solicitações redundantes recebidas na sua origem, o que ajuda a reduzir os efeitos negativos do uso de várias CDNs.

  • Uma chave de cache comum entre CDNs e gerenciamento centralizado para recursos voltados para a origem.

  • Melhor performance de rede. O tráfego de rede de outras CDNs é encerrado em um ponto de presença próximo do CloudFront, o que pode fornecer um acerto do cache local. Se o objeto solicitado não estiver no ponto de presença de cache, a solicitação para a origem permanecerá na rede do CloudFront até chegar ao Origin Shield, o que fornece alta taxa de transferência e baixa latência para a origem. Se o objeto solicitado estiver no cache do Origin Shield, a solicitação para sua origem será totalmente evitada.

Importante

Se estiver interessado em usar o Origin Shield em uma arquitetura de várias CDNs e tiver preços com desconto, entre em contato conosco ou com seu representante de vendas da AWS para obter mais informações. Podem se aplicar cobranças adicionais.

Os diagramas a seguir mostram como essa configuração pode ajudar a minimizar a carga em sua origem quando você fornece eventos de vídeo ao vivo populares com várias CDNs. Nos diagramas a seguir, a origem é AWS Elemental MediaPackage.

Sem o Origin Shield (várias CDNs)

Sem o Origin Shield, sua origem pode receber muitas solicitações duplicadas para o mesmo conteúdo, cada uma proveniente de uma CDN diferente, conforme mostrado no diagrama a seguir.

Gráfico que mostra como uma origem pode receber solicitações duplicadas, cada uma proveniente de uma CDN diferente.

Com o Origin Shield (várias CDNs)

O uso do Origin Shield, com o CloudFront como a origem para as outras CDNs, pode ajudar a reduzir a carga na origem, conforme mostrado no diagrama a seguir.

Gráfico que mostra o CloudFront Origin Shield recebendo menos solicitações duplicadas.

Escolher a região da AWS para o Origin Shield

O Amazon CloudFront oferece o Origin Shield nas regiões da AWS em que o CloudFront tem um cache de borda regional. Ao habilitar o Origin Shield, escolha a região da AWS para o Origin Shield. Recomendamos escolher a região da AWS que tem a menor latência para sua origem. É possível usar o Origin Shield com origens que estão em uma região da AWS e com origens que não estão na AWS.

Para origens em uma região da AWS

Se a sua origem estiver em uma região da AWS, primeiro determine se a origem está em uma região na qual o CloudFront oferece o Origin Shield. O CloudFront oferece o Origin Shield nas seguintes regiões da AWS.

  • US East (Ohio) – us-east-2

  • Leste dos EUA (Norte da Virgínia): us-east-1

  • US West (Oregon) – us-west-2

  • Asia Pacific (Mumbai) – ap-south-1

  • Ásia-Pacífico (Seul) – ap-northeast-2

  • Asia Pacific (Singapore) – ap-southeast-1

  • Ásia-Pacífico (Sydney) – ap-southeast-2

  • Ásia-Pacífico (Tóquio) (ap-northeast-1)

  • Europe (Frankfurt) – eu-central-1

  • Europe (Ireland) – eu-west-1

  • Europe (London) – eu-west-2

  • South America (São Paulo) – sa-east-1

Se a sua origem estiver em uma região da AWS na qual o CloudFront oferece o Origin Shield

Se a origem estiver em uma região da AWS em que o CloudFront oferece o Origin Shield (consulte a lista anterior), habilite o Origin Shield na mesma região que a sua origem.

Se a sua origem não estiver em uma região da AWS na qual o CloudFront oferece o Origin Shield

Se a sua origem não estiver em uma região da AWS em que o CloudFront oferece o Origin Shield, consulte a tabela a seguir para determinar em qual região habilitar o Origin Shield.

Se a sua origem está em...

Habilitar o Origin Shield em ...

US West (N. California) – us-west-1

US West (Oregon) – us-west-2

Africa (Cape Town) – af-south-1

Europe (Ireland) – eu-west-1

Asia Pacific (Hong Kong) – ap-east-1

Asia Pacific (Singapore) – ap-southeast-1

Canada (Central) – ca-central-1

US East (N. Virginia) – us-east-1

Europe (Milan) – eu-south-1

Europe (Frankfurt) – eu-central-1

Europe (Paris) – eu-west-3

Europe (London) – eu-west-2

Europe (Stockholm) – eu-north-1

Europe (London) – eu-west-2

Middle East (Bahrain) – me-south-1

Asia Pacific (Mumbai) – ap-south-1

Para origens fora da AWS

É possível usar o Origin Shield com uma origem no local ou não em uma região da AWS. Nesse caso, habilite o Origin Shield na região da AWS que tem a menor latência de sua origem. Se você não tiver certeza de qual região da AWS tem a menor latência de sua origem, use as sugestões a seguir para ajudá-lo a fazer uma determinação.

  • É possível consultar a tabela anterior para obter uma aproximação de qual região da AWS pode ter a menor latência em relação à sua origem, com base na localização geográfica da sua origem.

  • É possível executar instâncias do Amazon EC2 em algumas regiões da AWS diferentes que estão geograficamente próximas da sua origem e executar alguns testes usando ping para medir as latências de rede típicas entre essas regiões e a sua origem.

Habilitar o Origin Shield

É possível habilitar o Origin Shield para melhorar sua taxa de acertos de cache, reduzir a carga em sua origem e ajudar a melhorar a performance. Para habilitar o Origin Shield, altere as configurações de origem em uma distribuição do CloudFront. O Origin Shield é uma propriedade da origem. Para cada origem em suas distribuições do CloudFront, é possível habilitar separadamente o Origin Shield em qualquer região da AWS que forneça a melhor performance para essa origem.

É possível habilitar o Origin Shield no console do CloudFront com o AWS CloudFormation ou com a API do CloudFront.

Console
Como habilitar o Origin Shield para uma origem existente (console)
  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha a distribuição que tem a origem que você deseja atualizar.

  3. Escolha a guia Origins and Origin Groups (Origens e grupos de origem).

  4. Escolha a origem a ser atualizada e escolha Edit (Editar).

  5. Em Enable Origin Shield (Habilitar o Origin Shield), escolha Yes (Sim).

  6. Para a Origin Shield Region (Região do Origin Shield), escolha a região da AWS em que você deseja habilitar o Origin Shield. Para obter ajuda na escolha de uma região, consulte Escolher a região da AWS para o Origin Shield.

  7. Na parte inferior da página, escolha Yes, Edit (Sim, editar).

Quando seu status de distribuição for Deployed (Implantado), o Origin Shield estará pronto. Isso leva alguns minutos.

Como habilitar o Origin Shield para uma nova origem (console)
  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Para criar a nova origem em uma distribuição existente, faça o seguinte:

    1. Escolha a distribuição em que deseja criar a origem.

    2. Escolha Create Origin (Criar origem) e avance para a etapa 3.

    Para criar a nova origem em uma nova distribuição, faça o seguinte:

    1. Escolha Criar distribuição.

    2. Na seção Web escolha Get Started (Conceitos básicos). Na seção Origin Settings (Configurações de origem), conclua as etapas a seguir, começando com a etapa 3.

  3. Em Enable Origin Shield (Habilitar o escudo de origem), escolha Yes (Sim).

  4. Para a Origin Shield Region (Região do Origin Shield), escolha a região da AWS em que você deseja habilitar o Origin Shield. Para obter ajuda na escolha de uma região, consulte Escolher a região da AWS para o Origin Shield.

    Se você estiver criando uma nova distribuição, continue configurando sua distribuição, usando as outras configurações na página. Para obter mais informações, consulte Referência de configurações da distribuição.

  5. Salve suas alterações escolhendo Create (Criar) (para uma nova origem em uma distribuição existente) ou Create Distribution (Criar distribuição) (para uma nova origem em uma nova distribuição).

Quando seu status de distribuição for Deployed (Implantado), o escudo de origem estará pronto. Isso leva alguns minutos.

AWS CloudFormation

Para habilitar o Origin Shield com o AWS CloudFormation, use a propriedade OriginShield no tipo de propriedade Origin em um recurso AWS::CloudFront::Distribution. É possível adicionar a propriedade OriginShield a um Origin existente ou incluí-la ao criar um novo Origin.

O exemplo a seguir mostra a sintaxe, no formato YAML, para habilitar OriginShield na região Oeste dos EUA (Oregon) (us-west-2). Para obter ajuda na escolha de uma região, consulte Escolher a região da AWS para o Origin Shield. Este exemplo mostra apenas o tipo de propriedade Origin, não o recurso AWS::CloudFront::Distribution inteiro.

Origins: - DomainName: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Id: Example-EMP-3ae97e9482b0d011 OriginShield: Enabled: true OriginShieldRegion: us-west-2 CustomOriginConfig: OriginProtocolPolicy: match-viewer OriginSSLProtocols: TLSv1

Para obter mais informações, consulte AWS::CloudFront::Origem da distribuição na seção de referência de recursos e propriedade do Guia do usuário do AWS CloudFormation.

API

Para habilitar o Origin Shield com a API do CloudFront usando os AWS SDKs ou a AWS Command Line Interface (AWS CLI), use o tipo OriginShield. Especifique OriginShield em uma Origin em uma DistributionConfig. Para obter informações sobre o tipo OriginShield, consulte as seguintes informações na Referência da API do Amazon CloudFront.

A sintaxe específica para usar esses tipos e operações varia com base no cliente SDK, CLI ou API. Para obter mais informações, consulte a documentação de referência do SDK, da CLI ou do cliente.

Estimar custos do Origin Shield

Você acumula cobranças do Origin Shield com base no número de solicitações que vão para o Origin Shield como camada incremental.

Para solicitações dinâmicas (não armazenáveis em cache) encaminhadas por proxy para a origem, o Origin Shield é sempre uma camada incremental. As solicitações dinâmicas usam os métodos HTTP: PUT, POST, PATCH, e DELETE.

As solicitações GET e HEAD com uma configuração de vida útil (TTL) de menos de 3600 segundos são consideradas solicitações dinâmicas. Além disso, as solicitações GET e HEAD que desabilitaram o armazenamento em cache também são consideradas solicitações dinâmicas.

Para estimar suas cobranças pelo Origin Shield para solicitações dinâmicas, use a seguinte fórmula:

Número total de solicitações dinâmicas x Origin Shield por 10.000 solicitações / 10.000

Para solicitações não dinâmicas com métodos HTTP GET, HEAD e OPTIONS, o Origin Shield às vezes é uma camada incremental. Ao habilitar o Origin Shield, escolha a Região da AWS para o Origin Shield. Para solicitações que naturalmente vão para o cache de borda regional na mesma região que o Origin Shield, o Origin Shield não é uma camada incremental. Você não acumula cobranças do Origin Shield para essas solicitações. Para solicitações que vão para um cache de borda regional em uma região diferente do Origin Shield e que, depois, vão para o Origin Shield, o Origin Shield é uma camada incremental. Você acumula cobranças do Origin Shield para essas solicitações.

Para estimar suas cobranças pelo Origin Shield para solicitações que podem ser armazenadas em cache, use a seguinte fórmula:

Número total de solicitações que podem ser armazenadas em cache x (1 - taxa de acertos do cache) x taxa de acertos do cache que acessam o Origin Shield em um cache de borda regional x carga do Origin Shield por 10.000 solicitações / 10.000

Para obter mais informações sobre a cobrança por 10.000 solicitações do Origin Shield, consulte Definição de preço do CloudFront.

Alta disponibilidade do Origin Shield

O Origin Shield utiliza o atributo de caches de borda regional do CloudFront. Cada um desses caches de borda é criado em uma região da AWS usando pelo menos três Zonas de disponibilidade com frotas de instâncias do Amazon EC2 Auto Scaling. As conexões de locais do CloudFront com o Origin Shield também usam rastreamento de erro ativo para cada solicitação, para encaminhar automaticamente a solicitação para um local secundário do Origin Shield se o local primário do Origin Shield não estiver disponível.

Como o Origin Shield interage com outros recursos do CloudFront

As seções a seguir explicam como o Origin Shield interage com outros recursos do CloudFront.

Origin Shield e registro em log do CloudFront

Para ver quando o Origin Shield processou uma solicitação, é necessário habilitar uma das seguintes opções:

Os acertos de cache do Origin Shield são exibidos como OriginShieldHit no campo x-edge-detailed-result-type nos logs do CloudFront. O Origin Shield utiliza os caches de borda do Amazon CloudFront. Se uma solicitação for roteada de um ponto de presença do CloudFront para o cache de borda regional que está agindo como Origin Shield, ela será relatada como um Hit nos logs, não como um OriginShieldHit.

Origin Shield e grupos de origem

O Origin Shield é compatível com Grupos de origem do CloudFront. Como o Origin Shield é uma propriedade da origem, as solicitações sempre passam pelo Origin Shield para cada origem, mesmo quando a origem faz parte de um grupo de origem. Para uma determinada solicitação, o CloudFront roteia a solicitação para a origem primária no grupo de origem por meio do Origin Shield da origem primária. Se essa solicitação falhar (de acordo com os critérios de failover do grupo da origem), o CloudFront roteará a solicitação para a origem secundária por meio do Origin Shield da origem secundária.

Origin Shield e Lambda@Edge

O Origin Shield não afeta a funcionalidade das funções do Lambda@Edge mas pode afetar a região da AWS em que essas funções são executadas.

Ao usar o Origin Shield com o Lambda@Edge, triggers voltados para a origem (solicitação e resposta de origem) são executados na região da AWS em que o Origin Shield está habilitado. Se o local primário do Origin Shield não estiver disponível e o CloudFront encaminhar as solicitações para um local secundário do Origin Shield, os acionadores de origem do Lambda@Edge também mudarão para usar o local secundário do Origin Shield.

Os triggers voltados para o visualizador não são afetados.