Для № 1 я думаю, что Вы не должны определять местоположение пользователя собой, существует много сервисов там, таких как dnspod.com
Вот одно решение, которое я использовал, хотя обратите внимание, что оно требует ручного шага и знания вашего бесплатного эластичного пула IP:
ножа ec2 создать сервер
- associate-eip <свободный эластичный IP-адрес>