Usamos um serviço cuja API rejeitará solicitações, a menos que o IP de origem tenha sido previamente incluído na lista de permissões. Eles nos dão apenas 3 slots, o que é um problema porque temos mais de 3 máquinas que precisam usar a API.
Qual é a técnica mais comum para solucionar esse problema?
Nota: não estou tentando fazer nada contra os Termos e Condições da API de terceiros. Estamos usando o ResellerClub e entrei em contato para pedir mais slots, mas eles responderam:
Solicito que você gentilmente encaminhe seus servidores para alguns conjuntos de IPs.
Daí esta pergunta.
Pensamentos:
- Eu estava pensando que poderíamos resolver o problema executando uma espécie de proxy que atua como um intermediário. Em vez de fazer solicitações de API para terceiros, nós as fazemos para nosso proxy, que devolve a solicitação para terceiros, para que todas as solicitações pareçam vir de um IP aos olhos deles. Existe um software comum para fazer esse tipo de coisa? Parece mais simples fazer isso do que os pensamentos abaixo, mas estou errado?
- O uso de "uma instância NAT" é algo que devo investigar? por exemplo , http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html . Parece complicado - Não existe uma solução mais simples? (Executar uma instância extra com complexidade de rede extra é uma pena).
- Como usamos o Docker, o Weave pode ser relevante?
- Podemos anexar um IP estático ao gateway VPC? Eu vi que é possível com o AWS Storage Gateway ( source ) - não tenho certeza sobre um vpc igw regular?
Nossa arquitetura: Usamos AWS e temos nossas instâncias em uma VPC rodando atrás de um ELB. Frequentemente criamos novas instâncias sem saber os endereços IP com antecedência. Executamos software idêntico em todas as máquinas. As máquinas rodam CoreOS e nosso app roda em containers Docker.