Criar uma VPC - Amazon Virtual Private Cloud

Criar uma VPC

Use os procedimentos a seguir para criar uma nuvem privada virtual (VPC). Uma VPC deve ter recursos adicionais, como sub-redes, tabelas de rotas e gateways, antes que você possa criar recursos da AWS na VPC.

Para obter informações sobre como visualizar ou modificar VPCs, consulte Configurar a VPC.

Opções de configuração da VPC

Também é possível especificar as seguintes opções de configuração ao criar uma VPC.

Uma VPC com zonas de disponibilidade e uma zona Wavelength.

Datacenters distintos com energia, redes e conectividade redundantes em uma região da AWS. É possível usar várias AZs para operar aplicações e bancos de dados de produção com níveis superiores de alta disponibilidade, tolerância a falhas e escalabilidade ao que seria possível com um só datacenter. Se particionar entre AZs suas aplicações executadas em sub-redes, você terá níveis melhores de isolamento e proteção contra problemas como falta de energia elétrica, raios, tornados e terremotos.

Blocos CIDR

Você deve especificar intervalos de endereços IP para sua VPC e sub-redes. Para obter mais informações, consulte Endereçamento IP para suas VPCs e sub-redes.

Opções de DNS

Se você precisar de nomes de host de DNS IPv4 públicos para as instâncias do EC2 executadas em suas sub-redes, habilite as duas opções de DNS. Para obter mais informações, consulte Atributos de DNS para sua VPC.

  • Habilitar nomes de host de DNS: as instâncias do EC2 iniciadas na VPC recebem nomes de host de DNS públicos que correspondem aos seus endereços IPv4 públicos.

  • Habilitar resolução de DNS: a resolução de DNS para nomes de host de DNS privados é fornecida para a VPC pelo servidor Amazon DNS, chamado Route 53 Resolver.

Gateway da Internet

Conecta sua VPC à Internet. As instâncias em uma sub-rede pública podem acessar a Internet porque a tabela de rotas de sub-redes contém uma rota que envia tráfego destinado à Internet para o gateway da Internet. Se um servidor não precisar ser acessado diretamente pela Internet, você não deve implantá-lo em uma sub-rede pública. Para obter mais informações, consulte Gateways da Internet.

Name (Nome)

Os nomes que você especifica para a VPC e os outros recursos da VPC são usados para criar as tags de nome. Se você usar o recurso de geração automática de tags de nome no console, os valores das tags terão o formato nome-recurso.

Gateways NAT

Permite que instâncias em uma sub-rede privada enviem tráfego para a Internet, mas impede que recursos na Internet se conectem às instâncias. No ambiente de produção, recomendamos implantar um gateway NAT em cada AZ ativa. Para obter mais informações, consulte Gateways de NAT.

Tabelas de rotas

Contém um conjunto de regras, chamado de rotas, que determinam para onde o tráfego de rede de sua sub-rede ou gateway é direcionado. Para obter mais informações, consulte Tabelas de rotas.

Sub-redes

Um intervalo de endereços IP na VPC. É possível iniciar recursos da AWS, como instâncias do EC2, nas suas sub-redes. Cada sub-rede rese inteiramente dentro de uma zona de disponibilidade. Ao iniciar as instâncias em ao menos duas zonas de disponibilidade, é possível proteger suas aplicações contra a falha de uma única zona de disponibilidade.

Uma sub-rede pública tem uma rota direta para um gateway da Internet. Os recursos em uma sub-rede pública podem acessar a Internet pública. Uma sub-rede privada não tem uma rota de direta para um gateway da Internet. Os recursos em uma sub-rede privada exigem um outro componente, como um dispositivo NAT, para acessar a Internet pública.

Para obter mais informações, consulte Sub-redes.

Locação

Essa opção define se as instâncias do EC2 que você executa na VPC serão executadas em hardware compartilhado com outras Contas da AWS ou em hardware dedicado somente para seu uso. Se a locação da VPC for Default, as instâncias do EC2 executadas nessa VPC usarão o atributo de locação especificado na execução da instância. Para obter mais informações, consulte Executar uma instância usando parâmetros definidos no Guia do usuário do Amazon EC2 para instâncias do Linux. Se você escolher a locação da VPC para ser Dedicated, as instâncias sempre serão executadas como Instâncias dedicadas no hardware dedicado ao seu uso. Se estiver usando o AWS Outposts, o seu Outpost vai requerer conectividade privada; você deve usar a locação Default.

Criar uma VPC e outros recursos de VPC

Use o procedimento a seguir para criar uma VPC, mais os recursos adicionais de VPC necessários para executar sua aplicação, como sub-redes, tabelas de rotas, gateways da Internet e gateways NAT. Para obter exemplos de configurações de VPC, consulte Exemplos de VPC.

Para criar uma VPC, sub-redes e outros recursos de VPC usando o console
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel da VPC, escolha Create VPC (Criar VPC).

  3. Em Resources to create (Recursos a serem criados), escolha VPC and more (VPC e mais).

  4. Mantenha a opção Geração automática de tags de nome selecionada para criar tags de nome para os recursos da VPC, ou desmarque-a para fornecer suas próprias tags de nome para os recursos da VPC.

  5. Em Bloco CIDR IPv4, digite uma faixa de endereços IPv4 para sua VPC. Uma VPC deve ter uma faixa de endereços IPv4.

  6. (Opcional) Para oferecer suporte ao tráfego de IPv6, escolha Bloco CIDR IPv6, Bloco CIDR IPv6 fornecido pela Amazon.

  7. Escolha uma opção de Locação. Essa opção define se as instâncias do EC2 que você executa na VPC serão executadas em hardware compartilhado com outras Contas da AWS ou em hardware dedicado somente para seu uso. Se a locação da VPC for Default, as instâncias do EC2 executadas nessa VPC usarão o atributo de locação especificado na execução da instância. Para obter mais informações, consulte Executar uma instância usando parâmetros definidos no Guia do usuário do Amazon EC2 para instâncias do Linux. Se você escolher a locação da VPC para ser Dedicated, as instâncias sempre serão executadas como Instâncias dedicadas no hardware dedicado ao seu uso. Se estiver usando o AWS Outposts, o seu Outpost vai requerer conectividade privada; você deve usar a locação Default.

  8. Em Número de zonas de disponibilidade (AZs), recomendamos que você provisione sub-redes em pelo menos duas zonas de disponibilidade para um ambiente de produção. Para escolher as AZs para suas sub-redes, expanda Personalizar AZs. Caso contrário, deixe a AWS escolhê-los para você.

  9. Para configurar suas sub-redes, escolha valores para Número de sub-redes públicas e Número de sub-redes privadas. Para escolher os intervalos de endereços IP para suas sub-redes, expanda Personalizar blocos CIDR de sub-redes. Caso contrário, deixe a AWS escolhê-los para você.

  10. (Opcional) Se os recursos em uma sub-rede privada precisarem de acesso à Internet pública via IPv4, em gateways NAT, escolha o número de AZs nos quais criar gateways NAT. Em produção, recomendamos que você implante um gateway NAT em cada AZ com recursos que precisem de acesso à Internet pública.

  11. (Opcional) Se os recursos em uma sub-rede privada precisarem de acesso à Internet pública via IPv6, escolha Sim em Gateway da Internet somente de saída.

  12. (Opcional) Se você precisar acessar o Amazon S3 diretamente da sua VPC, escolha Endpoints da VPC, Gateway do S3. Isso cria um endpoint da VPC de gateway para o Amazon S3. Para obter mais informações, consulte Endpoints da VPC de gateway no Guia do AWS PrivateLink

  13. (Opcional) Em opções de DNS, as duas opções de resolução de nomes de domínio estão habilitadas por padrão. Se o padrão não atender às suas necessidades, será possível desativar essas opções.

  14. (Opcional) Para adicionar uma tag à sua VPC, expanda Tags adicionais, escolha Adicionar nova tag e digite uma chave de tag e um valor de tag.

  15. No painel Visualização, é possível visualizar as relações entre os recursos da VPC que você configurou. Linhas sólidas representam relações entre recursos. As linhas pontilhadas representam o tráfego de rede para gateways NAT, gateway da Internet e endpoints de gateway. Após criar a VPC, será possível visualizar os recursos em sua VPC nesse formato a qualquer momento usando a guia Mapa de recursos. Para obter mais informações, consulte Visualizar os recursos em sua VPC.

  16. Ao concluir a configuração da sua VPC, escolha Criar VPC.

Criar apenas uma VPC

Siga o procedimento abaixo para criar uma VPC sem recursos de VPC adicionais usando o console da Amazon VPC.

Para criar uma VPC sem recursos de VPC adicionais usando o console
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. No painel da VPC, escolha Create VPC (Criar VPC).

  3. Em Recursos a serem criados, escolha Somente VPC.

  4. (Opcional) Em Tag de nome, insira um nome para a sua VPC. Ao fazer isso, é criada uma tag com a chave Name e o valor especificado.

  5. Em IPv4 CIDR block (Bloco CIDR IPv4), execute uma das seguintes ações:

    • Escolha Entrada manual de CIDR IPv4 e insira um intervalo de endereços IPv4 para a sua VPC.

    • Escolha Bloco CIDR IPv4 alocado pelo IPAM, selecione seu grupo de endereços IPV4 do IPAM e uma máscara de rede. O tamanho do bloco CIDR é limitado pelas regras de alocação no grupo do IPAM.

      Se você estiver usando o IPAM para gerenciar seus endereços IP, recomendamos que você escolha essa opção. Caso contrário, o bloco CIDR que você especificar para sua VPC pode se sobrepor a uma alocação de CIDR do IPAM.

  6. (Opcional) Para criar uma VPC de pilha dupla, especifique um intervalo de endereços IPv6 para sua VPC. Em IPv6 CIDR block (Bloco CIDR IPv6), execute uma das seguinte ações:

    • Escolha Bloco CIDR IPv6 alocado pelo IPAM e selecione seu grupo de endereços IPV6 do IPAM. O tamanho do bloco CIDR é limitado pelas regras de alocação no grupo do IPAM.

    • Escolha Bloco CIDR IPv6 fornecido pela Amazon para solicitar um bloco CIDR IPv6 do grupo de endereços IPv6 da Amazon. Em Network Border Group (Grupo de borda de rede), selecione o grupo do qual a AWS anuncia endereços IP. A Amazon fornece um tamanho fixo de /56 para o bloco CIDR IPv6.

    • Escolha CIDR IPv6 de minha propriedade para usar um bloco CIDR IPv6 que você tenha trazido para a AWS usando trazer seus próprios endereços IP (BYOIP). Para Pool (Grupo), escolha o grupo de endereços IPv6 a partir do qual alocar o bloco CIDR IPv6.

  7. (Opcional) Escolha uma opção de Locação. Essa opção define se as instâncias do EC2 que você executa na VPC serão executadas em hardware compartilhado com outras Contas da AWS ou em hardware dedicado somente para seu uso. Se a locação da VPC for Default, as instâncias do EC2 executadas nessa VPC usarão o atributo de locação especificado na execução da instância. Para obter mais informações, consulte Executar uma instância usando parâmetros definidos no Guia do usuário do Amazon EC2 para instâncias do Linux. Se você escolher a locação da VPC para ser Dedicated, as instâncias sempre serão executadas como Instâncias dedicadas no hardware dedicado ao seu uso. Se estiver usando o AWS Outposts, o seu Outpost vai requerer conectividade privada; você deve usar a locação Default.

  8. (Opcional) Para adicionar uma tag à sua VPC, escolha Adicionar nova tag e insira uma chave de tag e um valor de tag.

  9. Escolha Create VPC (Criar VPC).

  10. Após criar uma VPC, você pode criar sub-redes. Para obter mais informações, consulte Criar uma sub-rede.

Criar uma VPC usando a AWS CLI

O procedimento a seguir contém exemplos de comandos da AWS CLI para criar uma VPC, mais os recursos adicionais de VPC necessários para executar uma aplicação. Caso execute todos os comandos nesse procedimento, você criará uma VPC, uma sub-rede pública, uma sub-rede privada, uma tabela de rotas para cada sub-rede, um gateway da Internet, um gateway da Internet somente de saída e um gateway NAT público. Se você não precisar de todos esses recursos, poderá usar somente os comandos de exemplo necessários.

Pré-requisitos

Antes de começar, instale e configure a AWS CLI. Ao configurar a AWS CLI, você recebe uma solicitação por credenciais da AWS. Os exemplos neste procedimento pressupõem que você também tenha configurado uma região padrão. Caso contrário, adicione a opção --region para cada comando. Para obter informações, consulte Instalação e configuração da AWS CLI e Configuração da AWS CLI.

Marcação

É possível adicionar tags a um recurso depois de criá-lo usando o comando create-tags. Como alternativa, é possível adicionar a opção --tag-specification ao comando de criação do recurso conforme descrito a seguir.

--tag-specifications ResourceType=vpc,Tags=[{Key=Name,Value=my-project}]
Para criar uma VPC mais recursos de VPC com a AWS CLI
  1. Use o comando create-vpc a seguir para criar uma VPC com o bloco CIDR IPv4 especificado.

    aws ec2 create-vpc --cidr-block 10.0.0.0/24 --query Vpc.VpcId --output text

    Como alternativa, para criar uma VPC de pilha dupla, adicione a opção --amazon-provided-ipv6-cidr-block para adicionar um bloco CIDR IPv6 fornecido pela Amazon, conforme mostrado no exemplo a seguir.

    aws ec2 create-vpc --cidr-block 10.0.0.0/24 --amazon-provided-ipv6-cidr-block --query Vpc.VpcId --output text

    Esses comandos retornam o ID da nova VPC. Veja um exemplo a seguir.

    vpc-1a2b3c4d5e6f1a2b3
  2. [VPC de pilha dupla] Obtenha o bloco CIDR IPv6 associado à sua VPC usando o comando describe-vpcs a seguir.

    aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query Vpcs[].Ipv6CidrBlockAssociationSet[].Ipv6CidrBlock --output text

    A seguir está um exemplo de saída.

    2600:1f13:cfe:3600::/56
  3. Crie uma ou mais sub-redes, dependendo do seu caso de uso. Em um ambiente de produção, recomendamos que você inicie recursos em ao menos duas zonas de disponibilidade. Use um dos comandos a seguir para criar cada sub-rede.

    • Sub-rede somente IPv4: para criar uma sub-rede com um bloco CIDR IPv4 específico, use o comando create-subnet a seguir.

      aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --cidr-block 10.0.1/0/20 --availability-zone us-east-2a --query Subnet.SubnetId --output text
    • Sub-rede de pilha dupla: se você criou uma VPC de pilha dupla, é possível usar a opção --ipv6-cidr-block para criar uma sub-rede de pilha dupla, conforme mostrado no comando a seguir.

      aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --cidr-block 10.0.1/0/20 --ipv6-cidr-block 2600:1f13:cfe:3600::/64 --availability-zone us-east-2a --query Subnet.SubnetId --output text
    • Sub-rede somente IPv6: se você criou uma VPC de pilha dupla, é possível usar a opção --ipv6-native para criar uma sub-rede somente IPv6, conforme mostrado no comando a seguir.

      aws ec2 create-subnet --vpc-id vpc-1a2b3c4d5e6f1a2b3 --ipv6-native --ipv6-cidr-block 2600:1f13:cfe:3600::/64 --availability-zone us-east-2a --query Subnet.SubnetId --output text

    Esses comandos retornam o ID da nova sub-rede. Veja um exemplo a seguir.

    subnet-1a2b3c4d5e6f1a2b3
  4. Se você precisar de uma sub-rede pública para seus servidores da Web ou para um gateway NAT, faça o seguinte:

    1. Crie um gateway da Internet usando o comando create-internet-gateway a seguir. O comando retorna o ID do novo gateway da Internet.

      aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text
    2. Anexe o gateway da Internet à sua VPC usando o comando attach-internet-gateway a seguir. Use o ID do gateway da Internet retornado da etapa anterior.

      aws ec2 attach-internet-gateway --vpc-id vpc-1a2b3c4d5e6f1a2b3 --internet-gateway-id igw-id
    3. Crie uma tabela de rotas personalizada para sua sub-rede pública usando o comando create-route-table a seguir. O comando retorna o ID da nova tabela de rotas.

      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
    4. Crie uma rota na tabela de rotas que envie todo o tráfego IPv4 para o gateway da Internet usando o comando create-route a seguir. Use o ID da tabela de rotas para a sub-rede pública.

      aws ec2 create-route --route-table-id rtb-id-public --destination-cidr-block 0.0.0.0/0 --gateway-id igw-id
    5. Associe a tabela de rotas à sub-rede pública usando o comando associate-route-table a seguir. Use o ID da tabela de rotas para a sub-rede pública e o ID da sub-rede pública.

      aws ec2 associate-route-table --route-table-id rtb-id-public --subnet-id subnet-id-public-subnet
  5. [IPv6] Também é possível adicionar um gateway da Internet apenas de saída para que instâncias em uma sub-rede privada possam acessar a Internet por IPv6 (por exemplo, para obter atualizações de software), mas os hosts na Internet não possam acessar suas instâncias.

    1. Crie um gateway da Internet somente de saída usando o comando create-egress-only-internet-gateway a seguir. O comando retorna o ID do novo gateway da Internet.

      aws ec2 create-egress-only-internet-gateway --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query EgressOnlyInternetGateway.EgressOnlyInternetGatewayId --output text
    2. Crie uma tabela de rotas personalizada para sua sub-rede privada usando o comando create-route-table a seguir. O comando retorna o ID da nova tabela de rotas.

      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
    3. Crie uma rota na tabela de rotas para a sub-rede privada que envie todo o tráfego IPv6 para o gateway da Internet somente de saída usando o comando create-route a seguir. Use o ID da tabela de rotas retornada na etapa anterior.

      aws ec2 create-route --route-table-id rtb-id-private --destination-cidr-block ::/0 --egress-only-internet-gateway eigw-id
    4. Associe a tabela de rotas à sub-rede privada usando o comando associate-route-table a seguir.

      aws ec2 associate-route-table --route-table-id rtb-id-private --subnet-id subnet-id-private-subnet
  6. Se você precisar de um gateway NAT para seus recursos em uma sub-rede privada, faça o seguinte:

    1. Crie um endereço IP elástico para o gateway NAT usando o comando allocate-address a seguir.

      aws ec2 allocate-address --domain vpc --query AllocationId --output text
    2. Crie um gateway NAT usando o comando create-nat-gateway a seguir. Use o ID de alocação retornado da etapa anterior.

      aws ec2 create-nat-gateway --subnet-id subnet-id-private-subnet --allocation-id eipalloc-id
    3. (Opcional) Se você já criou uma tabela de rotas para a sub-rede privada na etapa 5, pule essa etapa. Caso contrário, use o comando create-route-table a seguir para criar uma tabela de rotas para sua sub-rede privada. O comando retorna o ID da nova tabela de rotas.

      aws ec2 create-route-table --vpc-id vpc-1a2b3c4d5e6f1a2b3 --query RouteTable.RouteTableId --output text
    4. Crie uma rota na tabela de rotas para a sub-rede privada que envie todo o tráfego IPv4 para o gateway NAT usando o comando create-route a seguir. Use o ID da tabela de rotas para a sub-rede privada que você criou nesta etapa ou na etapa 5.

      aws ec2 create-route --route-table-id rtb-id-private --destination-cidr-block 0.0.0.0/0 --gateway-id nat-id
    5. (Opcional) Se você já associou uma tabela de rotas para a sub-rede privada na etapa 5, pule essa etapa. Caso contrário, use o comando associate-route-table a seguir para associar a tabela de rotas à sub-rede privada. Use o ID da tabela de rotas para a sub-rede privada que você criou nesta etapa ou na etapa 5.

      aws ec2 associate-route-table --route-table-id rtb-id-private --subnet-id subnet-id-private-subnet