Criar uma Amazon VPC para o cluster do Amazon EKS - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Escolha o link Editar esta página no GitHub, disponível no painel direito de cada página. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

Criar uma Amazon VPC para o cluster do Amazon EKS

É possível usar a Amazon Virtual Private Cloud (Amazon VPC) para iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é muito semelhante a uma rede tradicional que pode ser operada no seu próprio data center. Porém, ela vem com os benefícios do uso da infraestrutura escalável da Amazon Web Services. É recomendável ter uma profunda compreensão do serviço Amazon VPC antes de implantar clusters do Amazon EKS em ambientes de produção. Para obter mais informações, consulte o Manual do usuário da Amazon VPC.

Um cluster, os nós e os recursos do Kubernetes do Amazon EKS são implantados em uma VPC. Se quiser utilizar uma VPC existente com o Amazon EKS, essa VPC deverá atender aos requisitos descritos em Exibir os requisitos de rede do Amazon EKS para VPC e sub-redes. Este tópico descreve como criar uma VPC que atenda aos requisitos do Amazon EKS usando um modelo do AWS CloudFormation fornecido pelo Amazon EKS. Depois de implantar um modelo, você pode visualizar os recursos criados por ele para saber exatamente quais recursos foram criados e a configuração desses recursos. Se você estiver usando nós híbridos, a VPC deverá ter rotas em sua tabela de rotas para a rede on-premises. Para obter mais informações sobre os requisitos de rede para nós híbridos, consulte Preparar a rede para nós híbridos.

Pré-requisitos

Para criar uma VPC para o Amazon EKS, é necessário ter as permissões do IAM necessárias para criar recursos da Amazon VPC. Esses recursos são VPCs, sub-redes, grupos de segurança, tabelas e rotas de rotas e gateways da Internet e de NAT. Para obter mais informações, consulte o exemplo de política Criar uma VPC com uma sub-rede pública no Guia do usuário do Amazon VPC e a lista completa de Ações na Referência de autorização de serviço.

É possível criar uma VPC com sub-redes públicas e privadas, somente sub-redes públicas ou somente sub-redes privadas.

Sub-redes públicas e privadas

Essa VPC tem duas sub-redes públicas e duas privadas. A tabela de rotas associada a uma sub-rede pública tem uma rota para um gateway da Internet. Porém, a tabela de rotas de uma sub-rede privada não tem uma rota para um gateway da Internet. Uma sub-rede pública e uma privada são implantadas na mesma zona de disponibilidade. As outras sub-redes públicas e privadas são implantadas em uma segunda zona de disponibilidade na mesma região da AWS. Recomendamos essa opção para a maioria das implantações.

Com essa opção, é possível implantar nós em sub-redes privadas. Essa opção permite que o Kubernetes implante balanceadores de carga nas sub-redes públicas que podem balancear a carga de tráfego para os Pods que são executados em nós nas sub-redes privadas. Endereços IPv4 públicos são atribuídos automaticamente a nós implantados em sub-redes públicas, mas endereços IPv4 públicos não são atribuídos a nós implantados a sub-redes privadas.

Você também pode atribuir endereços IPv6 a nós em sub-redes públicas e privadas. Os nós em sub-redes privadas podem se comunicar com o cluster e outros serviços AWS. O Pods pode se comunicar com a Internet por meio de um gateway NAT usando endereços IPv4 ou um gateway de Internet somente de saída usando endereços IPv6 implementados em cada zona de disponibilidade. É implantado um grupo de segurança com regras que negam todo o tráfego de entrada de origens diferentes do cluster ou dos nós, mas permite todo o tráfego de saída. As sub-redes são marcadas para que o Kubernetes possa implantar nelas balanceadores de carga.

  1. Abra o console do AWS CloudFormation.

  2. Na barra de navegação, selecione uma região da AWS que ofereça suporte ao Amazon EKS.

  3. Escolha Create stack (Criar pilha), With new resources (Com novos recursos (padrão)).

  4. Em Prerequisite - Prepare template, (Pré-requisito: preparar o modelo), certifique-se de que a opção Template is ready (O modelo está pronto) esteja selecionada. Em seguida, em Specify template (Especificar modelo), selecione Amazon S3 URL. (URL do Simple Storage Service [Amazon S3]).

  5. É possível criar uma VPC que ofereça suporte somente a IPv4 ou uma VPC que ofereça suporte a IPv4 e a IPv6. Cole um dos seguintes URLs na área de texto em Amazon S3 URL (URL do Simple Storage Service [Amazon S3]) e, então, escolha Next (Próximo):

    • IPv4

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
  • IPv4 e IPv6

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml
  1. Na página Specify stack details (Especificar detalhes da pilha), insira os parâmetros e escolha Next (Próximo).

    • Nome da pilha: escolha um nome para a pilha do AWS CloudFormation. Por exemplo, você pode usar o nome do modelo empregado na etapa anterior. O nome só pode conter caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hifens. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster.

    • VpcBlock: escolha um intervalo de CIDR IPv4 para a sua VPC. Cada nó, Pod e balanceador de carga implantado recebe um endereço IPv4 desse bloco. Os valores padrão de IPv4 fornecem endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-los. Para obter mais informações, consulte VPC and subnet sizing (Dimensionamento da VPC e da sub-rede) no Guia do usuário da Amazon VPC. Você também pode adicionar blocos CIDR adicionais à VPC depois que ela for criada. Se estiver criando uma VPC IPv6, os intervalos CIDR IPv6 serão automaticamente atribuídos a você no espaço do endereço unicast global da Amazon.

    • PublicSubnet01Block: especifique um bloco CIDR IPv4 para a sub-rede pública 1. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo. Se você estiver criando uma VPC IPv6, esse bloco será especificado para você no modelo.

    • PublicSubnet02Block: especifique um bloco CIDR IPv4 para a sub-rede pública 2. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo. Se você estiver criando uma VPC IPv6, esse bloco será especificado para você no modelo.

    • PrivateSubnet01Block: especifique um bloco CIDR IPv4 para a sub-rede privada 1. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo. Se você estiver criando uma VPC IPv6, esse bloco será especificado para você no modelo.

    • PrivateSubnet02Block: especifique um bloco CIDR IPv4 para a sub-rede privada 2. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo. Se você estiver criando uma VPC IPv6, esse bloco será especificado para você no modelo.

  2. (Opcional) Na página Configure stack options (Configurar opções de pilha), etiquete os seus recursos de pilha e, em seguida, escolha Next (Próximo).

  3. Na página Review (Revisão), escolha Create stack (Criar pilha).

  4. Quando a pilha estiver criada, selecione-a no console e escolha Outputs (Saídas).

  5. Registre o VpcId para a VPC que foi criada. Você precisará disso ao criar seu cluster e nós.

  6. Registre os SubnetIds para as sub-redes que foram criadas e se você as criou como sub-redes públicas ou privadas. É necessário pelo menos dois deles ao criar seu cluster e os nós.

  7. Se você criou uma VPC IPv4, ignore essa etapa. Se você criou uma VPC IPv6, será necessário habilitar a opção de atribuição automática de endereço IPv6 para as sub-redes públicas criadas pelo modelo. Essa configuração já está habilitada para as sub-redes privadas. Conclua as etapas a seguir para habilitar as configurações:

    1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

    2. No painel de navegação à esquerda, escolha Subnets (Sub-redes).

    3. Selecione uma de suas sub-redes públicas (o nome da pilha/SubnetPublic01 ou o nome da pilha/SubnetPublic02 contém a palavra public) e escolha Actions (Ações ), Edit subnet settings (Editar configurações de sub-rede).

    4. Escolha a opção Habilitar atribuição automática do endereço *IPv6* e clique em Salvar.

    5. Conclua as etapas anteriores novamente para a sua outra sub-rede pública.

Somente sub-redes públicas

Essa VPC tem três sub-redes públicas que são implantadas em diferentes zonas de disponibilidade em uma região AWS. Todos os nós recebem endereços IPv4 públicos automaticamente e podem enviar e receber tráfego de Internet por meio de um gateway da Internet. É implantado um grupo de segurança que nega todo o tráfego de entrada e permite todo o tráfego de saída. As sub-redes são marcadas para que o Kubernetes possa implantar nelas balanceadores de carga.

  1. Abra o console do AWS CloudFormation.

  2. Na barra de navegação, selecione uma região da AWS que ofereça suporte ao Amazon EKS.

  3. Escolha Create stack (Criar pilha), With new resources (Com novos recursos (padrão)).

  4. Em Prepare template (Preparar o template), verifique se a opção Template is ready (O template está pronto) está selecionada e, em Template source (Origem do template), selecione Amazon S3 URL (URL do Amazon S3).

  5. Cole o seguinte URL na área de texto em Amazon S3 URL (URL do Amazon S3) e escolha Next (Próximo):

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
  1. Na página Specify Details (Especificar detalhes), insira os parâmetros e escolha Next (Próximo).

    • Nome da pilha: escolha um nome para a pilha do AWS CloudFormation. Por exemplo, você pode chamá-lo de amazon-eks-vpc-sample. O nome só pode conter caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hifens. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster.

    • VpcBlock: escolha um bloco CIDR para a VPC. Cada nó, Pod e balanceador de carga implantado recebe um endereço IPv4 desse bloco. Os valores padrão de IPv4 fornecem endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-los. Para obter mais informações, consulte VPC and subnet sizing (Dimensionamento da VPC e da sub-rede) no Guia do usuário da Amazon VPC. Você também pode adicionar blocos CIDR adicionais à VPC depois que ela for criada.

    • Subnet01Block: especifique um bloco CIDR para a sub-rede 1. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

    • Subnet02Block: especifique um bloco CIDR para a sub-rede 2. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

    • Subnet03Block: especifique um bloco CIDR para a sub-rede 3. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

  2. (Opcional) Na página Options (Opções), marque os recursos da pilha. Escolha Próximo.

  3. Na página Revisar, escolha Criar.

  4. Quando a pilha estiver criada, selecione-a no console e escolha Outputs (Saídas).

  5. Registre o VpcId para a VPC que foi criada. Você precisará disso ao criar seu cluster e nós.

  6. Registre os SubnetIds para as sub-redes que foram criadas. É necessário pelo menos dois deles ao criar seu cluster e os nós.

  7. (Opcional) Todos os clusters que você implantar nessa VPC podem atribuir endereços IPv4 privados aos seus Pods e services. Se quiser implantar clusters nessa VPC para atribuir endereços IPv6 privados aos seus Pods e services, faça atualizações na VPC, na sub-rede, em tabelas de rotas e em grupos de segurança. Para obter mais informações, consulte Migrar VPCs existentes de IPv4 para IPv6 no Guia do usuário da Amazon VPC. O Amazon EKS exige que as suas sub-redes stejam com a opção de Auto-assign de endereços IPv6 habilitada. Por padrão, ele está desabilitado.

Somente sub-redes privadas

Essa VPC tem três sub-redes privadas que são implantadas em diferentes zonas de disponibilidade na região AWS. Os recursos implantados nas sub-redes não podem acessar a Internet, nem a internet pode acessar os recursos nas sub-redes. O modelo cria endpoints de VPC usando AWS PrivateLink para vários serviços AWS que os nós normalmente precisam acessar. Se seus nós precisarem de acesso à Internet de saída, você poderá adicionar um gateway de NAT público na Zona de disponibilidade de cada sub-rede após a criação da VPC. É criado um grupo de segurança que nega todo o tráfego de entrada, exceto de recursos implantados nas sub-redes. Um grupo de segurança também permite todo o tráfego de saída. As sub-redes são marcadas para que o Kubernetes possa implantar nelas balanceadores de carga internos. Se estiver criando uma VPC com essa configuração, consulte Implementar clusters privados com acesso limitado à internet para conhecer requisitos e considerações adicionais.

  1. Abra o console do AWS CloudFormation.

  2. Na barra de navegação, selecione uma região da AWS que ofereça suporte ao Amazon EKS.

  3. Escolha Create stack (Criar pilha), With new resources (Com novos recursos (padrão)).

  4. Em Prepare template (Preparar o template), verifique se a opção Template is ready (O template está pronto) está selecionada e, em Template source (Origem do template), selecione Amazon S3 URL (URL do Amazon S3).

  5. Cole o seguinte URL na área de texto em Amazon S3 URL (URL do Amazon S3) e escolha Next (Próximo):

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
  1. Na página Specify Details (Especificar detalhes), insira os parâmetros e escolha Next (Próximo).

    • Nome da pilha: escolha um nome para a pilha do AWS CloudFormation. Por exemplo, você pode chamá-lo de amazon-eks-fully-private-vpc. O nome só pode conter caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hifens. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster.

    • VpcBlock: escolha um bloco CIDR para a VPC. Cada nó, Pod e balanceador de carga implantado recebe um endereço IPv4 desse bloco. Os valores padrão de IPv4 fornecem endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-los. Para obter mais informações, consulte VPC and subnet sizing (Dimensionamento da VPC e da sub-rede) no Guia do usuário da Amazon VPC. Você também pode adicionar blocos CIDR adicionais à VPC depois que ela for criada.

    • PrivateSubnet01Block: especifique um bloco CIDR para a sub-rede 1. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

    • PrivateSubnet02Block: especifique um bloco CIDR para a sub-rede 2. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

    • PrivateSubnet03Block: especifique um bloco CIDR para a sub-rede 3. O valor padrão fornece endereços IP suficientes para a maioria das implementações, mas se isso não acontecer, você poderá alterá-lo.

  2. (Opcional) Na página Options (Opções), marque os recursos da pilha. Escolha Próximo.

  3. Na página Revisar, escolha Criar.

  4. Quando a pilha estiver criada, selecione-a no console e escolha Outputs (Saídas).

  5. Registre o VpcId para a VPC que foi criada. Você precisará disso ao criar seu cluster e nós.

  6. Registre os SubnetIds para as sub-redes que foram criadas. É necessário pelo menos dois deles ao criar seu cluster e os nós.

  7. (Opcional) Todos os clusters que você implantar nessa VPC podem atribuir endereços IPv4 privados aos seus Pods e services. Se quiser implantar clusters nessa VPC para atribuir endereços IPv6 privados aos seus Pods e services, faça atualizações na VPC, na sub-rede, em tabelas de rotas e em grupos de segurança. Para obter mais informações, consulte Migrar VPCs existentes de IPv4 para IPv6 no Guia do usuário da Amazon VPC. O Amazon EKS exige que as suas sub-redes estejam com a opção de endereços Auto-assign IPv6 habilitada (é desabilitada por padrão).