Wie kann ein elastischer Lastausgleich über Port 80 in Sicherheitsgruppen zugelassen werden?

18

Ich möchte Port 80 vorübergehend für die Außenwelt blockieren, möchte jedoch, dass der Lastenausgleich die Firewall (über eine Sicherheitsgruppe) passiert, damit die Instanz nicht als fehlerhaft eingestuft wird. Wie kann ich das machen?

Update: Ich möchte auch wissen, wie ich nur mir den Zugriff auf den Elastic Load Balancer über Port 80 erlauben kann (aber anderen den Zugriff verweigern kann). Ich weiß, dass der Load Balancer keine spezifischen Sicherheitsgruppen hat, die ich einrichten und ihm mitteilen kann, dass er nur meine IP-Adresse akzeptieren soll. Gibt es jedoch eine andere Möglichkeit, dies zu tun?

Idan Shechter
quelle

Antworten:

17

Was Eric lange braucht, um auf Sie hinzuweisen, aber nicht wirklich angibt, ist, dass Sie die Quelle als die autorisieren müssen amazon-elb/amazon-elb-sg. Wenn Sie dies über die AWS Management Console tun, wird diese automatisch vervollständigt, wenn Sie sie in das Quellfeld eingeben. Ich betreibe mehrere ELB-Konfigurationen und alle erlauben den Zugriff auf 80 / TCP über diese Sicherheitsgruppe und die statischen IP-Adressen meiner Überwachungssysteme.

Um die aktualisierten Anforderungsinformationen zu adressieren, können Sie nicht einschränken, welche IP-Adressen die ELB treffen können. Dies könnte auf der Apache-Serverseite möglich sein, wenn Sie Regeln schreiben, die die Header betrachten und Entscheidungen treffen, um die Seitenansicht abzulehnen. Wenn Sie den Zugriff zum Testen einschränken möchten, fügen Sie meine statische IP-Adresse der Sicherheitsgruppe hinzu, die die EC2-Instanz über Port 80 / TCP erreichen darf, und nehmen Sie die Instanz zum Testen einfach aus der ELB heraus.

Jeremy Bouse
quelle
4
Das, was mich mit dieser Antwort überrumpelte, war der Text amazon-elb / amazon-elb-sg, der als Code formatiert war und implizierte, dass es sich um eine magische aws-ID handelte. In Wirklichkeit müssen sg-Sie nur das Quellfeld eingeben, und Sie erhalten eine Dropdown-Liste für alle verschiedenen Sicherheitsgruppen.
Krock
6

Amazon kündigte dies im April an:

Sie können jetzt EC2-Instanzen, die sich hinter einem Elastic Load Balancer befinden, so konfigurieren, dass sie Datenverkehr nur vom Load Balancer empfangen, indem Sie eine spezielle Sicherheitsgruppe verwenden, die dem Elastic Load Balancer zugeordnet ist. Dazu rufen Sie die DescribeLoadBalancers-API auf, um den Namen der Sicherheitsgruppe abzurufen, und fügen diese Gruppe in die Gruppenliste ein, wenn Sie anschließend einige EC2-Instanzen starten. Der Name der Sicherheitsgruppe kann auch im Detailbereich des Lastenausgleichs in der AWSManagement Console abgerufen werden.

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

Eric Hammond
quelle
Die Frage, wie ich nur mir erlauben kann, auf den Load Balancer für Port 80 zuzugreifen, ohne dass ich direkt auf den EC2-Server zugreife, wurde nicht beantwortet. Es gibt keine Sicherheitsgruppe für den Load Balancer.
Idan Shechter
Wie wäre es nur mit einem Passwort, das die Site schützt, mit Ausnahme der URL für die Integritätsprüfung?
Eric Hammond
Wie kann ich den Namen der Sicherheitsgruppe des Lastenausgleichs über die Benutzeroberfläche der Verwaltungskonsole abrufen?
Idan Shechter
1

Ich sollte hinzufügen, dass dies amazon-elb/amazon-elb-sgder Standardname der Sicherheitsgruppe für den Lastenausgleich ist. Wenn Sie den Namen der Sicherheitsgruppe geändert haben, amazon-elb/amazon-elb-sgfunktioniert das Hinzufügen nicht. Eine allgemeinere Antwort ist das Hinzufügen der Sicherheitsgruppen-ID oder des Sicherheitsgruppennamens des Lastenausgleichs zur Sicherheitsgruppe aller am Cluster beteiligten Instanzen.


quelle
1

Erstellen Sie eine neue Sicherheitsgruppe für die ELB, und gewähren Sie dann nur der ELB-Sicherheitsgruppe Zugriff auf die EC2. Ändern Sie dazu die Sicherheitseinstellungen im Abschnitt VPC.

Spezifische IP / Range -> ELB -> EC2 (nur ELB Group) ->

Ich habe mehrere dev env, die privaten Zugriff über ELB haben, aber Healthchecks, die für das Server-Moniroting erforderlich sind.

user1573604
quelle