Я запустил два экземпляра EC2 в группе автомасштабирования Elastic Beanstalk в VPC. Приложение на этих экземплярах EC2 должно подключиться к сторонней службе, которая использует белый список IP-адресов для разрешения доступа. Итак, я использую NAT Gateway, чтобы иметь статические IP-адреса, чтобы их можно было добавить в белый список. Третья сторона уже предоставила доступ к IP-адресам от двух шлюзов NAT, которые я настроил на консоли aws. Но пока не могу подключиться. В среде разработки, которая принимает любое IP-соединение, приложение работает нормально.
Есть шанс, что я использую неправильный IP? Какую команду я могу использовать, чтобы узнать, какой IP-адрес мое приложение получает в Интернете? Я сделал traceroute от сервера до сторонней службы, и он не показал IP-адрес NAT Gatewa, верно?
Один из эффективных способов независимо идентифицировать / подтвердить адрес источника, который вы используете при прохождении через устройство NAT (шлюз или экземпляр), - это сделать исходящий запрос к службе в Интернете, которая ответит, указав исходный адрес, с которого он видел ваш запрос прибудет.
Один из примеров такой услуги ...
$ curl icanhazip.com # this the actual URL for the service
203.0.113.9 # example response for IPv4
Не видеть внешний адрес источника NAT-устройства в исходящей трассировке - это нормально, поскольку этот адрес обычно находится на дальней стороне устройства, через которое вы проходите, и ответ - если таковой имеется - обычно будет интерфейсом лицом к вам.