Test para comunicar lambdas medite reglas de ruteo de una NAT-Gateway
Este Script puede ser funcionar en dos modos: API y HOOK
Esta lambda podrá recibir POSTs directos y emulará comunicarse con un proveedor, que en este caso será un webhook de prueba del sitio https://webhook.site/ Este webhook deberá siempre mostrar la IP del NAT-Gateway y no de la lambda. Es decir, esta lambda deberá estár detrás de una NAT-Gateway.
Para probar, se deberá hacer un POST a la lambda, al path /api con cualquier body, por ejemplo:
{
"attr1": "value1"
}
El webhook deberá mostrar el body enviado y la IP del NAT-Gateway, no de la lambda.
- Ajusta la variable de entorno WEBHOOK_URL a el webhook que creaste
- Ajusta la variable de entorno LAMBDA_MOOD a "api"
- Ajusta la variable de entorno GIN_MODE a "release"
$ WEBHOOK_URL="https://webhook.site/<your-uuid>"
$ LAMBDA_MOOD="api"
$ GIN_MODE="release"- Desplegar este script en una lambda como Zip
$ GOOS=linux GOARCH=arm64 go build -o bootstrap main.go
$ zip bootstrap.zip bootstrapLa NAT-Gateway deberá tener una regla de ruteo que cualquier POST saliente a "https://webhook.site/< your-uuid >" deberá ser enmascarada con la IP de la NAT-Gateway.
Este script servirá para poder configurar una regla de ruteo en una NAT-Gateway y que cualquier POST que reciba la NAT-Gateway sea redirijida a la lambda hook.
- ajusta la variable de entorno LAMBDA_MOOD a "hook"
$ LAMBDA_MOOD="hook"
$ GIN_MODE="release"Para probar, se deberá hacer un GET a la lambda al path /api con cualquier body, por ejemplo:
{
"attr1": "value1"
}
La NAT-Gateway deberá tener una regla de ruteo que cualquier GET, POST, PUT que reciba, deberá deberá ser redireccionada a esta Lambda hook.