

# Restringe o acesso com origens de VPC.
<a name="private-content-vpc-origins"></a>

É 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](sharing-resources.md).

## Pré-requisitos
<a name="vpc-origin-prerequisites"></a>

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

### Configuração de VPC
<a name="vpc-configuration"></a>

**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](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-and-other-resources) 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](#vpc-origins-supported-regions).

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
<a name="origin-resources"></a>

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
<a name="security-group-configuration"></a>

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](LocationsOfEdgeServers.md#managed-prefix-list). 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](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html).

### Restrições de protocolo e recurso
<a name="protocol-feature-restrictions"></a>

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)
<a name="new-vpc-origin"></a>

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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateVpcOrigin.html) e [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html) 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](https://console.aws.amazon.com/cloudfront/v4/home).

1. Escolha **Origens de VPC** e **Criar uma origem de VPC**.

1. 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.

1. Escolha **Criar origem**.

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

1. Escolha **Distribuições** e **Criar distribuição**.

1. 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**.

1. Finalize a criação da distribuição. Para obter mais informações, consulte [Criar uma distribuição do CloudFront no console](distribution-web-creating-console.md#create-console-distribution).

## Criar uma origem de VPC (distribuição existente)
<a name="existing-vpc-origin"></a>

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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateVpcOrigin.html) e [UpdateDistributionWithStagingConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistributionWithStagingConfig.html) 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](https://console.aws.amazon.com/cloudfront/v4/home).

1. Escolha **Origens de VPC** e **Criar uma origem de VPC**.

1. 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.

1. Escolha **Criar origem**.

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

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

1. Escolha o ID da distribuição.

1. 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](continuous-deployment.md).

1. 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**.

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

1. 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](working-with-staging-distribution-continuous-deployment-policy.md#promote-staging-distribution-configuration).

1. 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](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AssociateSubnet) no *Manual do usuário da Amazon VPC*.

## Atualizar uma origem de VPC
<a name="update-vpc-origin"></a>

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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) e [UpdateVpcOrigin](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateVpcOrigin.html) 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](https://console.aws.amazon.com/cloudfront/v4/home).

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

1. Escolha o ID da distribuição.

1. Escolha a guia **Behaviors**.

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

1. Escolha a guia **Origens**.

1. 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.

1. Escolha **Origens de VPC**.

1. Selecione a origem de VPC e escolha **Editar**.

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

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

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

1. Escolha o ID da distribuição.

1. Escolha a guia **Origens**.

1. Escolha **Criar origem**.

1. 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**.

1. 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
<a name="vpc-origins-supported-regions"></a>

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.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/private-content-vpc-origins.html)