У меня есть два экземпляра в разных группах безопасности VPC, каждая со своим собственным общедоступным IP-адресом. Я хотел бы, чтобы первый экземпляр мог подключаться к второму экземпляру на его общедоступном IP-адресе. Я обнаружил, что предоставление доступа группе безопасности разрешает доступ только к частному IP, а не к общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (думаю, Ansible), поскольку мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP. каждый со своим публичным IP. Я хотел бы, чтобы первый экземпляр мог подключиться к второму экземпляру по общедоступному IP-адресу. Я обнаружил, что предоставление доступа группе безопасности разрешает доступ только к частному IP, а не к общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (подумайте о Ansible), так как мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP. каждый со своим публичным IP. Я хотел бы, чтобы первый экземпляр мог подключиться к второму экземпляру по общедоступному IP-адресу. Я обнаружил, что предоставление доступа группе безопасности разрешает доступ только к частному IP, а не к общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (думаю, Ansible), поскольку мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP. s Публичный IP. Я обнаружил, что предоставление доступа группе безопасности разрешает доступ только к частному IP, а не к общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (подумайте о Ansible), так как мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP. s Публичный IP. Я обнаружил, что предоставление доступа группе безопасности разрешает доступ только к частному IP, а не к общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (думаю, Ansible), поскольку мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (подумайте о Ansible), так как мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP.
Я определил свою группу безопасности, чтобы разрешить доступ к общедоступному IP-адресу экземпляра, который находится в другой группе безопасности. Однако это неудобно, так как я не могу легко автоматизировать это (думаю, Ansible), поскольку мне сначала нужно будет выполнить поиск имени DNS, прежде чем я смогу добавить его в группу.
Кто-нибудь знает о более простой способ сделать это?
Подводя итог:
Экземпляр 1 требуется для доступа к Экземпляру 2 по общедоступному IP. В настоящее время мне приходится вручную искать IP-адрес экземпляра 1 и, в свою очередь, добавлять его в группу безопасности экземпляра 2.
Боюсь, что как только вы перейдете на общедоступные IP-адреса, вы больше не сможете использовать идентификатор группы безопасности в качестве источника в целевой SG. Это работает только для частных IP-адресов.
Однако, если вы создаете экземпляр 1 с помощью Ansible, вы можете затем использовать Ansible fact для экземпляра, чтобы получить его общедоступный IP-адрес и установить его как источник в Экземпляр 2 SG . Что-то вроде этого должно работать:
- name: Create Instance 1
ec2:
key_name: mykey
instance_type: t2.micro
image: ami-123456
wait: yes
assign_public_ip: yes <<< Assign Public IP
register: ec2
А затем вы можете добавить его в качестве источника в группу безопасности экземпляра 2 :
- name: Instance 2 SG
ec2_group:
name: ...
rules:
- proto: tcp
ports:
- 80
cidr_ip: "{{ ec2.instances.public_ip }}" <<< Use it here
Что-то в этом роде должно позволить вам выполнять автоматизацию с помощью Ansible.
Надеюсь, что это поможет :)
Обычно вы создаете именованную группу безопасности, присоединяете ее к этим экземплярам и добавляете правило, которое ссылается на эту группу безопасности как на источник и разрешает необходимые порты назначения.
Окончательное изображение :
созданная группа безопасности
. группа безопасности
содержит правила, которые устанавливают входящий из созданной группы безопасности
в порт назначения, который вам нужен
Таким образом, в основном даже один IP-адрес не требуется, а разрешить / запретить можно контролировать, прикрепив группу безопасности к ресурсам, к которым необходим доступ. Этот метод также хорошо работает с динамическими средами (например, с автомасштабированием).
Запросы с общедоступного IP-адреса экземпляра не обрабатываются так, как будто они поступают из групп безопасности экземпляра. Это работает только для запросов, использующих частные IP-адреса.
Я рекомендую исходному экземпляру использовать DNS-адрес для целевого экземпляра, который разрешается в частный IP-адрес целевого экземпляра. Например: вы создаете запись CNAME my-service.example.com
, которая указывает на общедоступное DNS-имя целевого экземпляра, предоставленное AWS. Общедоступное DNS-имя будет выглядеть примерно так ec2-public-ipv4-address.compute-1.amazonaws.com
.
AWS обеспечивает разрешение DNS с разделенным горизонтом. Когда my-service.example.com
разрешается в общедоступном Интернете, возвращается общедоступный IP-адрес. Когда my-service.example.com
разрешается в вашем VPC, возвращается частный IP-адрес. Поэтому ваш исходный экземпляр будет подключаться к целевому экземпляру, используя частный IP-адрес, и правила вашей группы безопасности будут работать, как ожидалось.
Такая конфигурация DNS не всегда возможна или практична, поэтому вам может потребоваться внести в белый список общедоступный исходный экземпляр. Айпи адрес. В этом случае убедитесь, что это эластичный IP-адрес - в противном случае общедоступный IP-адрес изменится, если сервер выключится.