у меня есть несколько серверов веб-приложений, работающих на разных экземплярах Amazon EC2. На данный момент я могу получить доступ к этим серверам на клиентских устройствах, назначив эластичный IP-адрес экземплярам EC2, а затем вызывая API, используя эластичный IP-адрес напрямую или указав купленное доменное имя на эластичный IP-адрес. Однако сейчас я исчерпал лимит эластичного IP-адреса, а это означает, что мне придется отменить назначение эластичного IP-адреса одного экземпляра, прежде чем назначать его новому экземпляру, и я не хочу этого делать, поскольку старые приложения все еще используются.
Я огляделся, чтобы посмотреть, смогу ли я найти решение для этой проблемы, и наткнулся на некоторые многообещающие вещи, такие как:
, но я не знаю. Я плохо в них разбираюсь, так как я новичок в инфраструктуре. Я ищу здесь, чтобы кто-нибудь указал мне правильное направление в отношении того, какой метод использовать и почему, а также, в идеале, некоторый материал, который я мог бы изучить, чтобы лучше понять эти концепции в деталях.
TLDR :Как лучше всего создать несколько несвязанных общедоступных веб-приложений, каждое из которых находится в своем отдельном экземпляре EC2, в одной учетной записи в AWS, не превышая при этом предел эластичности IP-адресов?
Часто используется обратный прокси-сервер, который отправляет трафик на разные восходящие серверы.
Например:
https://example.com/api1 -> 10.100.10.1
https://example.com/api2 -> 10.100.10.2
Существуют разные способы настройки такого обратного прокси. Можно настроить экземпляр EC2 с nginx, настроенным как обратный прокси.
AWS также предлагает разные способы реализации одних и тех же функций:AWS API Gateway, Application Load Balancer и Cloudfront.
Ограничения предназначены для защиты вас от случайных трат и защиты инфраструктуры AWS от пользователей. Если у вас есть законная потребность в дополнительных ресурсах, таких как эластичные IP-адреса, и у вас есть учетная запись с хорошей репутацией, вы просто запрашиваете увеличение лимита.
Для этого перейдите в AWS Support , выберите «Создать обращение», «Увеличение лимита обслуживания» и выберите ресурс, который вы хотите увеличить.
Я также обращу ваше внимание на «Квоты сервисов AWS» на панели инструментов, где показаны ограничения по умолчанию и ваши текущие ограничения.
Другой способ
Размещать EIP и инстансы EC2 в сети — это нормально. В некоторых случаях лучше создать Application Load Balancer, связать его с https-сертификатом, созданным в AWS Certificate Manager, и передать его прокси-трафик на частные IP-адреса вашего экземпляра EC2. Это стоит немного больше, но обеспечивает дополнительную изоляцию вашего сервера(s)от Интернета. Это также может помочь смягчить некоторые типы DDOS-атак.
Реализовать IPv6. AWS может назначать глобально уникальные адреса экземплярам или балансировщикам нагрузки. Нет необходимости в квотах или изменении адресов, так как невозможно исчерпать ваш личный префикс /56.
К сожалению, это неполное решение, если у ваших пользователей еще нет IPv6. Запросите увеличение квоты эластичного IP-адреса, если вам нужно больше.