В AWS наша группа автоматического масштабирования запускает новые экземпляры в разных зонах доступности (для высокой доступности), и этим веб-экземплярам, конечно же, требуется доступ к службе базы данных (RDS) на порту 3306.
Теперь, какие IP-адреса я должен разрешить в моей группе безопасности RDS для порта 3306?
Поскольку каждый новый запускаемый экземпляр каждый раз имеет другой IP-адрес, как мы можем добавить их в группу безопасности?
Кстати: это проблема не только для группы безопасности RDS, но и для всех групп безопасности, поскольку я не могу их ограничить.
Вы не добавляете IP-адреса для экземпляров EC2 в свою группу безопасности RDS, вы добавляете другую группу безопасности. Это дает каждому экземпляру в группе безопасности, который ваш экземпляр EC2 имеет доступ к вашей группе / ресурсам безопасности RDS.
На этом слегка запутанном изображении вы можете видеть, что моя группа веб-безопасности (окончание f4) добавлена в мою группу безопасности RDS (окончание C6).
Связанная концепция, о которой вы, возможно, знаете, это Роли IAM. Они неприменимы в этой ситуации, но их полезно знать. Они могут разрешить экземпляру EC2 доступ практически к любому ресурсу EC2 (например, S3) без необходимости хранить учетные данные. Экземпляры EC2 нужно запускать с ролью, но я считаю, что политику роли можно изменить на лету.
Ваши недавно запущенные экземпляры будут подключены к собственной группе безопасности. возможно, они являются частью группы автомасштабирования, но на самом деле это не имеет значения. вы можете использовать группу безопасности, которую используют экземпляры, чтобы предоставить доступ к вашему экземпляру RDS:
Обратите внимание, что у нас есть группа безопасности RDS, в которой есть запись, которая разрешает трафик на TCP-порт 3306 из настраиваемого источника, настраиваемый источник - это идентификатор группы безопасности группы безопасности, к которой подключен ваш экземпляр.