Мы хотим настроить группу безопасности, которая будет более конкретной и управляемой, а концепция, которую мы придумали, заключается в следующем:
И экземпляр EC2 DB, который применяет вышеуказанные SG.
И интенс EC2 для веб-приложения, которое пытается подключиться к БД.
Наш AWS использует подсеть в качестве базовой защиты, а наша база данных недоступна для общественности, и вам необходимо сначала получить доступ в основном экземпляре, прежде чем вы сможете получить доступ к серверу базы данных.
Но при тестировании не сработало. Есть идеи, как заставить это работать?
Группы безопасности AWS работают как белые списки: каждая строка является разрешающим правилом. Все, что не разрешено, запрещено, но то, что разрешено, разрешено, вы не можете переопределить это в любом другом правиле.
Грубо говоря, группы безопасности могут разрешать определенный входящий трафик от:
К сожалению, вы не можете указать что-либо более сложное, например «разрешить доступ из любого экземпляра, который не имеет общедоступного IP-адреса» - вы можете указать только группу безопасности источника. Как вы правильно предположили, группы безопасности, перечисленные в Source
поле можно рассматривать как метки.
Итак, в вашем случае конфигурация должна быть такой:
SG-доступ-из должен быть настроен для разрешения подключений через 22 / TCP из экземпляров EC2, принадлежащих sg-private-group. Однако вы должны убедиться, что все экземпляры EC2, принадлежащие sg-private-group действительно не имеют публичных IP-адресов.
Подробнее см. Группы безопасности AWS документ:
Для каждого правила вы указываете следующее:
- Протокол: Разрешенный протокол. Наиболее распространены протоколы 6 (TCP), 17 (UDP) и 1 (ICMP).
- Диапазон портов : Для TCP, UDP или настраиваемого протокола - диапазон разрешенных портов.
- Тип и код ICMP: Для ICMP - тип и код ICMP. Источник или место назначения: источник (правила для входящего трафика) или пункт назначения (правила для исходящего трафика) для трафика. Укажите один из следующих вариантов:
- Индивидуальный IPv4-адрес. Вы должны использовать префикс / 32 после IPv4-адреса; например, 203.0.113.1/32.
- (Только VPC) Индивидуальный адрес IPv6. Вы должны использовать длину префикса / 128; например 2001: db8: 1234: 1a00 :: 123/128.
- Диапазон IPv4-адресов в блочной записи CIDR, например 203.0.113.0/24.
- (Только VPC) Диапазон адресов IPv6 в блочной нотации CIDR, например 2001: db8: 1234: 1a00 :: / 64.
- Еще одна группа безопасности. Это позволяет экземплярам, связанным с указанной группой безопасности, получать доступ к экземплярам, связанным с этой группой безопасности. Это не добавляет правила из исходной группы безопасности в эту группу безопасности. Вы можете указать одну из следующих групп безопасности:
- Текущая группа безопасности.
- EC2-Classic: другая группа безопасности для EC2-Classic в том же регионе.
- EC2-Classic: группа безопасности для другой учетной записи AWS в том же регионе (добавьте идентификатор учетной записи AWS в качестве префикса; например, 111122223333 / sg-edcd9784).
- EC2-VPC: другая группа безопасности для того же VPC или однорангового VPC в одноранговом соединении VPC.