Je vais avoir un certain nombre d'instances EC2 dans un groupe de mise à l'échelle automatique Elastic Beanstalk dans un sous-réseau par défaut dans un VPC. L'application sur ces instances EC2 doit se connecter à un service tiers qui utilise une liste blanche d'adresses IP pour autoriser l'accès. J'ai donc besoin d'une ou plusieurs adresses IP statiques que je peux donner à ce fournisseur de services afin qu'elles puissent être ajoutées à la liste blanche. Ma compréhension est que la seule façon d'obtenir une adresse IP statique est d'obtenir une adresse IP élastique. Et je ne peux associer l'IP Elastic qu'à une seule instance EC2 à la fois - je ne peux pas l'associer à tout mon sous-réseau ou à ma passerelle Internet (est-ce correct?). Ai-je donc besoin d'une adresse IP élastique pour chaque instance EC2, afin que chaque instance puisse être ajoutée séparément à la liste blanche? Comment cela fonctionnerait-il si la mise à l'échelle automatique ajoute une autre instance? Dois-je avoir une instance EC2 avec une adresse IP élastique, et acheminer tout le trafic sortant via cette instance? Si tel est le cas, cette instance doit-elle être uniquement à cette fin ou peut-elle être l'une des instances qui exécutent mon application?
la source
Je comprends que c'est un vieux fil de discussion - pour quelqu'un qui a maintenant un cas d'utilisation similaire, AWS nat-gateway serait une meilleure solution.
la source
Je n'ai pas assez de réputation pour commenter les réponses ci-dessus, mais je voulais ajouter quelques informations que vous devrez savoir si vous utilisez une passerelle NAT pour y parvenir. Lorsque vous créez une passerelle NAT, vous sélectionnez un sous-réseau et une adresse IP élastique.
Au début, je viens d'ajouter la passerelle NAT au même sous-réseau que mon équilibreur de charge élastique et mes instances EC2. Ensuite, vous devez ajouter la passerelle NAT à votre table de routage. J'ai ajouté la passerelle NAT comme cible pour l'IP de mon serveur de base de données externe que j'essayais de contacter. Cela a entraîné la fin des applications hébergées dans mon haricot élastique. C'est parce qu'ils essayaient de se connecter à cette base de données externe via le NAT. Ils ont atteint le NAT, puis le NAT a tenté de contacter mon serveur via Internet et l'a recherché dans la table de routage pour le sous-réseau sur lequel il se trouvait, qui pointait vers lui-même, créant une boucle.
La solution est, avant de créer votre passerelle NAT, de créer un nouveau sous-réseau juste pour le NAT afin que le NAT ait son propre sous-réseau et table de routage. Dans la table de routage du NAT, pointez tout le trafic vers la passerelle Internet. Dans votre table de routage principale, pointez votre IP externe vers le NAT. Ensuite, lorsque vos instances EC2 tentent de se connecter à votre IP externe, elles les recherchent dans la table de routage principale (ou dans la table de routage que vous avez définie pour les sous-réseaux dans lesquels se trouvent vos instances), et trouvent le NAT. Ensuite, votre NAT recherchera cette IP dans sa propre table de routage et trouvera Internet.
la source