Crea un singolo IP in uscita per una determinata rete


12

Sto cercando di determinare il modo migliore in GCP per assegnare un singolo indirizzo IP esterno per il traffico OUTBOUND. Il mio caso d'uso: devo fornire un IP statico a terze parti in modo che possano inserirle nella whitelist, in modo che le mie istanze possano accedere alla loro API. Poiché in futuro potrei aggiungere o sottrarre istanze GCE, non desidero fornire loro più IP statici che potrebbero cambiare.

Ho trovato una domanda simile qui, ma non ero sicuro che risolvesse il mio caso d'uso.

Ho impostato una rete GCP standard; non ci sono VPN e tutte le VM hanno IP esterni univoci. In realtà mi piace così perché devo essere in grado di eseguire SSH sulle macchine virtuali. Ma dalle mie macchine virtuali a Internet, vorrei che il traffico sembrasse che provenisse tutto da un singolo IP. Il pensiero immediato che mi viene in mente e che i documenti suggeriscono è creare un'istanza NAT, quindi instradare il traffico in uscita attraverso quello. Alcuni problemi con questo approccio:

  1. Devo impostare e mantenere una scatola esclusivamente ai fini del NAT
  2. Non è HA; se tale istanza o zona di disponibilità muore, le altre mie istanze non saranno in grado di instradare il traffico esternamente
  3. Non sembra molto ripetibile se devo ricreare la configurazione in futuro

In particolare, sto usando GKE / Kubernetes per questo progetto. Esiste una best practice per realizzare questo caso d'uso che è HA, bassa manutenzione e ripetibile?


Credo che l'opzione migliore per te sia quella di configurare una VPN, che ti aiuterà anche durante l'utilizzo di GKE. Ad esempio: serverfault.com/questions/750389/gke-pod-connecting-via-vpn , ed è conveniente.
George,

@George Non penso che VPN funzionerebbe per questo, perché non controllo l'altro lato. Come in, non stabilirei una VPN con la terza parte; Devo instradare il traffico su Internet.
rob-cng,

1
Quindi avere NAT Gateway dovrebbe farlo, ma questo causerà un singolo punto di errore. Mi è venuta in mente anche una cosa, avere IP statici per le tue istanze e far sì che l'altra parte li abbia autorizzati. Se si desidera eliminare una qualsiasi delle istanze, l'IP sarà comunque riservato che è possibile collegare alle istanze appena create. E fintanto che l'IP viene utilizzato (collegato a un'istanza), è gratuito.
George,

Sì, penso che dovremo andare avanti con questa soluzione alternativa fino a quando GCP uscirà con NAT come servizio simile a AWS. Grazie
rob-cng

1
Sei mai stato in grado di risolvere questo problema? In tal caso, considera di pubblicare una risposta autonoma in modo che la community possa trarne vantaggio
Faizan,

Risposte:



3

Google Cloud ora fornisce un servizio NAT Gateway gestito - Cloud NAT .

Questo gateway può essere utilizzato con un cluster GKE, che fornisce un IP di uscita pubblico stabile a tutti i pod al suo interno, che consente loro di essere autorizzati da fornitori di servizi di terze parti.

L'implementazione di esempio per l'utilizzo di Cloud NAT con GKE è fornita qui - https://cloud.google.com/nat/docs/gke-example

Inoltre, poiché si tratta di un NAT basato su software gestito, la larghezza di banda e la disponibilità non saranno influenzate.

Tuttavia, è necessario un host bastion per poter accedere alle istanze.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.