Jak umożliwić elastyczną funkcję równoważenia obciążenia przez port 80 w grupach zabezpieczeń?

18

Chcę tymczasowo zablokować port 80 dla świata zewnętrznego, ale chcę, aby moduł równoważenia obciążenia przeszedł przez zaporę (za pośrednictwem grupy zabezpieczeń), aby nie zobaczyła instancji jako niezdrowej. Jak mogę to zrobić?

Aktualizacja: Chcę również wiedzieć, jak mogę pozwolić tylko sobie na dostęp do elastycznego modułu równoważenia obciążenia za pośrednictwem portu 80 (ale uniemożliwić dostęp innym). Wiem, że moduł równoważenia obciążenia nie ma określonych grup zabezpieczeń, które mogę skonfigurować i powiedzieć, aby akceptował tylko mój adres IP, ale czy jest jakiś inny sposób?

Idan Shechter
źródło

Odpowiedzi:

17

To, na co Eric wskazuje długą drogę, ale w rzeczywistości nie stwierdza, że ​​musisz autoryzować źródło jako amazon-elb/amazon-elb-sg. Jeśli robisz to przez konsolę AWS Management Console, zostanie ona automatycznie uzupełniona, gdy zaczniesz wpisywać ją w polu źródłowym. Obsługuję kilka konfiguracji ELB i wszystkie one umożliwiają dostęp do 80 / TCP za pośrednictwem tej grupy zabezpieczeń i statycznych adresów IP moich systemów monitorowania.

Aby odpowiedzieć na zaktualizowane informacje o żądaniu, nie można ograniczyć adresów IP, które mogą trafić do ELB. Może to być możliwe po stronie serwera Apache, jeśli napiszesz reguły, które sprawdzają nagłówki i podejmują decyzje o odrzuceniu widoku strony. Moim sposobem ograniczenia dostępu do testowania jest dodanie mojego statycznego adresu IP do grupy zabezpieczeń, która może trafić do instancji EC2 przez port 80 / TCP i po prostu usunąć instancję z ELB na potrzeby testowania.

Jeremy Bouse
źródło
4
Rzeczą, która rzuciła mnie tą odpowiedzią był tekst amazon-elb / amazon-elb-sg sformatowany jako kod, co sugerowało, że był to jakiś magiczny aws id. W rzeczywistości wszystko, co musisz zrobić, to wpisać sg-w polu źródłowym, a otrzymasz listę rozwijaną dla wszystkich różnych grup zabezpieczeń.
krock
6

Amazon ogłosił wsparcie dla tego w kwietniu:

Możesz teraz skonfigurować instancje EC2 siedzące za elastycznym modułem równoważącym obciążenie, aby odbierać ruch tylko z modułu równoważącego obciążenie, używając specjalnej grupy zabezpieczeń powiązanej z elastycznym modułem równoważącym obciążenie. Aby to zrobić, należy wywołać interfejs API DescribeLoadBalancers, aby uzyskać nazwę SecurityGroup, a następnie dołączyć tę grupę do listy grup, gdy następnie uruchomisz niektóre instancje EC2. Nazwę grupy zabezpieczeń można również uzyskać z panelu szczegółów modułu równoważenia obciążenia w konsoli AWSManagement.

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

Eric Hammond
źródło
Nie odpowiedział na pytanie, w jaki sposób mogę pozwolić sobie tylko na dostęp do modułu równoważenia obciążenia dla portu 80, a nie na bezpośredni dostęp do serwera EC2. Nie ma żadnej grupy zabezpieczeń dla modułu równoważenia obciążenia.
Idan Shechter
Co powiesz na ochronę strony hasłem, z wyjątkiem adresu URL kontroli stanu?
Eric Hammond
Jak uzyskać nazwę grupy zabezpieczeń modułu równoważenia obciążenia za pomocą interfejsu użytkownika konsoli zarządzania?
Idan Shechter
1

Powinienem dodać, że amazon-elb/amazon-elb-sgjest to domyślna nazwa grupy zabezpieczeń modułu równoważenia obciążenia. Jeśli zmienisz nazwę grupy zabezpieczeń, dodawanie amazon-elb/amazon-elb-sgnie będzie działać. Bardziej ogólną odpowiedzią jest dodanie identyfikatora grupy zabezpieczeń lub nazwy grupy zabezpieczeń modułu równoważenia obciążenia do grupy zabezpieczeń wszystkich instancji uczestniczących w klastrze.


źródło
1

Utwórz nową grupę zabezpieczeń dla ELB, a następnie zezwól tylko na dostęp do EC2 z grupy zabezpieczeń ELB. Zmień ustawienia zabezpieczeń w sekcji VPC, aby łatwiej to zrobić.

Specyficzny adres IP / zakres -> ELB -> EC2 (tylko grupa ELB) ->

Mam wiele środowisk programistycznych, które mają prywatny dostęp przez ELB, ale mają kontrole zdrowia wymagane do monirotowania serwera.

użytkownik1573604
źródło