Como você obtém as instâncias do AWS VPC EC2 para poder ver as APIs da AWS?

6

Estamos criando uma infraestrutura dentro de um AWS VPC por meio do CloudFormation.

Estamos usando grupos de escalonamento automático para exibir instâncias de VPC-EC2 (portanto, não exibimos instâncias diretamente; os ASGs gerenciam isso).

Dentro de um PVC, as instâncias do EC2 têm apenas um IP privado; eles não podem ver o mundo exterior sem mais trabalho .

Quando essas instâncias são ativadas, temos algumas tarefas de inicialização que exigem conversas com as várias APIs da AWS. Também temos algumas tarefas contínuas que exigem tráfego da AWS API.

Como você está lidando com esse problema aparente de ovo de galinha?

Nós lemos sobre:

  • instâncias NAT - mas não gosto muito disso porque é outra camada para nossa pilha.
  • atribuindo IPs elásticos a cada instância de VPC que precisa falar - mas a) todos eles fazem, e b) já que estamos usando ASGs, não sabemos em quais instâncias atribuir EIPs no tempo de provisionamento e c) precisaríamos configurar algo para monitorar esses ASGs e atribuir EIPs quando as instâncias forem finalizadas e substituídas
  • gerando uma instância (na verdade, um par de balanceamento de carga, provavelmente abrangendo AZs) para atuar como um proxy da API da AWS para todo o tráfego da API

Acho que estou querendo saber se há algum tipo de porta traseira que permita que as instâncias do VPC EC2 acessem os pontos de extremidade da API da AWS, mas nada mais, para configuração de complexidade barata, que não adicione outra rede -hop camada para nossa infra-estrutura para atender solicitações.

    
por Peter Mounce 28.03.2012 / 17:21

2 respostas

3

Você abordou as principais formas de obter uma instância de VPC em uma sub-rede privada para conversar com o mundo externo.

  1. O tráfego da Internet da sub-rede privada deve ser roteado para fora de um túnel VPN conectado ao seu escritório, que pode fornecer acesso ao restante da Internet. Não é ideal, pois exige um túnel VPN sempre ativo e um salto extra pelo escritório.

Eu sugeriria usar instâncias NAT, essa é a configuração recomendada para obter acesso à Internet a máquinas dentro de sub-redes particulares. Eles são configurados por sub-rede, portanto, suas máquinas não precisam ter nenhum conhecimento de sua configuração ao serem iniciadas. Apenas certifique-se de usar uma instância m1.large ou maior para obter o maior rendimento de rede (vs m1.small)

    
por 25.07.2012 / 19:36
2

A partir de abril de 2015, a AWS agora oferece uma solução direta para esse problema: Endpoints da VPC

A VPC endpoint enables you to create a private connection between your VPC and another AWS service without requiring access over the Internet, through a NAT instance, a VPN connection, or AWS Direct Connect. Endpoints are virtual devices. They are horizontally scaled, redundant, and highly available VPC components that allow communication between instances in your VPC and AWS services without imposing availability risks or bandwidth constraints on your network traffic.

    
por 08.06.2015 / 19:09