Comment connecter un équilibreur de charge public à des instances EC2 qui ont des adresses IP privées ?

Date de la dernière mise à jour : 02/02/2017

Je souhaite créer un équilibreur de charge Internet public et associer des instances Amazon EC2 back-end qui ne sont pas accessibles publiquement, par exemple, des instances dans un sous-réseau privé. Comment faire ?

Brève description

Vous devez créer des sous-réseaux publics dans les mêmes zones de disponibilité que les sous-réseaux privés qui sont utilisés par vos instances privées. Ensuite, associez ces sous-réseaux publics à l'équilibreur de charge accessible sur Internet.

Sous-réseau public

Si le trafic par défaut d'un sous-réseau est acheminé vers une passerelle Internet, le sous-réseau est reconnu comme sous-réseau public. Par exemple, une instance lancée dans ce sous-réseau est accessible publiquement si une adresse IP Elastic ou une adresse IP publique lui est associée.

Sous réseau privé

Si le trafic par défaut d'un sous-réseau est acheminé vers une instance/passerelle NAT ou n'a pas de route par défaut, le sous-réseau est reconnu comme sous-réseau privé. Par exemple, une instance lancée dans ce sous-réseau n'est pas accessible publiquement, même si une adresse IP Elastic ou une adresse IP publique lui est associée.

Solution

  1. Répertorier les zones de disponibilité qui disposent des instances à associer à l'équilibreur de charge.
  2. Créez un nombre égal de sous-réseaux publics dans les mêmes zones de disponibilité où se trouvent vos instances privées. Pour que l'équilibreur de charge puisse se dimensionner correctement, vérifiez que chaque sous-réseau de l'équilibreur de charge dispose d'un bloc CIDR avec au moins un masque de bits /27 (par exemple, 10.0.0.0/27) et d'au moins 8 adresses IP libres. Votre équilibreur de charge utilise ces adresses IP pour établir des connexions avec les instances back-end. Pour plus d'informations, consultez Clouds VPC et sous-réseaux.
    Remarque : si vous disposez de plusieurs sous-réseaux privés dans une même zone de disponibilité qui contient des instances qui doivent être enregistrées dans l'équilibreur de charge, vous devez créer uniquement un sous-réseau public. Vous avez besoin d'un seul sous-réseau public par zone de disponibilité. Vous pouvez ajouter les instances privées dans tous les sous-réseaux privés qui résident dans cette zone de disponibilité.
  3. Dans la console Amazon EC2, créez un équilibreur de charge et associez-lui les nouveaux sous-réseaux publics. Pour plus d'informations, consultez Étape 1 : Sélection d'un type d'équilibreur de charge et Étape 2 : Définir votre équilibreur de charge.
  4. Ajoutez les instances privées à l'équilibreur de charge. Pour les instructions, consultez Étape 5 : Enregistrer les instances EC2 dans votre équilibreur de charge.

Résolution des problèmes

  1. Assurez-vous que les ports d'écoute du groupe de sécurité qui est attribué à l'équilibreur de charge sont ouverts.
  2. Assurez-vous que les groupes de sécurité des instances privées permettent le trafic sur les ports d'écoute et les ports de vérification de l'état (dans le cas où la vérification de l'état n'est pas sur l'un des ports d'écoute).

Vous pouvez également ajouter une règle au groupe de sécurité de l'instance pour autoriser le trafic du groupe de sécurité affecté vers l'équilibreur de charge. Par exemple, si le groupe de sécurité de l'équilibreur de charge est sg-1234567a, apportez les modifications suivantes au niveau du groupe de sécurité associé aux instances privées :

Type Protocole Plage de ports Source
HTTP TCP 80 sg-1234567a

Pour plus d'informations, consultez Groupes de sécurité Amazon EC2 pour les instances Linux.