Как разрешить эластичный балансировщик нагрузки через порт 80 в группах безопасности?

18

Я хочу временно заблокировать порт 80 для внешнего мира, но хочу, чтобы балансировщик нагрузки проходил через брандмауэр (через группу безопасности), чтобы он не рассматривал экземпляр как нездоровый. Как я могу это сделать?

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

Идан Шехтер
источник

Ответы:

17

Эрик делает долгий путь, чтобы указать вам, но на самом деле не утверждает, что вы должны авторизовать источник как amazon-elb/amazon-elb-sg. Если вы делаете это через Консоль управления AWS, она автоматически завершится, когда вы начнете вводить ее в поле источника. Я использую несколько конфигураций ELB, и все они разрешают доступ к 80 / TCP через эту группу безопасности и статические IP-адреса моих систем мониторинга.

Чтобы обратиться к обновленной информации запроса, вы не можете ограничивать, какие IP-адреса могут попадать в ELB. Это может быть возможно на стороне сервера Apache, если вы пишете правила, которые смотрят на заголовки и принимают решения отклонить просмотр страницы. Мой способ ограничения доступа для тестирования - добавить мой статический IP-адрес в группу безопасности, которой разрешен доступ к экземпляру EC2 через порт 80 / TCP, и просто вывести экземпляр из ELB для тестирования.

Джереми Бауз
источник
4
То, что бросило меня с этим ответом, было текстом amazon-elb / amazon-elb-sg, отформатированным как код, который подразумевал, что это был некоторый волшебный идентификатор aws. В действительности все, что вам нужно сделать, это ввести sg-в поле источника, и вы получите раскрывающийся список для всех различных групп безопасности.
Крок
6

Amazon объявила о поддержке этого в апреле:

Теперь вы можете настроить экземпляры EC2, сидящие за Elastic Load Balancer, для получения трафика только от Load Balancer, используя специальную группу безопасности, связанную с Elastic Load Balancer. Для этого вы вызываете API DescribeLoadBalancers, чтобы получить имя SecurityGroup, и затем включаете эту группу в список групп при последующем запуске некоторых экземпляров EC2. Имя группы безопасности также можно получить из панели сведений о балансировщике нагрузки в консоли AWSManagement.

http://aws.typepad.com/aws/2011/05/elastic-load-balancing-ipv6-zone-apex-support-additional-security.html

Эрик Хаммонд
источник
Он не ответил на вопрос, как я могу разрешить только себе доступ к балансировщику нагрузки для порта 80, а не мне доступ к серверу EC2 напрямую. Для балансировщика нагрузки нет группы безопасности.
Идан Шехтер
Как насчет защиты паролем сайта, за исключением URL проверки работоспособности?
Эрик Хаммонд,
Как я могу получить имя группы безопасности балансировщика нагрузки через интерфейс консоли управления?
Идан Шехтер
1

Я должен добавить, что amazon-elb/amazon-elb-sgэто имя по умолчанию для группы безопасности балансировщика нагрузки. Если вы изменили имя группы безопасности, добавление amazon-elb/amazon-elb-sgне будет работать. Более общим ответом является добавление идентификатора группы безопасности или имени группы безопасности балансировщика нагрузки в группу безопасности всех экземпляров, участвующих в кластере.


источник
1

Создайте новую группу безопасности для ELB, затем разрешите доступ к EC2 только из группы безопасности ELB. Измените настройки безопасности в разделе VPC, чтобы упростить это.

Конкретный IP / диапазон -> ELB -> EC2 (только группа ELB) ->

У меня есть несколько dev env, которые имеют частный доступ через ELB, но имеют проверки работоспособности, необходимые для мониторинга сервера.

user1573604
источник