Temos várias instâncias do EC2 que hospedam nossos microsserviços. O grupo de servidores de dimensionamento automático possui um ELB. Todo o tráfego é roteado pelo AWS API Gateway. O problema é que o ELB tem sua porta HTTPS aberta ao mundo.
Como proteger nossos servidores, para que o tráfego só possa passar pelo API Gateway?
Desde novembro de 2017, agora é possível interagir diretamente com os servidores em um VPC \ o /
/programming/32671394/can-i-specify-http-endpoint-in-a-vpc-as-resource-in-aws-api-gateway
http://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html
— Maxime Thoonsen
Você pode tentar adicionar mais algumas informações do aws doc, caso o aws mova o documento para que o futuro leitor possa pesquisar um termo específico para encontrá-lo novamente, se o link quebrar.
A melhor proteção para seus servidores, se você não quiser expor seus HTTPS ao mundo, seria isolá-los em uma VPC .
No entanto, o API Gateway não pode ser configurado para interagir diretamente com os servidores em uma VPC / sub-rede (ainda). Para contornar essa limitação, você pode proxy seu tráfego do API Gateway através do AWS Lambda para alcançar a VPC. O blog da AWS possui uma excelente postagem no blog que explica exatamente como fazê-lo.
Isolar seus servidores em uma VPC será mais seguro do que mantê-los na Internet pública e tentar criar algo para detectar se o tráfego é legítimo (proveniente do gateway da API).
A proxy através do Lambda seria extremamente cara para qualquer API moderadamente ativa. Deve haver opções melhores do que isso.
Extremamente caro? Como assim? Você pode compartilhar suas estatísticas de uso?
Digamos 150 milhões de execuções por mês, até 400ms por solicitação. Selecionando o tipo Lambda de 128mb de menor desempenho. A calculadora em s3.amazonaws.com/lambda-tools/pricing-calculator.html mostra cerca de US $ 150 / mês. Na verdade, não é extremamente caro, mas também não é insignificante.