Conceitos básicos do AWS PrivateLink - Amazon Virtual Private Cloud

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceitos básicos do AWS PrivateLink

Este tutorial demonstra como enviar uma solicitação de uma instância do EC2 em uma sub-rede privada para o Amazon CloudWatch usando o AWS PrivateLink.

O diagrama a seguir fornece uma visão geral desse cenário. Para se conectar do seu computador à instância na sub-rede privada, primeiro é necessário conectar a um host bastion em uma sub-rede pública. Tanto o host bastion quanto a instância devem usar o mesmo par de chaves. Como o arquivo .pem da chave privada está no seu computador, e não no host bastion, você usará o encaminhamento de chaves SSH. Em seguida, você poderá conectar à instância desde o host bastion sem especificar o arquivo .pem no comando ssh. Depois de configurar um endpoint da VPC para o CloudWatch, o tráfego da instância destinada ao CloudWatch é resolvido para a interface de rede do endpoint e, em seguida, enviado para o CloudWatch usando o endpoint da VPC.

Uma instância em uma sub-rede privada acessa o CloudWatch usando um endpoint da VPC.

Para fins de teste, é possível usar uma única zona de disponibilidade. Em um ambiente de produção, recomendamos usar pelo menos duas zonas de disponibilidade para garantir baixa latência e alta disponibilidade.

Etapa 1: criar uma VPC com sub-redes

Use o procedimento a seguir para criar uma VPC com uma sub-rede pública e uma sub-rede privada.

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

  2. Escolha Criar VPC.

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

  4. Em Name tag auto-generation (Geração automática de tags de nome), insira um nome para a VPC.

  5. Para configurar as sub-redes, faça o seguinte:

    1. Em Number of Availability Zones (Número de zonas de disponibilidade), escolha 1 ou 2 dependendo das suas necessidades.

    2. Em Number of public subnets (Número de sub-redes públicas), verifique se você tem uma sub-rede pública por zona de disponibilidade.

    3. Em Number of private subnets (Número de sub-redes privadas), verifique se você tem uma sub-rede privada por zona de disponibilidade.

  6. Escolha Criar VPC.

Etapa 2: iniciar as instâncias

Usando a VPC criada na etapa anterior, inicie o host bastion na sub-rede pública e a instância na sub-rede privada.

Pré-requisitos
  • Crie um par de chaves usando o formato .pem. É necessário escolher esse par de chaves ao iniciar o host bastion e a instância.

  • Crie um grupo de segurança para o host bastion que permita o tráfego SSH de entrada do bloco CIDR para seu computador.

  • Crie um grupo de segurança para a instância que permita o tráfego SSH de entrada do grupo de segurança para o host bastion.

  • Crie um perfil da instância do IAM e anexe a política CloudWatchReadOnlyAccess.

Para iniciar o host bastion
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Escolha Iniciar instância.

  3. Em Name (Nome), insira um nome para o host bastion.

  4. Mantenha os valores padrão de imagem e tipo de instância.

  5. Em Key pair (Par de chaves), selecione seu par de chaves.

  6. Em Network settings (Configurações de rede), faça o seguinte:

    1. Em VPC, escolha sua VPC.

    2. Em Subnet (Sub-rede), escolha a sub-rede pública.

    3. Em Auto-assign public IP (Atribuir IP público automaticamente), selecione Enable (Habilitar).

    4. Em Firewall, escolha Select existing security group (Selecionar grupo de segurança existente) e, em seguida, escolha o grupo de segurança para o host bastion.

  7. Escolha Iniciar instância.

Para iniciar a instância
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Escolha Iniciar instância.

  3. Em Name (Nome), insira um nome para a instância.

  4. Mantenha os valores padrão de imagem e tipo de instância.

  5. Em Key pair (Par de chaves), selecione seu par de chaves.

  6. Em Network settings (Configurações de rede), faça o seguinte:

    1. Em VPC, escolha sua VPC.

    2. Em Subnet (Sub-rede), escolha a sub-rede privada.

    3. Em Auto-assign public IP (Atribuir IP público automaticamente), selecione Disable (Desabilitar).

    4. Em Firewall, escolha Select existing security group (Selecionar grupo de segurança existente) e, em seguida, escolha o grupo de segurança para a instância.

  7. Expanda Advanced details (Detalhes avançados). Em IAM instance profile (Perfil de instância do IAM), escolha o perfil de instância do IAM.

  8. Escolha Iniciar instância.

Etapa 3: testar o acesso ao CloudWatch

Use o seguinte procedimento para confirmar que a instância não consegue acessar o CloudWatch. Você fará isso usando um comando AWS CLI somente de leitura para o CloudWatch.

Para testar o acesso ao CloudWatch
  1. Em seu computador, adicione o par de chaves ao agente SSH usando o comando a seguir, em que key.pem é o nome do arquivo .pem.

    ssh-add ./key.pem

    Se você receber um erro informando que as permissões do seu par de chaves estão muito abertas, execute o comando a seguir e repita o comando anterior.

    chmod 400 ./key.pem
  2. Conecte ao host bastion do seu computador. É necessário especificar a opção -A, o nome de usuário da instância (por exemplo, ec2-user) e o endereço IP público do host bastion.

    ssh -A ec2-user@bastion-public-ip-address
  3. Connect à instância desde o host bastion. Você deve especificar o nome de usuário da instância (por exemplo,ec2-user) e o endereço IP privado da instância.

    ssh ec2-user@instance-private-ip-address
  4. Execute o comando list-metrics do CloudWatch na instância conforme mostrado a seguir. Para a opção --region, especifique a região em que você a VPC foi criada.

    aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1
  5. Após alguns minutos, o tempo limite do comando é excedido. Isso demonstra que você não pode acessar o CloudWatch pela instância com a configuração atual da VPC.

    Connect timeout on endpoint URL: https://monitoring.us-east-1.amazonaws.com/
  6. Permaneça conectado à sua instância Depois de criar o endpoint da VPC, você tentará este comando list-metrics novamente.

Etapa 4: criar um endpoint da VPC para acessar o CloudWatch

Use o seguinte procedimento para criar um endpoint da VPC que se conecta ao CloudWatch.

Pré-requisito

Crie um grupo de segurança para o endpoint da VPC que permita o tráfego para o CloudWatch. Por exemplo, adicione uma regra que permita o tráfego de HTTPS do bloco CIDR da VPC.

Para criar um endpoint da VPC para o CloudWatch.
  1. Abra o console da Amazon VPC, em https://console.aws.amazon.com/vpc/.

  2. No painel de navegação, escolha Endpoints.

  3. Escolha Criar endpoint.

  4. Em Name tag (Etiqueta de nome), insira um nome para o endpoint.

  5. Em Service category (Categoria de serviço), escolha Serviços da AWS.

  6. Em Service (Serviço), selecione com.amazonaws.region.monitoring.

  7. Em VPC, selecione sua VPC.

  8. Em Subnets (Sub-redes), selecione a zona de disponibilidade e, em seguida, selecione a sub-rede privada.

  9. Em Security group (Grupo de segurança), selecione o grupos de segurança para o endpoint da VPC.

  10. Em Policy (Política), selecione Full access (Acesso total) para permitir todas as operações de todas as entidades principais em todos os recursos no endpoint da VPC.

  11. (Opcional) Para adicionar uma tag, escolha Adicionar nova tag e insira a chave e o valor da tag.

  12. Escolha Criar endpoint. O status inicial é Pending (Pendente). Antes de passar para a próxima etapa, aguarde até que o status se torne Available (Disponível). Isso pode levar alguns minutos.

Etapa 5: testar o endpoint da VPC

Verifique se o endpoint da VPC está enviando solicitações da sua instância para o CloudWatch.

Para testar o endpoint da VPC

Execute o seguinte comando na sua instância. Para a opção --region, especifique a região em que o endpoint da VPC foi criado.

aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1

Se você receber uma resposta, mesmo uma resposta com resultados vazios, estará conectado ao CloudWatch usando o AWS PrivateLink.

Se você receber um erro UnauthorizedOperation, certifique-se de que a instância tenha um perfil do IAM que permita acesso ao CloudWatch.

Se a solicitação atingir o tempo limite, verifique o seguinte:

  • O grupo de segurança do endpoint permite tráfego para o CloudWatch.

  • A opção --region especifica a região na qual você criou o endpoint da VPC.

Etapa 6: limpar

Se o host bastion e a instância criados durante este tutorial não forem mais necessários, você poderá encerrá-los.

Para encerrar as instâncias
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione ambas as instâncias de teste e escolha Instance state (Estado da instância) e Terminate instance (Encerrar instância).

  4. Quando a confirmação for solicitada, escolha Terminate (Encerrar).

Caso não precise mais do endpoint da VPC, você poderá excluí-lo.

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

  2. No painel de navegação, escolha Endpoints.

  3. Selecione o endpoint da VPC.

  4. Escolha Actions (Ações), Delete VPC endpoints (Excluir endpoints da VPC).

  5. Quando a confirmação for solicitada, insira delete e escolha Excluir.