Освобождение эластичного IP на В EC2 Cloudfront перестал работать

, я достиг предела эластичных IP-адресов в моей учетной записи AWS. У меня есть приложение Elastic Beanstalk, которое обслуживается через Cloudfront. Я подумал, что, поскольку CNAME приложения сопоставлен с CNAME Cloudfront, выпуск эластичного IP-адреса экземпляра ec2 приложения EB должен быть нормальным, поэтому я сделал это. Однако приложение EB перестало работать. Даже если я попытался получить доступ к веб-приложению с помощью Cloudfront ' s CNAME, он по-прежнему недоступен. Экземпляру ec2 был назначен общедоступный IP-адрес вскоре после выпуска эластичного IP.

Может кто-нибудь пролить свет? Как я могу исправить эту проблему?

Спасибо

1
задан 27 September 2018 в 14:17
2 ответа

Вкратце: CloudFront не сидит в вашем VPC и разговаривает с ваш EB через общедоступный Интернет. Следовательно, вашему EB требуется общедоступный IP-адрес, который будет доступен из CloudFront . Общедоступный IP-адрес может быть эластичным IP-адресом или «стандартным» эфемерным общедоступным IP-адресом.

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

Я не уверен, может ли EB работать со стандартными общедоступными IP-адресами (не EIP). Я думаю, не потому, что они довольно нестабильны и непредсказуемы, и может быть довольно сложно обновлять имя EB DNS при их изменении. С другой стороны, эластичные IP-адреса назначаются вашей учетной записи, и их можно перемещать из экземпляра EB в экземпляр, поэтому нет необходимости обновлять DNS.

Возможно, вам придется снова подключить старый EIP к EB, чтобы он снова заработал.

Я предлагаю вам подать Запрос на поддержку AWS ➡ Увеличение лимита обслуживания и запросить количество доступных EIP , увеличенное на 5 или 10.

Надеюсь, что это поможет:)

1
ответ дан 3 December 2019 в 23:12

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

Для сред с одним экземпляром, как в моем случае здесь,AWS назначает эластичный IP-адрес, несмотря ни на что. Согласно документам:

Среда с одним экземпляром содержит один экземпляр Amazon EC2 с эластичным IP-адресом.

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

Решение:

Я исправил это, изменив среду на балансировку нагрузки, с 1 мин. и 1 макс., количество экземпляров всегда будет оставаться 1. Среда с балансировкой нагрузки полагается на CNAME ELB, а не на IP-адрес EC2, поэтому даже публичный IP-адрес моего экземпляра ec2 изменился, запись DNS для моего приложения EB не пострадала, как и распределение облачного интерфейса.

0
ответ дан 3 December 2019 в 23:12

Теги

Похожие вопросы