Je souhaite développer une fonction Google Cloud qui s'abonnera aux modifications de fichiers dans un compartiment Google Cloud Storage et téléchargera le fichier sur un site FTP tiers. Ce site FTP nécessite des adresses IP des clients sur liste blanche.
En tant que tel, il est possible d'obtenir une adresse IP statique pour les conteneurs Google Cloud Functions?
Non, ce n'est pas possible et ne le sera probablement jamais. Cela dit, vous pouvez choisir de mettre sur liste blanche toutes les adresses IP de Google.
Où puis-je trouver les plages IP de Compute Engine? → Fournit une méthode pour accéder à tous ips dans le GCP.
Veuillez toutefois tenir compte des implications en matière de sécurité.
Tout d'abord, ce n'est pas une demande déraisonnable, ne soyez pas éclairé au gaz. AWS Lambdas prend déjà en charge cette fonctionnalité et l'a depuis un certain temps. Si vous êtes intéressé par cette fonctionnalité, veuillez lancer cette demande de fonctionnalité: https://issuetracker.google.com/issues/112629904
Deuxièmement, nous sommes arrivés à une solution de contournement que j'ai également publiée sur ce problème, peut-être que cela fonctionnera aussi pour vous:
Une mise en garde à cette approche: - Nous voulions placer le proxy dans un groupe d'instances géré et derrière un LB interne GCP afin qu'il évolue dynamiquement, mais le support GCP a confirmé que cela n'est pas possible car l'ILB GCP répertorie fondamentalement le sous-réseau, et la fonction cloud CIDR est en dehors de ce sous-réseau
J'espère que ceci est utile.
Mise à jour: L'autre jour, ils ont annoncé une version bêta à accès anticipé pour cette fonctionnalité exacte !!
"Fonctions cloud PM ici. Nous avons en fait un aperçu à accès anticipé de cette fonctionnalité si vous souhaitez la tester.
Veuillez remplir ce formulaire afin que nous puissions vous ajouter ... "
Le formulaire se trouve dans le numéro lié ci-dessus.
Il n'est pas possible d'attribuer une adresse IP statique pour Google Cloud Functions, car elle est à peu près orthogonale à la nature de l'architecture `` sans serveur '', c'est-à-dire allouer et désallouer des serveurs à la demande.
Vous pouvez cependant utiliser un proxy HTTP pour obtenir un effet similaire. Configurez une instance de Google Compute Engine, attribuez-lui une adresse IP statique et installez une bibliothèque de proxy telle que https://www.npmjs.com/package/http-proxy . Vous pouvez ensuite acheminer tous vos appels API externes, etc. via ce proxy.
Cependant, cela réduit probablement l'échelle et la flexibilité, mais cela pourrait être une solution de contournement.