Como posso fazer com que um lambda chame instâncias ec2 por meio de seu endereço IP privado?
Resumindo, criando um bot discord para meus colegas de servidor Minecraft iniciarem e interromperem a instância AWS e lidarem com o desligamento automático se não houver ninguém no servidor.
A função Lambda cuidaria da inicialização, parada, obtenção do endereço IP público atribuído automaticamente atual e confirmação de que o servidor está sendo executado por meio do protocolo de consulta do Minecraft (porta UDP 25565)
Estou tentando fazer isso da maneira mais econômica possível e quero ver se consigo fazer isso sem um endereço IP elástico atribuído. Pois terei mais de um servidor minecraft que precisará ser lançado. E há uma taxa se esse servidor estiver offline com um endereço IP elástico ou se você estiver usando mais de 1 IP elástico.
Testei a mesma função quando o mesmo servidor estava usando um endereço IP elástico e funcionou conforme o esperado. Agora quero saber se posso fazer o mesmo com o endereço IP privado.
Responder1
Se ainda não tiver feito isso, você precisará conectar o Lambda ao VPC em que a instância do EC2 está sendo executada. https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
Por padrão, as funções Lambda só podem se comunicar com recursos na Internet pública, portanto, o IP público da instância EC2, as APIs da AWS, etc.
A partir daí, você precisa garantir que o grupo de segurança (SG) atribuído à instância EC2 possa receber tráfego (de entrada) do SG atribuído à função Lambda. Esta seria a porta UDP 25565 ou o que você precisar.
Você também precisa ter certeza de que o SG atribuído à função Lambda pode fazer conexões de saída com o SG atribuído à instância EC2, novamente na porta UDP 2265 ou o que você precisar. Isso é um pouco mais fácil, pois a política de saída geralmente é totalmente aberta.
Para testar, você pode atribuir o SG para a função Lambda a instâncias EC2 diferentes, colocar a instância desempenhando o papel da função Lambda na(s) mesma(s) sub-rede(s) ajudará a validar ainda mais a configuração.