Comment autoriser l'équilibreur de charge élastique via le port 80 dans les groupes de sécurité?

18

Je veux bloquer temporairement le port 80 pour le monde extérieur, mais je veux que l'équilibreur de charge passe à travers le pare-feu (via le groupe de sécurité) afin qu'il ne considère pas l'instance comme malsaine. Comment puis je faire ça?

Mise à jour: Je veux également savoir comment puis-je autoriser uniquement moi-même à accéder à l'équilibreur de charge élastique via le port 80 (mais empêcher les autres d'accéder). Je sais que l'équilibreur de charge n'a pas de groupes de sécurité spécifiques que je peux configurer et lui dire d'accepter uniquement mon adresse IP, mais existe-t-il une autre façon de le faire?

Idan Shechter
la source

Réponses:

17

Ce qu'Eric prend du temps pour vous indiquer, mais ne le dit pas, c'est que vous devez autoriser la source en tant que amazon-elb/amazon-elb-sg. Si vous effectuez cette opération via AWS Management Console, il se terminera automatiquement lorsque vous commencerez à le saisir dans le champ source. J'exploite plusieurs configurations ELB et elles permettent toutes d'accéder à 80 / TCP via ce groupe de sécurité et les adresses IP statiques de mes systèmes de surveillance.

Pour traiter les informations de demande mises à jour, vous ne pouvez pas restreindre les adresses IP pouvant atteindre l'ELB. Cela pourrait être possible côté serveur Apache si vous écrivez des règles qui regardent les en-têtes et prennent des décisions pour rejeter la vue de page. Ma façon de restreindre l'accès aux tests consiste à ajouter mon adresse IP statique au groupe de sécurité autorisé à accéder à l'instance EC2 via le port 80 / TCP et à simplement retirer l'instance de l'ELB pour les tests.

Jeremy Bouse
la source
4
La chose qui m'a jeté avec cette réponse était le texte amazon-elb / amazon-elb-sg formaté en code qui impliquait que c'était un id aws magique. En réalité, tout ce que vous avez à faire est de taper sg-dans le champ source et vous obtenez une liste déroulante pour tous les différents groupes de sécurité.
krock
6

Amazon a annoncé sa prise en charge en avril:

Vous pouvez désormais configurer des instances EC2 situées derrière un équilibreur de charge élastique pour recevoir le trafic uniquement de l'équilibreur de charge en utilisant un groupe de sécurité spécial associé à l'équilibreur de charge élastique. Pour ce faire, vous appelez l'API DescribeLoadBalancers pour obtenir le nom du SecurityGroup, puis incluez ce groupe dans la liste des groupes lorsque vous lancez par la suite certaines instances EC2. Le nom du groupe de sécurité peut également être obtenu à partir du volet de détails de l'équilibreur de charge dans AWSManagement Console.

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

Eric Hammond
la source
Cela n'a pas répondu à la question: comment puis-je autoriser uniquement moi-même à accéder à l'équilibreur de charge pour le port 80, pas moi accéder directement au serveur EC2. Il n'existe aucun groupe de sécurité pour l'équilibreur de charge lui-même.
Idan Shechter
Que diriez-vous de simplement protéger le site par mot de passe, à l'exception de l'URL du bilan de santé?
Eric Hammond
Comment obtenir le nom du groupe de sécurité de l'équilibreur de charge via l'interface utilisateur de la console de gestion?
Idan Shechter
1

Je dois ajouter que amazon-elb/amazon-elb-sgc'est le nom par défaut du groupe de sécurité de l'équilibreur de charge. Si vous avez modifié le nom du groupe de sécurité, l'ajout amazon-elb/amazon-elb-sgne fonctionnera pas. Une réponse plus générique consiste à ajouter l'ID du groupe de sécurité ou le nom du groupe de sécurité de l'équilibreur de charge au groupe de sécurité de toutes les instances participant au cluster.


la source
1

Créez un nouveau groupe de sécurité pour l'ELB, puis n'autorisez l'accès à l'EC2 qu'à partir du groupe de sécurité ELB. Modifiez les paramètres de sécurité dans la section VPC pour faciliter cette opération.

IP / plage spécifique -> ELB -> EC2 (uniquement groupe ELB) ->

J'ai plusieurs environnements de développement qui ont un accès privé via ELB, mais ont des vérifications de santé requises pour le monirotation du serveur.

user1573604
la source