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

у меня есть несколько серверов веб-приложений, работающих на разных экземплярах Amazon EC2. На данный момент я могу получить доступ к этим серверам на клиентских устройствах, назначив эластичный IP-адрес экземплярам EC2, а затем вызывая API, используя эластичный IP-адрес напрямую или указав купленное доменное имя на эластичный IP-адрес. Однако сейчас я исчерпал лимит эластичного IP-адреса, а это означает, что мне придется отменить назначение эластичного IP-адреса одного экземпляра, прежде чем назначать его новому экземпляру, и я не хочу этого делать, поскольку старые приложения все еще используются.

Я огляделся, чтобы посмотреть, смогу ли я найти решение для этой проблемы, и наткнулся на некоторые многообещающие вещи, такие как:

  • динамический DNS
  • VPC
  • Elastic Load Balancer

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

TLDR :Как лучше всего создать несколько несвязанных общедоступных веб-приложений, каждое из которых находится в своем отдельном экземпляре EC2, в одной учетной записи в AWS, не превышая при этом предел эластичности IP-адресов?

1
задан 18 November 2021 в 12:59
3 ответа

Часто используется обратный прокси-сервер, который отправляет трафик на разные восходящие серверы.

Например:

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.

1
ответ дан 18 November 2021 в 14:19

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

Для этого перейдите в AWS Support , выберите «Создать обращение», «Увеличение лимита обслуживания» и выберите ресурс, который вы хотите увеличить.

Service Limit Increase

Я также обращу ваше внимание на «Квоты сервисов AWS» на панели инструментов, где показаны ограничения по умолчанию и ваши текущие ограничения.

Service Limits

Другой способ

Размещать EIP и инстансы EC2 в сети — это нормально. В некоторых случаях лучше создать Application Load Balancer, связать его с https-сертификатом, созданным в AWS Certificate Manager, и передать его прокси-трафик на частные IP-адреса вашего экземпляра EC2. Это стоит немного больше, но обеспечивает дополнительную изоляцию вашего сервера(s)от Интернета. Это также может помочь смягчить некоторые типы DDOS-атак.

2
ответ дан 18 November 2021 в 16:09

Реализовать IPv6. AWS может назначать глобально уникальные адреса экземплярам или балансировщикам нагрузки. Нет необходимости в квотах или изменении адресов, так как невозможно исчерпать ваш личный префикс /56.

К сожалению, это неполное решение, если у ваших пользователей еще нет IPv6. Запросите увеличение квоты эластичного IP-адреса, если вам нужно больше.

0
ответ дан 18 November 2021 в 16:12

Теги

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