Группы автоматического масштабирования AWS EC2, RDS, Route 53 и постоянно меняющиеся IP-адреса
Я установил группу автоматического масштабирования на EC2 вместе с экземпляром RDS Postgres. Я не использую ELB. Может быть, я должен быть...
Проблема в том, что каждый раз, когда создается новый экземпляр EC2, он назначает уникальный общедоступный IP-адрес. Это означает, что к группе безопасности для RDS необходимо применить новое правило для входящих подключений, которое позволяет этому новому экземпляру EC2 подключаться к RDS через порт 5432 (postgresql).
Я также столкнулся с проблемой Route 53, так как новый IP-адрес должен быть добавлен к DNS-записи "A Record", чтобы правильно разрешить URL.
Есть ли способ настроить AWS, чтобы сделать это для меня, или мне нужно написать код на Python, используя boto?
2 ответа
Это означает, что к группе безопасности для RDS необходимо применить новое правило для входящих подключений, которое позволяет этому новому экземпляру EC2 подключаться к RDS через порт 5432 (postgresql).
Вместо того, чтобы использовать публичные IP-адреса для правил вашей группы безопасности, я предлагаю использовать частные IP-адреса. Запустите EC2 и RDS в одном и том же VPC, а затем разрешите весь диапазон IP-адресов подсети VPC, содержащий ваши экземпляры EC2, в правилах вашей группы безопасности для RDS.
Я также столкнулся с проблемой Route 53, так как новый IP-адрес должен быть добавлен к DNS-записи "A Record", чтобы правильно разрешить URL.
У вас в основном есть 3 варианта:
- Используйте ELB
- Напишите сценарий установки, который запускается на каждом экземпляре и автоматически обновляет DNS
- Используйте OpsWorks, который позволяет вам создать экземпляр HAProxy с EIP, а затем автоматически добавляет новые экземпляры сервера приложений в этот экземпляр HAProxy при запуске
Не добавляйте индивидуально IP-адрес каждого экземпляра EC2 в вашу входящую группу безопасности. Вместо этого разрешите входящий трафик из группы безопасности экземпляров EC2. Тогда любому экземпляру EC2, который использует эту группу безопасности, будет разрешен доступ из того же правила.
Вообще говоря, группы автоматического масштабирования лучше всего использовать за эластичными балансировщиками нагрузки, если требуется внешний доступ. Это связано с тем, что группы автоматического масштабирования обычно используются, когда экземпляры должны запускаться и останавливаться динамически в зависимости от нагрузки или других показателей. Когда клиент подключается к вашей группе, обычно ему не важно, с кем он на самом деле подключается. Назначая отдельные IP-адреса каждому экземпляру, внешний мир должен отслеживать все эти экземпляры.