Назад | Перейти на главную страницу

Изменяется ли общедоступный IP-адрес VPC в Amazon EC2, если интернет-шлюз не меняется?

В Amazon EC2 VPC есть экземпляр только с частным IP-адресом 192.168.1.100. VPC использует Интернет-шлюз для подключения к общедоступной сети. Я нашел свой IP-адрес с помощью curl -s checkip.dyndns.org, пусть будет 1.2.3.4

Теперь мне нужно связаться с третьей стороной, чтобы они разрешили входящие запросы с моего адреса 1.2.3.4 на своем брандмауэре. Я не хочу когда-нибудь просыпаться и узнавать, что сервер не может взаимодействовать с сторонним API, потому что мой ip изменился для них, и брандмауэр блокирует все с их стороны.

Мой главный вопрос: останется ли общедоступный IP-адрес моего экземпляра таким же для стороннего брандмауэра в случае, если Интернет-шлюз для VPC не изменится? Или нет возможности поддерживать мой общедоступный IP-адрес, и единственный вариант - использовать либо Эластичный IP адрес или NAT-шлюз служба?

Краткий ответ: назначьте ElasticIP-адрес. Это бесплатно.

Длинный ответ: лучший способ найти ваш общедоступный IP-адрес - использовать метаданные экземпляра. Это дает вам ваш общедоступный или эластичный IP-адрес.

curl http://169.254.169.254/latest/meta-data/public-ipv4
(response) 1.2.3.4

Ваш автоматически назначенный общедоступный IP-адрес изменится, если вы остановите и запустите свой экземпляр, но не изменится, если вы перезагрузите операционную систему экземпляра. Однако автоматически назначаемые IP-адреса не предназначены для длительного использования.

Назначьте ElasticIP своему экземпляру. Это не изменится. Единственное предостережение: «С вас будет взиматься плата» 0,005 доллара США за эластичный IP-адрес, не связанный с работающим экземпляром, в час на пропорциональной основе ». Если вы запрашиваете ElasticIP, а затем сразу же назначьте его своему экземпляру, это не будет стоить. EIP заменяет ваш автоматически назначенный общедоступный IP-адрес.

Интернет-шлюз не имеет значения, это логическая концепция, позволяющая общаться в Интернете. Если бы вы использовали NAT, чтобы позволить экземплярам в частной подсети разговаривать с Интернетом, вам бы пришлось использовать его IP, но это не похоже на то, что вы это делаете.

Если вы не выделяете EIP для своего экземпляра, публичный адрес, назначенный экземпляру, изменится, если экземпляр будет остановлен, а затем перезапущен.

Плата за выделение EIP не взимается до тех пор, пока то, что вы выделяете, активно используется в работающем экземпляре (см. https://aws.amazon.com/premiumsupport/knowledge-center/elastic-ip-charges/)

Я видел экземпляры EC2 с временем безотказной работы более года. Я также был в ситуации, когда долго работающие экземпляры останавливались (не мной) - я предполагаю, что это было из-за сбоя системы (гипервизора) или стойки, частью которой гипервизор был списан.

Рекомендации: если вы не выделяете EIP,

  • публичный адрес останется прежним до тех пор, пока экземпляр не будет остановлен
  • нет возможности вернуть этот адрес

Если вы выделяете EIP:

  • Бесплатно, если EIP не подключен к работающему экземпляру

    • в пределах us-west-2 выделенный неиспользованный EIP будет стоить вам 12 центов в день
  • выделенный EIP прикрепляется к вашей учетной записи / VPC, пока вы его не отпустите

  • когда вы выпускаете EIP, он исчезает. Вероятность того, что вы его вернете, мала