Restringe o acesso com origens de VPC. - Amazon CloudFront

Restringe o acesso com origens de VPC.

É possível usar o CloudFront para fornecer conteúdo de aplicações que estão hospedadas em sub-redes privadas da nuvem privada virtual (VPC). Você pode usar Application Load Balancers (ALBs), Network Load Balancers (NLBs) e instâncias do EC2 em sub-redes privadas como origens de VPC.

Veja abaixo alguns motivos pelos quais pode ser interessante usar origens de VPC:

  • Segurança: as origens de VPC são projetadas para aprimorar o procedimento de segurança da aplicação colocando os balanceadores de carga e as instâncias do EC2 em sub-redes privadas, o que torna o CloudFront o único ponto de entrada. As solicitações dos usuários são transmitidas do CloudFront para as origens de VPC por meio de uma conexão privada e segura, fornecendo segurança adicional para as aplicações.

  • Gerenciamento: as origens de VPC reduzem o custo operacional indireto necessário para estabelecer uma conectividade segura entre o CloudFront e as origens. Além de poder mover as origens para sub-redes privadas sem acesso público, você não precisa implementar listas de controle de acesso (ACLs) ou outros mecanismos para restringir o acesso às origens. Dessa forma, não é necessário investir em trabalho de desenvolvimento não diferenciado para proteger aplicações web com o CloudFront.

  • Escalabilidade e desempenho: como as origens de VPC ajudam a proteger aplicações web, você tem mais tempo para se concentrar no desenvolvimento de aplicações empresariais essenciais e, ao mesmo tempo, melhorar a segurança e manter alto desempenho e escalabilidade global com o CloudFront. As origens de VPC simplificam o gerenciamento de segurança e reduzem a complexidade operacional para que você use o CloudFront como o único ponto de entrada para suas aplicações.

dica

O CloudFront permite o compartilhamento de origens de VPC entre Contas da AWS independentemente de elas estarem ou não em sua organização. É possível compartilhar as origens de VPC no console do CloudFront ou usar o AWS Resource Access Manager (AWS RAM). Para obter mais informações, consulte Trabalhar com recursos compartilhados no CloudFront.

Pré-requisitos

Antes de criar uma origem de VPC para sua distribuição do CloudFront, é necessário concluir o seguinte:

Configuração de VPC

Crie uma nuvem privada virtual (VPC) na Amazon VPC em uma das Regiões da AWS nas quais é possível usar origens de VPC. Para ter informações sobre como criar uma VPC, consulte Criar uma VPC e outros recursos de VPC no Manual do usuário da Amazon VPC. Para obter uma lista de regiões compatíveis, consulte Tabela de Regiões da AWS que permitem o uso de origens de VPC.

Sua VPC deve incluir o seguinte:

  • Gateway da internet: você precisa adicionar um gateway da internet à VPC que contém seus recursos da origem de VPC. O gateway da internet é necessário para indicar que a VPC pode receber tráfego da internet. Ele não é usado para rotear o tráfego para origens dentro da sub-rede, e você não precisa atualizar as políticas de roteamento.

  • Sub-rede privada com pelo menos um endereço IPv4 disponível: o CloudFront faz o roteamento para a sub-rede usando uma interface de rede elástica (ENI) autogerenciada que o CloudFront cria depois que você define seu recurso da VPC de origem com o CloudFront. Você deve ter pelo menos um endereço IPv4 disponível na sub-rede privada para que o processo de criação da ENI seja bem-sucedido. O endereço IPv4 pode ser privado, e não há custo adicional para isso. Sub-redes somente IPv6 não são compatíveis.

Recursos de origem

Na sub-rede privada, inicie um Application Load Balancer, um Network Load Balancer ou uma instância do EC2 para usar como origem. O recurso que você inicia deve estar totalmente implantado e no status Ativo para que seja possível usá-lo em uma origem de VPC.

Restrições de origem:

  • Não é possível adicionar Gateway Load Balancers como origens.

  • Não é possível adicionar Network Load Balancers de pilha dupla como origem.

  • Não é possível adicionar Network Load Balancers com receptores TLS como origem.

  • Para ser usado como origem de VPC, um Network Load Balancer deve ter um grupo de segurança anexado a ele.

Configuração do security group

Os recursos de origem de VPC (Application Load Balancer, Network Load Balancer ou instância do EC2) devem ter um grupo de segurança anexado. Quando uma origem de VPC é criada, o CloudFront cria automaticamente um grupo de segurança gerenciado pelo serviço com o padrão denominado CloudFront-VPCOrigins-Service-SG. Esse grupo de segurança é totalmente gerenciado pela AWS e não deve ser editado.

Para permitir que o tráfego do CloudFront chegue à origem de VPC, atualize o grupo de segurança anexado ao recurso de origem (ALB, NLB ou instância do EC2) para permitir o tráfego de entrada usando um dos seguintes métodos:

  • Opção 1: permitir o tráfego da lista de prefixos gerenciados do CloudFront. Para obter mais informações, consulte Use a lista de prefixos gerenciados do CloudFront. Isso também pode ser feito antes da criação da origem de VPC.

  • Opção 2: permitir o tráfego do grupo de segurança gerenciado pelo serviço do CloudFront (CloudFront-VPCOrigins-Service-SG). Isso só pode ser feito depois que a origem de VPC for criada e o grupo de segurança gerenciado pelo serviço for criado. Essa configuração é ainda mais restritiva, pois restringe o tráfego somente às suas distribuições do CloudFront.

Importante

Não crie um grupo de segurança próprio com um nome que comece com CloudFront-VPCOrigins-Service-SG. Esse é um padrão de nomenclatura da AWS reservado para grupos de segurança gerenciados por serviços. Para ter mais informações, consulte Crie um grupo de segurança para a VPC.

Restrições de protocolo e recurso

As origens de VPC não admitem o seguinte:

  • WebSockets

  • Tráfego gRPC.

  • Acionadores de solicitação à origem e de resposta da origem com o Lambda@Edge.

Criar uma origem de VPC (nova distribuição)

O procedimento a seguir mostra como criar uma origem de VPC para uma nova distribuição do CloudFront no console do CloudFront. Você também pode usar as operações de API CreateVpcOrigin e CreateDistribution com a AWS CLI ou com um SDK da AWS.

Como criar uma origem de VPC para uma nova distribuição do CloudFront
  1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha Origens de VPC e Criar uma origem de VPC.

  3. Preencha os campos obrigatórios. Em ARN da origem, selecione o ARN do Application Load Balancer, do Network Load Balancer ou da instância do EC2. Se você não vir o ARN, poderá copiar o ARN do seu recurso específico e colá-lo aqui.

  4. Escolha Criar origem.

  5. Aguarde até que o status da origem de VPC mude para Implantado. Esse processo pode levar até 15 minutos.

  6. Escolha Distribuições e Criar distribuição.

  7. Em Domínio da origem, selecione seu recurso de origens de VPC na lista suspensa.

    Se a origem de VPC for uma instância do EC2, copie e cole o nome DNS do IP privado da instância no campo Domínio da origem.

  8. Finalize a criação da distribuição. Para obter mais informações, consulte Criar uma distribuição do CloudFront no console.

Criar uma origem de VPC (distribuição existente)

O procedimento a seguir mostra como criar uma origem de VPC para uma distribuição existente do CloudFront no console do CloudFront, o que ajuda a garantir a disponibilidade contínua de suas aplicações. Você também pode usar as operações de API CreateVpcOrigin e UpdateDistributionWithStagingConfig com a AWS CLI ou um SDK da AWS.

Ou então você pode optar por adicionar a origem de VPC à distribuição existente sem criar uma distribuição de teste.

Como criar uma origem de VPC para uma distribuição existente do CloudFront
  1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha Origens de VPC e Criar uma origem de VPC.

  3. Preencha os campos obrigatórios. Em ARN da origem, selecione o ARN do Application Load Balancer, do Network Load Balancer ou da instância do EC2. Se você não vir o ARN, poderá copiar o ARN do seu recurso específico e colá-lo aqui.

  4. Escolha Criar origem.

  5. Aguarde até que o status da origem de VPC mude para Implantado. Esse processo pode levar até 15 minutos.

  6. No painel de navegação, escolha Distribuições.

  7. Escolha o ID da distribuição.

  8. Na guia Geral, em Implantação contínua, escolha Criar distribuição de preparação. Para obter mais informações, consulte Usar a implantação contínua do CloudFront para testar com segurança as alterações na configuração da CDN.

  9. Siga as etapas no assistente Criar distribuição de preparação para criar uma distribuição de preparação. Inclua as seguintes etapas:

    • Em Origens, escolha Criar origem.

    • Em Domínio da origem, selecione seu recurso de origens de VPC no menu suspenso.

      Se a origem de VPC for uma instância do EC2, copie e cole o nome DNS do IP privado da instância no campo Domínio da origem.

    • Escolha Criar origem.

  10. Em sua distribuição de preparação, teste a origem de VPC.

  11. Mova a configuração da distribuição de preparação para sua distribuição primária. Para obter mais informações, consulte Promover a configuração de uma distribuição de preparação.

  12. Remova o acesso público à sua origem de VPC configurando a sub-rede como privada. Depois de fazer isso, a origem de VPC não poderá ser descoberta pela internet, mas o CloudFront ainda terá acesso privado a ela. Para ter mais informações, consulte Associar ou desassociar uma sub-rede de uma tabela de rotas no Manual do usuário da Amazon VPC.

Atualizar uma origem de VPC

O procedimento a seguir mostra como atualizar uma origem de VPC para uma distribuição do CloudFront no console do CloudFront. Você também pode usar as operações de API UpdateDistribution e UpdateVpcOrigin com a AWS CLI ou um SDK da AWS.

Como atualizar uma origem de VPC para sua distribuição do CloudFront
  1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. No painel de navegação, escolha Distribuições.

  3. Escolha o ID da distribuição.

  4. Escolha a guia Behaviors.

  5. Observe que a origem de VPC não deve ser a origem padrão para seu comportamento de cache.

  6. Escolha a guia Origens.

  7. Selecione a origem de VPC que você vai atualizar e escolha Excluir. Isso dissocia a origem de VPC da sua distribuição. Repita as etapas de 2 a 7 para dissociar a origem de VPC de quaisquer outras distribuições.

  8. Escolha Origens de VPC.

  9. Selecione a origem de VPC e escolha Editar.

  10. Faça suas atualizações e escolha Atualizar origem de VPC.

  11. Aguarde até que o status da origem de VPC mude para Implantado. Esse processo pode levar até 15 minutos.

  12. No painel de navegação, escolha Distribuições.

  13. Escolha o ID da distribuição.

  14. Escolha a guia Origens.

  15. Escolha Criar origem.

  16. Em Domínio da origem, selecione seu recurso de origens de VPC no menu suspenso.

    Se a origem de VPC for uma instância do EC2, copie e cole o nome DNS do IP privado da instância no campo Domínio da origem.

  17. Escolha Criar origem. Isso associa novamente a origem de VPC à sua distribuição. Repita as etapas 12 a 17 para associar a origem de VPC atualizada a quaisquer outras distribuições.

Tabela de Regiões da AWS que permitem o uso de origens de VPC

No momento, é possível usar origens de VPC nas Regiões da AWS comerciais a seguir. Exceções da Zona de Disponibilidade (AZ) são anotadas.

Nome da Região Região
Leste dos EUA (Ohio) us-east-2
Leste dos EUA (Norte da Virgínia) us-east-1 (except AZ use1-az3)
Oeste dos EUA (N. da Califórnia) us-west-1 (except AZ usw1-az2)
Oeste dos EUA (Oregon) us-west-2
África (Cidade do Cabo) af-south-1
Ásia-Pacífico (Hong Kong) ap-east-1
Asia Pacific (Mumbai) ap-south-1
Ásia-Pacífico (Hyderabad) ap-south-2
Ásia-Pacífico (Jacarta) ap-southeast-3
Ásia-Pacífico (Melbourne) ap-southeast-4
Ásia-Pacífico (Osaka) ap-northeast-3
Ásia-Pacífico (Singapura) ap-southeast-1
Ásia-Pacífico (Sydney) ap-southeast-2
Ásia-Pacífico (Tóquio) ap-northeast-1 (except AZ apne1-az3)
Ásia-Pacífico (Seul) ap-northeast-2 (except AZ apne2-az1)
Ásia-Pacífico (Tailândia) ap-southeast-7
Ásia-Pacífico (Malásia) ap-southeast-5
Ásia-Pacífico (Taipei) ap-east-2
Canadá (Central) ca-central-1 (except AZ cac1-az3)
Oeste do Canadá (Calgary) ca-west-1
Europa (Frankfurt) eu-central-1
Europa (Irlanda) eu-west-1
Europa (Londres) eu-west-2
Europa (Milão) eu-south-1
Europe (Paris) eu-west-3
Europa (Espanha) eu-south-2
Europa (Estocolmo) eu-north-1
Europa (Zurique) eu-central-2
Israel (Tel Aviv) il-central-1
Oriente Médio (Bahrein) me-south-1
Oriente Médio (Emirados Árabes Unidos) me-central-1
América do Sul (São Paulo) sa-east-1
México (Centro) mx-central-1