Créer une adresse IP sortante unique pour un réseau donné

12

J'essaie de déterminer la meilleure façon dans GCP d'attribuer une seule adresse IP externe pour le trafic OUTBOUND. Mon cas d'utilisation: je dois fournir une adresse IP statique à un tiers afin qu'il puisse la mettre en liste blanche, afin que mes instances puissent accéder à leur API. Parce que je peux ajouter ou soustraire des instances GCE à l'avenir, je ne veux pas leur donner plusieurs adresses IP statiques qui pourraient changer.

J'ai trouvé une question similaire ici, mais je n'étais pas sûre qu'elle réponde à mon cas d'utilisation.

J'ai un réseau GCP standard configuré; il n'y a pas de VPN et toutes les VM ont des IP externes uniques. Je l'aime vraiment de cette façon parce que je dois pouvoir SSH vers les machines virtuelles. Mais de mes machines virtuelles à Internet, j'aimerais que le trafic semble provenir d'une seule IP. La pensée immédiate qui me vient à l'esprit et que les documents suggèrent est de créer une instance NAT, puis d'acheminer le trafic sortant à travers cela. Quelques problèmes avec cette approche:

  1. Je dois configurer et entretenir une boîte uniquement aux fins de NAT
  2. Ce n'est pas HA; si cette instance ou zone de disponibilité meurt, mes autres instances ne pourront pas acheminer le trafic en externe
  3. Cela ne semble pas très reproductible si je dois recréer la configuration à l'avenir

Plus précisément, j'utilise GKE / Kubernetes pour ce projet. Existe-t-il une meilleure pratique pour accomplir ce cas d'utilisation qui est HA, à faible maintenance et répétable?

rob-cng
la source
Je crois que la meilleure option pour vous est de configurer un VPN, ce qui vous aidera également lors de l'utilisation de GKE. Par exemple: serverfault.com/questions/750389/gke-pod-connecting-via-vpn , et c'est rentable.
George
@George Je ne pense pas que VPN fonctionnerait pour cela, car je ne contrôle pas l'autre côté. Comme dans, je ne serais pas en train d'établir un VPN avec le tiers; Je dois acheminer le trafic sur Internet.
rob-cng
1
Donc, avoir NAT Gateway devrait le faire, mais cela entraînera un seul point de défaillance. Une chose qui m'est venue à l'esprit également, avoir des adresses IP statiques pour vos instances et demander à l'autre partie de les mettre sur liste blanche. Si vous souhaitez supprimer l'une des instances, l'adresse IP sera toujours réservée que vous pourrez attacher aux instances nouvellement créées. Et tant que l'IP est utilisée (attachée à une instance), c'est gratuit.
George
Oui, je pense que nous devrons suivre cette solution de contournement jusqu'à ce que GCP propose NAT en tant que service similaire à AWS. Merci
rob-cng
1
Avez-vous déjà pu résoudre ce problème? Si tel est le cas, pensez à publier une auto-réponse afin que la communauté puisse en bénéficier
Faizan

Réponses:

3

Google Cloud fournit désormais un service de passerelle NAT géré - Cloud NAT .

Cette passerelle peut être utilisée avec un cluster GKE, qui fournit une adresse IP de sortie publique stable à tous les pods à l'intérieur, ce qui leur permet d'être mis sur liste blanche par des fournisseurs de services tiers.

L'exemple d'implémentation de l'utilisation de Cloud NAT avec GKE est fourni ici - https://cloud.google.com/nat/docs/gke-example

De plus, comme il s'agit d'un NAT géré par logiciel, la bande passante et la disponibilité ne seront pas affectées.

Cela nécessite toujours un hôte bastion pour pouvoir ssh dans vos instances.

Parag
la source