Vous pouvez activer votre service ou votre tâche Cloud Run pour envoyer du trafic vers un réseau VPC en configurant un connecteur d'accès au VPC sans serveur.
Avant de commencer
Si vous n'avez pas encore de réseau VPC dans votre projet, créez-en un.
Si vous utilisez un VPC partagé, consultez la section Se connecter à un réseau VPC partagé.
Dans la console Google Cloud, assurez-vous que l'API Serverless VPC Access est activée pour votre projet.
Chaque connecteur d'accès au VPC sans serveur nécessite son propre sous-réseau
/28
pour y placer des instances de connecteur. Ce sous-réseau ne doit contenir aucune autre ressource en dehors du connecteur. Si vous n'utilisez pas le VPC partagé, vous pouvez soit créer un sous-réseau que le connecteur pourra utiliser, soit spécifier une plage d'adresses IP personnalisée non utilisée afin que le connecteur puisse créer un sous-réseau pour son utilisation. Si vous choisissez la plage d'adresses IP personnalisée, le sous-réseau créé est masqué et ne peut pas être utilisé dans les règles de pare-feu et les configurations NAT.
Créer un connecteur
Pour envoyer des requêtes à votre réseau VPC et recevoir les réponses correspondantes sans utiliser l'Internet public, vous devez utiliser un connecteur d'accès au VPC sans serveur.
Vous pouvez créer un connecteur à l'aide de la console Google Cloud, de Google Cloud CLI ou de Terraform.
Console
Accédez à la page de présentation de l'accès au VPC sans serveur.
Cliquez sur Créer un connecteur.
Dans le champ Nom, saisissez le nom du connecteur. Cette valeur doit être conforme à la convention d'attribution de noms de Compute Engine, avec une restriction supplémentaire : moins de 21 caractères, les tirets (-) étant comptés comme deux caractères.
Dans le champ Région, sélectionnez une région pour votre connecteur. Elle doit correspondre à la région de votre service sans serveur.
Si votre service ou job se trouve dans la région
us-central
oueurope-west
, utilisezus-central1
oueurope-west1
.Dans le champ Réseau, sélectionnez le réseau VPC auquel associer le connecteur.
Cliquez sur le menu Sous-réseau. Chaque connecteur nécessite son propre sous-réseau
/28
pour y placer des instances. Un sous-réseau ne peut pas être utilisé par d'autres ressources telles que les VM, Private Service Connect ou les équilibreurs de charge.Si vous utilisez un VPC partagé, ce qui nécessite d'utiliser votre propre sous-réseau, sélectionnez un sous-réseau
/28
inutilisé. Pour vérifier que votre sous-réseau n'est pas utilisé par Private Service Connect ni Cloud Load Balancing, vérifiez que le sous-réseaupurpose
est bienPRIVATE
en exécutant la commande suivante dans gcloud CLI :gcloud compute networks subnets describe SUBNET
Remplacez :- SUBNET : nom de votre sous-réseau
Si vous n'utilisez pas de VPC partagé, créez un sous-réseau pour le connecteur ou demandez au connecteur de créer un sous-réseau en sélectionnant Plage d'adresses IP personnalisée dans le menu.
Dans le champ Plage d'adresses IP, saisissez la première adresse d'une plage d'adresses IP internes CIDR
/28
non réservées. Cette plage d'adresses IP ne doit pas chevaucher les réservations d'adresses IP existantes sur votre réseau VPC. Par exemple, la plage10.8.0.0
(/28
) fonctionnera dans la plupart des nouveaux projets.Le sous-réseau créé est masqué et ne peut pas être utilisé dans les règles de pare-feu et les configurations NAT.
Découvrez quelles plages d'adresses IP sont actuellement réservées dans la console Google Cloud.
Apprenez-en plus sur l'utilisation des sous-réseaux.
(Facultatif) Pour définir les options de scaling afin de renforcer le contrôle du connecteur, cliquez sur Afficher les paramètres de scaling pour afficher le formulaire de scaling.
- Définissez le nombre minimal et maximal d'instances de votre connecteur ou utilisez les valeurs par défaut, qui sont 2 (min.) et 10 (max.). Le connecteur effectue un scaling horizontal jusqu'à la valeur maximale spécifiée si l'utilisation du trafic l'exige, mais il ne réduit pas le nombre d'instances lorsque le trafic diminue.
Les valeurs doivent être comprises entre
2
et10
. - Dans le menu Type d'instance, choisissez le type de machine à utiliser pour le connecteur ou utilisez la valeur par défaut
e2-micro
. Notez la barre latérale des coûts sur la droite lorsque vous choisissez le type d'instance, qui affiche des estimations de bande passante et de coûts.
- Définissez le nombre minimal et maximal d'instances de votre connecteur ou utilisez les valeurs par défaut, qui sont 2 (min.) et 10 (max.). Le connecteur effectue un scaling horizontal jusqu'à la valeur maximale spécifiée si l'utilisation du trafic l'exige, mais il ne réduit pas le nombre d'instances lorsque le trafic diminue.
Les valeurs doivent être comprises entre
Cliquez sur Create (Créer).
Une coche verte apparaît à côté du nom du connecteur lorsque celui-ci est prêt à être utilisé.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Mettez à jour les composants
gcloud
vers la dernière version :gcloud components update
Assurez-vous que l'API Serverless VPC Access est activée pour votre projet :
gcloud services enable vpcaccess.googleapis.com
Si vous utilisez un VPC partagé, qui nécessite l'utilisation de votre propre sous-réseau, créez un connecteur à l'aide de la commande suivante :
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region REGION \ --subnet SUBNET \ # If you are not using Shared VPC, omit the following line. --subnet-project HOST_PROJECT_ID \ # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max. --min-instances MIN \ --max-instances MAX \ # Optional: specify machine type, default is e2-micro --machine-type MACHINE_TYPE
Remplacez les éléments suivants :
CONNECTOR_NAME
: nom du connecteur. Cette valeur doit être conforme à la convention d'attribution de noms de Compute Engine, avec une restriction supplémentaire : moins de 21 caractères, les tirets (-) étant comptés comme deux caractères.REGION
: région de votre connecteur. Elle doit correspondre à la région de votre job ou service sans serveur. Si votre service ou job se trouve dans la régionus-central
oueurope-west
, utilisezus-central1
oueurope-west1
.SUBNET
: nom d'un sous-réseau/28
inutilisé- Les sous-réseaux doivent être utilisés exclusivement par le connecteur. Ils ne peuvent pas être utilisés par d'autres ressources telles que les VM, Private Service Connect et les équilibreurs de charge.
- Pour vérifier que votre sous-réseau n'est pas utilisé par Private Service Connect ni Cloud Load Balancing, vérifiez que l'objectif du sous-réseau
purpose
est bienPRIVATE
en exécutant la commande suivante dans gcloud CLI :gcloud compute networks subnets describe SUBNET
Remplacez :- SUBNET : nom de votre sous-réseau
- Apprenez-en plus sur l'utilisation des sous-réseaux.
HOST_PROJECT_ID
: ID du projet hôte. Indiquez-le uniquement si vous utilisez un VPC partagé.MIN
: nombre minimal d'instances à utiliser pour le connecteur. Saisissez un nombre entier compris entre2
et9
. La valeur par défaut est2
. Pour en savoir plus sur le scaling des connecteurs, consultez la page Débit et scaling.MAX
: nombre maximal d'instances à utiliser pour le connecteur. Saisissez un nombre entier compris entre3
et10
. La valeur par défaut est10
. Si le trafic l'exige, le connecteur effectue un scaling horizontal jusqu'aux instances[MAX]
, mais il ne réduit pas le nombre d'instances. Pour en savoir plus sur le scaling des connecteurs, consultez la page Débit et scaling.MACHINE_TYPE
:f1-micro
,e2-micro
, oue2-standard-4
. Pour en savoir plus sur le débit du connecteur, y compris le type de machine et le scaling, consultez la section Débit et scaling.
Pour plus d'informations et d'arguments facultatifs, consultez la documentation de référence sur
gcloud
.Si vous n'utilisez pas de VPC partagé et que vous souhaitez fournir une plage d'adresses IP personnalisée au lieu d'utiliser un sous-réseau existant, créez un connecteur à l'aide de la commande suivante :
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --network VPC_NETWORK \ --region REGION \ --range IP_RANGE
Remplacez les éléments suivants :
CONNECTOR_NAME
: nom du connecteur. Cette valeur doit être conforme à la convention d'attribution de noms de Compute Engine, avec une restriction supplémentaire : moins de 21 caractères, les tirets (-
) étant comptés comme deux caractères.VPC_NETWORK
: réseau VPC auquel associer le connecteur.REGION
: région de votre connecteur. Celle-ci doit correspondre à la région de votre service ou job sans serveur. Si votre service ou job se trouve dans la régionus-central
oueurope-west
, utilisezus-central1
oueurope-west1
.IP_RANGE
: réseau d'adresse IP interne non réservé. Un espace non attribué de/28
est requis. La valeur fournie correspond au réseau au format CIDR (10.8.0.0/28
). Cette plage d'adresses IP ne doit chevaucher aucune réservation d'adresses IP existantes sur le réseau VPC. Par exemple,10.8.0.0/28
fonctionne dans la plupart des nouveaux projets. Le sous-réseau créé pour cette plage est masqué et ne peut pas être utilisé dans les règles de pare-feu et les configurations NAT.
Pour plus d'informations et pour connaître les arguments facultatifs tels que les contrôles de débit, consultez la documentation de référence sur
gcloud
.Avant d'utiliser le connecteur, vérifiez qu'il est dans l'état
READY
:gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region REGION
Remplacez les éléments suivants :
CONNECTOR_NAME
: nom du connecteur. Il s'agit du nom que vous avez spécifié à l'étape précédente.REGION
: région du connecteur. Il s'agit de la région que vous avez spécifiée à l'étape précédente.
Le résultat doit contenir la ligne
state: READY
.
Terraform
Vous pouvez utiliser une ressource Terraform pour activer l'API vpcaccess.googleapis.com
.
Vous pouvez utiliser les modules Terraform pour créer un réseau et un sous-réseau VPC, puis créer le connecteur.
Configurer votre service
Vous devez configurer votre service Cloud Run pour utiliser un connecteur d'accès au VPC sans serveur pour envoyer du trafic de sortie. Pour ce faire, utilisez la console Google Cloud, Google Cloud CLI ou le fichier YAML lorsque vous créez un service ou déployez une nouvelle révision :
Console
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur Créer un service si vous configurez un nouveau service sur lequel effectuer un déploiement. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service selon vos besoins, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Réseau.
-
Dans le champ Réseau, choisissez l'une des options suivantes dans le menu :
- Pour déconnecter votre service d'un réseau VPC, sélectionnez Aucun.
- Pour utiliser un connecteur existant, sélectionnez-le dans la liste déroulante ou Personnalisé pour utiliser un connecteur existant qui ne figure pas dans la liste déroulante.
- Pour créer un connecteur, sélectionnez Ajouter un connecteur VPC. Pour en savoir plus sur la création d'un connecteur, consultez la page Créer un connecteur d'accès au VPC sans serveur.
- Dans le champ Routage du trafic, sélectionnez l'une des options suivantes :
- N'acheminez que les requêtes adressées à des adresses IP privées vers le VPC pour envoyer uniquement le trafic vers des adresses internes via le réseau VPC.
- Acheminez tout le trafic vers le VPC pour envoyer tout le trafic sortant via le réseau VPC.
-
Dans le champ Réseau, choisissez l'une des options suivantes dans le menu :
Cliquez sur Créer ou Déployer.
gcloud
Pour spécifier un connecteur lors du déploiement, utilisez l'option --vpc-connector
:
gcloud run deploy SERVICE --image IMAGE_URL --vpc-connector CONNECTOR_NAME
Remplacez :
SERVICE
par le nom de votre service ;- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante :LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. CONNECTOR_NAME
par le nom de votre connecteur.
Pour associer, mettre à jour ou supprimer un connecteur pour un service existant, utilisez la commande gcloud run services update
avec l'une des options suivantes selon vos besoins :
Par exemple, pour associer ou mettre à jour un connecteur :
gcloud run services update SERVICE --vpc-connector CONNECTOR_NAME
Remplacez :
SERVICE
par le nom de votre service.CONNECTOR_NAME
par le nom de votre connecteur.
YAML
Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML:
gcloud run services describe SERVICE --format export > service.yaml
Ajoutez ou mettez à jour l'attribut
run.googleapis.com/vpc-access-connector
sous l'attributannotations
sous l'attribut de niveau supérieurspec
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME name: REVISION
Remplacez :
- SERVICE par le nom de votre service Cloud Run.
- CONNECTOR_NAME par le nom de votre connecteur.
- REVISION par un nouveau nom de révision ou supprimez-le (le cas échéant). Si vous indiquez un nouveau nom de révision, il doit répondre aux critères suivants :
- Commencer par
SERVICE-
- Ne contenir que des lettres minuscules, des chiffres et
-
- Ne pas se terminer par
-
- Ne pas dépasser 63 caractères
- Commencer par
Créez ou mettez à jour le service à l'aide de la commande suivante:
gcloud run services replace service.yaml
Terraform
Vous pouvez utiliser une ressource Terraform pour créer un service et le configurer pour qu'il utilise votre connecteur.
Configurer votre tâche
Une fois que vous avez créé un connecteur d'accès au VPC sans serveur, vous pouvez configurer votre job Cloud Run pour utiliser le connecteur. Pour ce faire, utilisez la console Google Cloud, Google Cloud CLI ou le fichier YAML lorsque vous créez un job :
Console
Dans la console Google Cloud, accédez à la page des jobs Cloud Run :
Si vous configurez une nouvelle tâche, cliquez sur l'onglet Tâches et remplissez la page des paramètres initiaux de la tâche selon vos besoins. Si vous configurez une tâche existante, cliquez sur celle-ci, puis sur Modifier.
Cliquez sur Conteneur, variables et secrets, connexions, sécurité pour développer la page des propriétés du job.
Cliquez sur l'onglet Connexions.
-
Dans le champ Réseau, choisissez l'une des options suivantes dans le menu :
- Pour déconnecter votre tâche d'un réseau VPC, sélectionnez Aucune.
- Pour utiliser un connecteur existant, sélectionnez-le dans la liste déroulante ou Personnalisé pour utiliser un connecteur existant qui ne figure pas dans la liste déroulante.
- Pour créer un connecteur, sélectionnez Ajouter un connecteur VPC. Pour en savoir plus sur la création d'un connecteur, consultez la page Créer un connecteur d'accès au VPC sans serveur.
-
Dans le champ Réseau, choisissez l'une des options suivantes dans le menu :
Cliquez sur Créer ou Mettre à jour.
gcloud
Pour spécifier un connecteur lors du déploiement du job, utilisez l'option --vpc-connector
:
gcloud run jobs create JOB --image IMAGE_URL --vpc-connector CONNECTOR_NAME
Remplacez :
JOB
par le nom de votre tâche.- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante :LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. CONNECTOR_NAME
par le nom de votre connecteur.
Pour associer, mettre à jour ou supprimer un connecteur pour un service existant, utilisez la commande gcloud run jobs update
avec l'une des options suivantes selon vos besoins :
Par exemple, pour associer ou mettre à jour un connecteur :
gcloud run jobs update JOB --vpc-connector CONNECTOR_NAME
Remplacez :
JOB
par le nom de votre tâche.CONNECTOR_NAME
par le nom de votre connecteur.
YAML
Vous pouvez télécharger et afficher une configuration de job existante à l'aide de la commande gcloud run jobs describe --format export
, qui renvoie les résultats nettoyés au format YAML. Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run jobs replace
.
Veillez à ne modifier que les champs indiqués.
Pour afficher et télécharger la configuration, exécutez la commande suivante :
gcloud run jobs describe JOB --format export > job.yaml
Ajoutez ou mettez à jour l'attribut
run.googleapis.com/vpc-access-connector
sous l'attributannotations
sous l'attribut de niveau supérieurspec
:apiVersion: serving.knative.dev/v1 kind: Job metadata: name: JOB spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
Remplacez :
- JOB par le nom de votre tâche Cloud Run
- CONNECTOR_NAME par le nom de votre connecteur. L'attribut
run.googleapis.com/vpc-access-connector
est obligatoire lorsque vous spécifiez un paramètre de sortie.
Remplacez le job par sa nouvelle configuration à l'aide de la commande suivante :
gcloud run jobs replace job.yaml
Accéder aux ressources VPC
Vous pouvez restreindre l'accès à partir de votre connecteur à l'aide de règles et de stratégies de pare-feu. Vous pouvez également ajouter des restrictions en configurant les paramètres de sortie et d'entrée.
Paramètres des règles et stratégie de pare-feu
Autoriser le trafic d'entrée depuis une infrastructure sans serveur vers un connecteur
Les VM de votre connecteur doivent pouvoir recevoir des paquets à partir de la plage d'adresses IP externe Google Cloud 35.199.224.0/19
. Cette plage est utilisée par l'infrastructure sans serveur Google sous-jacente pour garantir que les services de Cloud Run, Cloud Functions et App Engine peuvent envoyer des paquets au connecteur.
L'accès au VPC sans serveur crée une règle de pare-feu autorisant le trafic entrant qui s'applique aux VM du connecteur en autorisant les paquets provenant de 35.199.224.0/19
lorsque le connecteur se trouve dans le même projet que le réseau VPC qu'il cible. Le connecteur et son réseau VPC cible se trouvent dans le même projet soit lorsque le connecteur cible un réseau VPC autonome, soit lorsque le connecteur cible un réseau VPC partagé et qu'il se trouve dans le projet hôte.
Si vous créez un connecteur dans un projet de service de VPC partagé, un administrateur de sécurité ou un propriétaire de projet hôte de VPC partagé doit créer une règle de pare-feu autorisant le trafic entrant applicable aux VM du connecteur autorisant les paquets provenant de 35.199.224.0/19
. Voici un exemple de règle de pare-feu VPC autorisant le trafic entrant :
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --rules=TCP \ --source-ranges=35.199.224.0/19 \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY \ --project=PROJECT_ID
Remplacez les éléments suivants :
- RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
allow-vpc-connector-ingress
. - VPC_CONNECTOR_NETWORK_TAG : le tag réseau de connecteur universel
vpc-connector
peut être utilisé pour appliquer la règle à tous les connecteurs du réseau VPC. Vous pouvez également utiliser un tag réseau spécifique au connecteur. Le tag réseau spécifique se présente sous la forme suivante :vpc-connector-
REGION-
CONNECTOR_NAME, où REGION correspond à la région Google Cloud du connecteur et CONNECTOR_NAME à son nom. - VPC_NETWORK : nom du réseau VPC ciblé par le connecteur.
- PRIORITY : entier compris entre 0 et 65535. Par exemple, 0 définit la priorité la plus élevée.
- PROJECT_ID : ID du projet qui contient le réseau VPC ciblé par le connecteur.
Limiter l'accès des VM du connecteur aux ressources de réseau VPC
Vous pouvez limiter l'accès du connecteur aux ressources de son réseau VPC cible à l'aide de règles de pare-feu VPC ou de règles de stratégies de pare-feu. Vous pouvez respecter ces restrictions en utilisant l'une des stratégies suivantes :
- Créez des règles d'entrée dont les cibles représentent les ressources auxquelles vous souhaitez limiter l'accès aux VM du connecteur et dont les sources représentent les VM du connecteur.
- Créez des règles de sortie dont les cibles représentent les VM du connecteur et dont les destinations représentent les ressources auxquelles vous souhaitez leur limiter l'accès.
Les exemples suivants illustrent chaque stratégie.
Restreindre l'accès à l'aide de règles d'entrée
Choisissez des tags réseau ou des plages CIDR pour contrôler le trafic entrant vers votre réseau VPC.
Tags réseau
Les étapes suivantes expliquent comment créer des règles d'entrée limitant l'accès d'un connecteur à votre réseau VPC en fonction des tags réseau du connecteur.
Vérifiez que vous disposez des autorisations requises pour insérer des règles de pare-feu. Vous devez disposer de l'un des rôles Identity and Access Management (IAM) suivants :
- Rôle d'administrateur de sécurité de Compute
- Rôle IAM personnalisé avec l'autorisation
compute.firewalls.create
activée
Refuser le trafic du connecteur sur votre réseau VPC
Créez une règle de pare-feu d'entrée ayant une priorité inférieure à 1 000 sur votre réseau VPC pour refuser l'entrée du tag réseau du connecteur. Cette option remplace la règle de pare-feu implicite créée par défaut par l'accès au VPC sans serveur sur votre réseau VPC.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
deny-vpc-connector
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.Pour des raisons de sécurité et de validation, vous pouvez également configurer des règles de refus pour bloquer le trafic correspondant aux protocoles non compatibles suivants :
ah
,all
,esp
,icmp
,ipip
etsctp
.VPC_CONNECTOR_NETWORK_TAG : tag réseau de connecteur universel si vous souhaitez limiter l'accès de tous les connecteurs (y compris ceux créés ultérieurement), ou tag réseau unique si vous souhaitez limiter l'accès d'un connecteur spécifique.
- Tag réseau universel :
vpc-connector
Tag réseau unique :
vpc-connector-REGION-CONNECTOR_NAME
Remplacez :
- REGION : région du connecteur que vous souhaitez restreindre
- CONNECTOR_NAME : nom du connecteur que vous souhaitez restreindre
Pour en savoir plus sur les tags réseau de connecteur, consultez la page Tags réseau.
- Tag réseau universel :
VPC_NETWORK : nom de votre réseau VPC
PRIORITY : entier compris entre 0 et 65535. Par exemple, 0 définit la priorité la plus élevée.
Autorisez le trafic de connecteur vers la ressource qui doit recevoir le trafic du connecteur.
Utilisez les options
allow
ettarget-tags
pour créer une règle de pare-feu d'entrée ciblant la ressource de votre réseau VPC à laquelle vous souhaitez que le connecteur VPC accède. Définissez la priorité de cette règle sur une valeur inférieure à celle de la règle que vous avez définie à l'étape précédente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
allow-vpc-connector-for-select-resources
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.VPC_CONNECTOR_NETWORK_TAG : tag réseau de connecteur universel si vous souhaitez limiter l'accès de tous les connecteurs (y compris ceux créés ultérieurement), ou tag réseau unique si vous souhaitez limiter l'accès d'un connecteur spécifique. Il doit correspondre au tag réseau que vous avez spécifié à l'étape précédente.
- Tag réseau universel :
vpc-connector
Tag réseau unique :
vpc-connector-REGION-CONNECTOR_NAME
Remplacez :
- REGION : région du connecteur que vous souhaitez restreindre
- CONNECTOR_NAME : nom du connecteur que vous souhaitez restreindre
Pour en savoir plus sur les tags réseau de connecteur, consultez la page Tags réseau.
- Tag réseau universel :
VPC_NETWORK : nom de votre réseau VPC
RESOURCE_TAG : tag réseau de la ressource VPC à laquelle votre connecteur VPC doit accéder.
PRIORITY : entier inférieur à la priorité définie à l'étape précédente. Par exemple, si vous définissez la priorité de la règle que vous avez créée à l'étape précédente sur 990, essayez 980.
Pour en savoir plus sur les options obligatoires et facultatives de création de règles de pare-feu, consultez la documentation sur la commande gcloud compute firewall-rules create
.
Plage CIDR
Les étapes suivantes montrent comment créer des règles d'entrée qui limitent l'accès d'un connecteur à votre réseau VPC en fonction de la plage CIDR du connecteur.
Vérifiez que vous disposez des autorisations requises pour insérer des règles de pare-feu. Vous devez disposer de l'un des rôles Identity and Access Management (IAM) suivants :
- Rôle d'administrateur de sécurité de Compute
- Rôle IAM personnalisé avec l'autorisation
compute.firewalls.create
activée
Refuser le trafic du connecteur sur votre réseau VPC
Créez une règle de pare-feu d'entrée ayant une priorité inférieure à 1000 sur votre réseau VPC pour refuser l'entrée de la plage CIDR du connecteur. Cette option remplace la règle de pare-feu implicite créée par défaut par l'accès au VPC sans serveur sur votre réseau VPC.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
deny-vpc-connector
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.Pour des raisons de sécurité et de validation, vous pouvez également configurer des règles de refus pour bloquer le trafic correspondant aux protocoles non compatibles suivants :
ah
,all
,esp
,icmp
,ipip
etsctp
.VPC_CONNECTOR_CIDR_RANGE : plage CIDR du connecteur dont vous limitez l'accès
VPC_NETWORK : nom de votre réseau VPC
PRIORITY : entier compris entre 0 et 65535. Par exemple, 0 définit la priorité la plus élevée.
Autorisez le trafic de connecteur vers la ressource qui doit recevoir le trafic du connecteur.
Utilisez les options
allow
ettarget-tags
pour créer une règle de pare-feu d'entrée ciblant la ressource de votre réseau VPC à laquelle vous souhaitez que le connecteur VPC accède. Définissez la priorité de cette règle sur une valeur inférieure à celle de la règle que vous avez définie à l'étape précédente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
allow-vpc-connector-for-select-resources
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.VPC_CONNECTOR_CIDR_RANGE : plage CIDR du connecteur dont vous limitez l'accès
VPC_NETWORK : nom de votre réseau VPC
RESOURCE_TAG : tag réseau de la ressource VPC à laquelle votre connecteur VPC doit accéder.
PRIORITY : entier inférieur à la priorité définie à l'étape précédente. Par exemple, si vous définissez la priorité de la règle que vous avez créée à l'étape précédente sur 990, essayez 980.
Pour en savoir plus sur les options requises et facultatives pour la création de règles de pare-feu, consultez la documentation sur la commande gcloud compute firewall-rules create
.
Restreindre l'accès à l'aide de règles de sortie
La procédure suivante explique comment créer des règles de sortie afin de restreindre l'accès au connecteur.
Vérifiez que vous disposez des autorisations requises pour insérer des règles de pare-feu. Vous devez disposer de l'un des rôles Identity and Access Management (IAM) suivants :
- Rôle d'administrateur de sécurité de Compute
- Rôle IAM personnalisé avec l'autorisation
compute.firewalls.create
activée
Refusez le trafic sortant de votre connecteur.
Créez une règle de pare-feu de sortie sur votre connecteur d'accès au VPC sans serveur pour l'empêcher d'envoyer du trafic sortant, à l'exception des réponses établies, vers n'importe quelle destination.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --direction=EGRESS \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --network=VPC_NETWORK \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
deny-vpc-connector
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.Pour des raisons de sécurité et de validation, vous pouvez également configurer des règles de refus pour bloquer le trafic correspondant aux protocoles non compatibles suivants :
ah
,all
,esp
,icmp
,ipip
etsctp
.VPC_CONNECTOR_NETWORK_TAG : tag réseau du connecteur VPC universel si vous souhaitez que la règle s'applique à tous les connecteurs VPC existants et à tous les connecteurs VPC créés ultérieurement. Ou tag réseau unique du connecteur VPC si vous souhaitez contrôler un connecteur spécifique.
VPC_NETWORK : nom de votre réseau VPC
PRIORITY : entier compris entre 0 et 65535. Par exemple, 0 définit la priorité la plus élevée.
Autorisez le trafic sortant lorsque la destination se trouve dans la plage CIDR à laquelle vous souhaitez que votre connecteur accède.
Utilisez les options
allow
etdestination-ranges
pour créer une règle de pare-feu autorisant le trafic sortant de votre connecteur pour une plage de destination spécifique. Définissez la plage de destination sur la plage CIDR de la ressource de votre réseau VPC à laquelle vous souhaitez que le connecteur accède. Définissez la priorité de cette règle sur une valeur inférieure à celle de la règle que vous avez configurée à l'étape précédente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --destination-ranges=RESOURCE_CIDR_RANGE \ --direction=EGRESS \ --network=VPC_NETWORK \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --priority=PRIORITY
Remplacez les éléments suivants :
RULE_NAME : nom de votre nouvelle règle de pare-feu. Exemple :
allow-vpc-connector-for-select-resources
.PROTOCOL : un ou plusieurs protocoles que vous souhaitez autoriser à partir de votre connecteur VPC. Les protocoles acceptés sont
tcp
ouudp
. Par exemple,tcp:80,udp
autorise le trafic TCP via le port 80 et le trafic UDP. Pour en savoir plus, consultez la documentation de l'optionallow
.RESOURCE_CIDR_RANGE : plage CIDR du connecteur dont vous limitez l'accès
VPC_NETWORK : nom de votre réseau VPC
VPC_CONNECTOR_NETWORK_TAG : tag réseau du connecteur VPC universel si vous souhaitez que la règle s'applique à tous les connecteurs VPC existants et à tous les connecteurs VPC créés ultérieurement. Ou tag réseau unique du connecteur VPC si vous souhaitez contrôler un connecteur spécifique. Si vous avez utilisé le tag réseau unique à l'étape précédente, utilisez-le.
PRIORITY : entier inférieur à la priorité définie à l'étape précédente. Par exemple, si vous définissez la priorité de la règle que vous avez créée à l'étape précédente sur 990, essayez 980.
Pour plus d'informations sur les options obligatoires et facultatives de création de règles de pare-feu, reportez-vous à la documentation de gcloud compute firewall-rules create
.
Gérer votre connecteur
Par défaut, seules les requêtes adressées aux destinations d'adresses IPv4 internes (y compris les destinations IPv4 internes résolues par les réponses DNS) sont acheminées via un connecteur d'accès au VPC sans serveur. Toutefois, dans certains cas, vous pouvez souhaiter que toutes les requêtes sortantes émises par votre service ou job soient acheminées vers votre réseau VPC.
L'accès au VPC sans serveur n'accepte que le routage du trafic IPv4. Le trafic IPv6 n'est pas accepté, même si votre réseau VPC comporte des routes IPv6.
Pour contrôler le routage des requêtes sortantes émises par votre service ou job, vous pouvez définir la sortie VPC sur l'une des options suivantes :
Acheminer uniquement les requêtes ciblant des adresses IP privées vers le VPC : par défaut. Le trafic n'est acheminé via le réseau VPC que si les paquets qui le transportent ont des destinations correspondant aux suivantes :
Les paquets vers toute autre destination sont acheminés depuis Cloud Run vers Internet (et non via un réseau VPC).
Acheminer tout le trafic vers le VPC : le trafic est toujours acheminé via le réseau VPC associé au connecteur, pour toutes les destinations de paquets. Vous devez utiliser cette option dans les cas suivants :
- Vous devez envoyer du trafic vers des plages de sous-réseaux VPC avec des plages d'adresses IP externes utilisées en mode privé. Pour en savoir plus sur les plages de sous-réseaux VPC, consultez la section Plages IPv4 valides de la présentation des sous-réseaux.
- Vous devez envoyer du trafic vers un point de terminaison Private Service Connect pour les API Google, dont l'adresse est une adresse IP externe utilisée en mode privé. Pour en savoir plus sur les points de terminaison Private Service Connect pour les API Google, consultez la page Accéder aux API Google via des points de terminaison.
- Vous devez envoyer du trafic vers une autre destination d'adresse IP externe utilisée en mode privé routable sur le réseau VPC du connecteur. Voici quelques exemples de destinations couvrant les adresses IP externes utilisées en mode privé : les plages d'adresses IP d'appairage de sous-réseau (et les plages d'adresses IP d'appairage créées à partir des plages d'adresses IP allouées pour les services) et les destinations accessibles à l'aide de routes personnalisées dans la version courte du VPC.
Si votre réseau VPC inclut une route par défaut, les paquets peuvent toujours être acheminés vers Internet après avoir été traités par le connecteur si vous configurez une passerelle Cloud NAT pour fournir des services NAT au sous-réseau utilisé par le connecteur. Ces paquets sont soumis aux routes de votre réseau VPC et aux règles de pare-feu qui s'appliquent à votre réseau VPC. Vous pouvez utiliser la configuration du routage et du pare-feu pour contrôler la sortie Internet pour toutes les requêtes sortantes envoyées par votre fonction via un connecteur d'accès au VPC sans serveur.
Contrôler le trafic du service de sortie
Vous pouvez spécifier un paramètre de sortie VPC à l'aide de la console Google Cloud, de Google Cloud CLI ou du fichier YAML lorsque vous créez un service ou déployez une nouvelle révision :
Console
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur Créer un service si vous configurez un nouveau service sur lequel effectuer un déploiement. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service selon vos besoins, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Réseau.
- Après avoir sélectionné un connecteur VPC, sélectionnez Acheminer uniquement les requêtes ciblant des adresses IP privées vers le VPC ou Acheminer tout le trafic vers le VPC.
Cliquez sur Créer ou Déployer.
gcloud
Pour spécifier un paramètre de sortie, utilisez l'option --vpc-egress
. Vous pouvez spécifier un paramètre de sortie lors du déploiement :
gcloud run deploy SERVICE \ --image IMAGE_URL \ --vpc-connector CONNECTOR_NAME \ --vpc-egress EGRESS_SETTING
Remplacez :
SERVICE
par le nom de votre service ;- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante :LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. CONNECTOR_NAME
par le nom de votre connecteur.EGRESS_SETTING
par une valeur de paramètre de sortie :all-traffic
: achemine tout le trafic sortant via le connecteur.private-ranges-only
: achemine uniquement le trafic destiné à des adresses internes via le connecteur VPC.
Vous pouvez également mettre à jour un service existant et modifier le paramètre de sortie :
gcloud run services update SERVICE --vpc-egress EGRESS_SETTING
Remplacez :
SERVICE
par le nom de votre service.EGRESS_SETTING
par une valeur de paramètre de sortie, comme indiqué ci-dessus.
YAML
Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML:
gcloud run services describe SERVICE --format export > service.yaml
Ajoutez ou mettez à jour l'attribut
run.googleapis.com/vpc-access-egress
sous l'attributannotations
sous l'attribut de niveau supérieurspec
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME run.googleapis.com/vpc-access-egress: EGRESS_SETTING name: REVISION
Remplacez :
- SERVICE par le nom de votre service Cloud Run ;
- CONNECTOR_NAME par le nom de votre connecteur. L'attribut
run.googleapis.com/vpc-access-connector
est obligatoire lorsque vous spécifiez un paramètre de sortie. - EGRESS_SETTING par l'un des éléments suivants :
all-traffic
: achemine tout le trafic sortant via le connecteur.private-ranges-only
: achemine uniquement le trafic destiné à des adresses internes via le connecteur VPC.- REVISION par un nouveau nom de révision ou supprimez-le (le cas échéant). Si vous indiquez un nouveau nom de révision, il doit répondre aux critères suivants :
- Commencer par
SERVICE-
- Ne contenir que des lettres minuscules, des chiffres et
-
- Ne pas se terminer par
-
- Ne pas dépasser 63 caractères
- Commencer par
Créez ou mettez à jour le service à l'aide de la commande suivante:
gcloud run services replace service.yaml
Contrôler le trafic des tâches de sortie
Vous pouvez spécifier un paramètre de sortie VPC à l'aide de la console Google Cloud, de Google Cloud CLI ou du fichier YAML lorsque vous créez ou mettez à jour un job :
Console
Dans la console Google Cloud, accédez à la page des jobs Cloud Run :
Si vous configurez une nouvelle tâche, cliquez sur l'onglet Tâches et remplissez la page des paramètres initiaux de la tâche selon vos besoins. Si vous configurez une tâche existante, cliquez sur celle-ci, puis sur Modifier.
Cliquez sur Conteneur, variables et secrets, connexions, sécurité pour développer la page des propriétés du job.
Cliquez sur l'onglet Connexions.
- Après avoir sélectionné un connecteur, sélectionnez Acheminer uniquement les requêtes ciblant des adresses IP privées vers le VPC ou Acheminer tout le trafic vers le VPC.
Cliquez sur Créer ou Mettre à jour.
gcloud
Pour spécifier un paramètre de sortie, utilisez l'option --vpc-egress
. Vous pouvez spécifier un paramètre de sortie pendant le processus de déploiement du job :
gcloud run jobs create JOB \ --image IMAGE_URL \ --vpc-connector CONNECTOR_NAME \ --vpc-egress EGRESS_SETTING
Remplacez :
JOB
par le nom de votre tâche.- IMAGE_URL par une référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest
. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL se présente sous la forme suivante :LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
. CONNECTOR_NAME
par le nom de votre connecteur.EGRESS_SETTING
par une valeur de paramètre de sortie :all-traffic
: achemine tout le trafic sortant via le connecteur.private-ranges-only
: achemine uniquement le trafic destiné à des adresses internes via le connecteur VPC.
Vous pouvez également mettre à jour un job existant et modifier le paramètre de sortie :
gcloud run jobs update JOB --vpc-egress EGRESS_SETTING
Remplacez :
JOB
par le nom de votre tâche.EGRESS_SETTING
par une valeur de paramètre de sortie, comme indiqué ci-dessus.
YAML
Vous pouvez télécharger et afficher une configuration de job existante à l'aide de la commande gcloud run jobs describe --format export
, qui renvoie les résultats nettoyés au format YAML. Vous pouvez ensuite modifier les champs décrits ci-dessous et importer le fichier YAML modifié à l'aide de la commande gcloud run jobs replace
.
Veillez à ne modifier que les champs indiqués.
Remplacez le job par sa nouvelle configuration à l'aide de la commande suivante :
gcloud run jobs replace job.yaml
Ajoutez ou mettez à jour l'attribut
run.googleapis.com/vpc-access-egress
sous l'attributannotations
sous l'attribut de niveau supérieurspec
:apiVersion: serving.knative.dev/v1 kind: Job metadata: name: JOB spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME run.googleapis.com/vpc-access-egress: EGRESS_SETTING
Remplacez :
- JOB par le nom de votre tâche Cloud Run
- CONNECTOR_NAME par le nom de votre connecteur. L'attribut
run.googleapis.com/vpc-access-connector
est obligatoire lorsque vous spécifiez un paramètre de sortie. - EGRESS_SETTING par l'un des éléments suivants :
all-traffic
: achemine tout le trafic sortant via le connecteur.private-ranges-only
: achemine uniquement le trafic destiné à des adresses internes via le connecteur VPC.
Remplacez le job par sa nouvelle configuration à l'aide de la commande suivante :
gcloud run jobs replace job.yaml
Afficher les paramètres du connecteur
Vous pouvez afficher les paramètres actuels du connecteur d'accès au VPC sans serveur pour votre service ou votre job à l'aide de la console Google Cloud ou de l'outil de ligne de commande gcloud
:
Console
Cliquez sur le service ou le job qui vous intéresse pour ouvrir la page d'informations.
Pour un service, cliquez sur l'onglet Révisions.
Pour un job, cliquez sur l'onglet Configuration.
Le paramètre du connecteur d'accès au VPC sans serveur est répertorié dans l'onglet Mise en réseau.
gcloud
Utilisez la commande suivante pour afficher les paramètres de votre service :
gcloud run services describe SERVICE
Utilisez la commande suivante pour afficher les paramètres de votre job :
gcloud run jobs describe JOB
Recherchez le paramètre de connecteur d'accès au VPC sans serveur dans la configuration renvoyée.
Se déconnecter d'un réseau VPC
Déconnecter un service
Vous pouvez déconnecter un service de votre réseau VPC à l'aide de la console Google Cloud ou de Google Cloud CLI :
Console
Dans la console Google Cloud, accédez à Cloud Run :
Cliquez sur Créer un service si vous configurez un nouveau service sur lequel effectuer un déploiement. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service selon vos besoins, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Réseau.
- Dans le champ Réseau, sélectionnez Aucun pour déconnecter votre service d'un réseau VPC.
Cliquez sur Créer ou Déployer.
gcloud
Pour déconnecter un service, exécutez la commande gcloud run services update
avec l'option suivante :
gcloud run services update SERVICE --clear-vpc-connector
- Remplacez SERVICE par le nom du service.
Les connecteurs continuent à entraîner des frais, même s'ils n'ont pas de trafic et sont déconnectés. Pour en savoir plus, reportez-vous à Tarification. Si vous n'avez plus besoin de votre connecteur, veillez à le supprimer pour éviter de continuer à payer des frais.
Déconnecter une tâche
Vous pouvez déconnecter un job de votre réseau VPC à l'aide de la console Google Cloud ou de Google Cloud CLI :
Console
Dans la console Google Cloud, accédez à la page des jobs Cloud Run :
Si vous configurez une nouvelle tâche, cliquez sur l'onglet Tâches et remplissez la page des paramètres initiaux de la tâche selon vos besoins. Si vous configurez une tâche existante, cliquez sur celle-ci, puis sur Modifier.
Cliquez sur Conteneur, variables et secrets, connexions, sécurité pour développer la page des propriétés du job.
Cliquez sur l'onglet Connexions.
- Dans le champ Réseau, sélectionnez Aucun pour déconnecter votre job d'un réseau VPC.
Cliquez sur Créer ou Mettre à jour.
gcloud
Pour déconnecter un job, exécutez la commande gcloud run jobs update
avec l'option suivante :
gcloud run jobs update JOB --clear-vpc-connector
Remplacez JOB par le nom de votre tâche.
Les connecteurs continuent à entraîner des frais, même s'ils n'ont pas de trafic et sont déconnectés. Pour en savoir plus, reportez-vous à Tarification. Si vous n'avez plus besoin de votre connecteur, veillez à le supprimer pour éviter de continuer à payer des frais.
Mettre à jour un connecteur
Vous pouvez mettre à jour et surveiller les attributs suivants de votre connecteur à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API :
- Type de machine (instance)
- Nombre minimal et maximal d'instances
- Débit récent, nombre d'instances et utilisation du processeur
Mettre à jour le type de machine
Console
Accédez à la page de présentation de l'accès au VPC sans serveur.
Sélectionnez le connecteur que vous souhaitez modifier, puis cliquez sur Modifier.
Dans la liste Type d'instance, sélectionnez le type de machine (instance) de votre choix. Pour en savoir plus sur les types de machines disponibles, consultez la documentation Débit et scaling.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pour mettre à jour le type de machine du connecteur, exécutez la commande suivante dans votre terminal :
gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --machine-type=MACHINE_TYPE
Remplacez les éléments suivants :CONNECTOR_NAME
: nom de votre connecteurREGION
: nom de la région du connecteurMACHINE_TYPE
: type de machine de votre choix Pour en savoir plus sur les types de machines disponibles, consultez la documentation Débit et scaling.
Réduire le nombre minimal et maximal d'instances
Pour réduire le nombre minimal et maximal d'instances, vous devez procéder comme suit :
- Créez un connecteur avec les valeurs de votre choix.
- Mettez à jour votre service ou votre fonction pour utiliser le nouveau connecteur.
- Supprimez l'ancien connecteur lorsque vous avez déplacé son trafic.
Pour en savoir plus, consultez la section Créer un connecteur d'accès au VPC sans serveur.
Augmenter le nombre minimal et maximal d'instances
Console
Accédez à la page de présentation de l'accès au VPC sans serveur.
Sélectionnez le connecteur que vous souhaitez modifier, puis cliquez sur Modifier.
Dans le champ Nombre minimal d'instances, sélectionnez le nombre minimal d'instances de votre choix.
La plus petite valeur possible de ce champ est la valeur actuelle. La plus grande valeur possible pour ce champ est la valeur actuelle figurant dans le champ Nombre maximal d'instances moins 1. Par exemple, si la valeur du champ Nombre maximal d'instances est 8, la valeur la plus élevée possible pour le champ Nombre minimal d'instances est 7.
Dans le champ Nombre maximal d'instances, sélectionnez le nombre maximal d'instances souhaité.
La plus petite valeur possible de ce champ est la valeur actuelle. La valeur la plus élevée pour ce champ est 10.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pour augmenter le nombre minimal ou maximal d'instances du connecteur, exécutez la commande suivante dans votre terminal :
gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --min-instances=MIN_INSTANCES --max-instances=MAX_INSTANCES
Remplacez les éléments suivants :
CONNECTOR_NAME
: nom de votre connecteurREGION
: nom de la région du connecteurMIN_INSTANCES
: nombre minimal d'instances souhaité.- La plus petite valeur possible pour ce champ est la valeur actuelle de
min_instances
. Pour trouver la valeur actuelle, consultez la section Rechercher les valeurs d'attribut actuelles. - La plus grande valeur possible pour ce champ est la valeur
max_instances
actuelle moins 1, carmin_instances
doit être inférieur àmax_instances
. Par exemple, simax_instances
est défini sur 8, la plus grande valeur possible pour ce champ est 7. Si votre connecteur utilise la valeurmax-instances
par défaut de 10, la plus grande valeur possible de ce champ est 9. Pour trouver la valeur demax-instances
, consultez Rechercher les valeurs d'attributs actuelles.
- La plus petite valeur possible pour ce champ est la valeur actuelle de
MAX_INSTANCES
:- La plus petite valeur possible pour ce champ est la valeur actuelle de
max_instances
. Pour trouver la valeur actuelle, consultez la section Rechercher les valeurs d'attribut actuelles. - La valeur la plus élevée possible pour ce champ est 10.
Si vous souhaitez augmenter le nombre minimal d'instances, mais pas le nombre maximal, vous devez toujours spécifier le nombre maximal d'instances. Inversement, si vous ne souhaitez mettre à jour que le nombre maximal d'instances, mais pas le nombre minimal, vous devez toujours spécifier le nombre minimal d'instances. Pour conserver la valeur actuelle du nombre minimal ou maximal d'instances, vous devez spécifier cette valeur actuelle. Pour trouver leur valeur actuelle, consultez la section Rechercher les valeurs d'attribut actuelles.
- La plus petite valeur possible pour ce champ est la valeur actuelle de
Rechercher les valeurs d'attribut actuelles
Pour trouver les valeurs d'attribut actuelles de votre connecteur, exécutez la commande suivante dans votre terminal :
gcloud compute networks vpc-access connectors describe CONNECTOR_NAME --region=REGION --project=PROJECTRemplacez les éléments suivants :
CONNECTOR_NAME
: nom de votre connecteurREGION
: nom de la région du connecteurPROJECT
: nom de votre projet Google Cloud
Surveiller l'utilisation des connecteurs
Surveiller l'utilisation au fil du temps peut vous aider à déterminer quand ajuster les paramètres d'un connecteur. Par exemple, si l'utilisation du processeur connaît un pic, vous pouvez essayer d'augmenter le nombre maximal d'instances pour obtenir de meilleurs résultats. Si vous atteignez le débit maximal, vous pouvez également décider de passer à un type de machine de capacité supérieure.
Pour afficher des graphiques concernant le débit du connecteur, le nombre d'instances et les métriques d'utilisation du processeur au fil du temps à l'aide de la console Google Cloud, procédez comme suit :
Accédez à la page de présentation de l'accès au VPC sans serveur.
Cliquez sur le nom du connecteur que vous souhaitez surveiller.
Sélectionnez le nombre de jours à afficher, compris entre 1 et 90 jours.
Dans le graphique Débit, passez la souris sur le graphique pour afficher le débit récent du connecteur.
Dans le graphique Nombre d'instances, passez la souris sur le graphique pour afficher le nombre d'instances récemment utilisées par le connecteur.
Dans le graphique Utilisation du processeur, passez la souris sur le graphique pour afficher l'utilisation récente du processeur par le connecteur. Le graphique affiche l'utilisation du processeur répartie sur les instances pour les 50e, 95e et 99e centiles.
Supprimer un connecteur
Avant de supprimer un connecteur, assurez-vous qu'aucun service ni job ne lui est toujours connecté.
Pour les utilisateurs de VPC partagé qui configurent des connecteurs dans le projet hôte de VPC partagé, vous pouvez exécuter la commande gcloud compute networks vpc-access connectors describe
pour répertorier les projets dans lesquels certains services ou jobs utilisent un connecteur donné.
Pour supprimer un connecteur, utilisez la console Google Cloud ou Google Cloud CLI :
Console
Accédez à la page de présentation de l'accès au VPC sans serveur dans la console Google Cloud :
Sélectionnez le connecteur que vous souhaitez supprimer.
Cliquez sur Supprimer.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Utilisez la commande
gcloud
suivante pour supprimer un connecteur :gcloud compute networks vpc-access connectors delete CONNECTOR_NAME --region=REGION
Remplacez les éléments suivants :
- CONNECTOR_NAME par le nom du connecteur que vous souhaitez supprimer ;
- REGION par la région où se trouve le connecteur.
Dépannage
Autorisations de compte de service
Pour effectuer des opérations dans votre projet Google Cloud, le service d'accès au VPC sans serveur utilise le compte de service Agent de service de l'accès au VPC sans serveur. L'adresse e-mail de ce compte de service est au format suivant :
service-PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com
Par défaut, ce compte de service dispose du rôle Agent de service d'accès au VPC sans serveur (roles/vpcaccess.serviceAgent
). Les opérations d'accès au VPC sans serveur peuvent échouer si vous modifiez les autorisations de ce compte.
Erreurs
Erreur "Compte de service nécessitant un rôle d'agent de service"
Si vous utilisez la contrainte de règle d'administration Restreindre l'utilisation des services de ressources pour bloquer Cloud Deployment Manager (deploymentmanager.googleapis.com
), vous verrez peut-être le message d'erreur suivant :
Serverless VPC Access service account (service-<PROJECT_NUMBER>@gcp-sa-vpcaccess.iam.gserviceaccount.com) needs Serverless VPC Access Service Agent role in the project.
Définissez la règle d'administration pour retirer Deployment Manager de la liste de blocage ou l'ajouter à la liste d'autorisation.
Erreur de création de connecteur
Si la création d'un connecteur entraîne une erreur, procédez comme suit :
- Spécifiez une plage d'adresses IP interne RFC 1918 qui ne chevauche aucune réservation d'adresses IP existantes sur le réseau VPC.
- Accordez à votre projet l'autorisation d'utiliser les images de VM Compute Engine du projet avec l'ID
serverless-vpc-access-images
. Consultez la section Définir des contraintes d'accès aux images pour savoir comment mettre à jour votre règle d'administration en conséquence.
Impossible d'accéder aux ressources
Si vous avez spécifié un connecteur, mais que vous ne pouvez toujours pas accéder aux ressources de votre réseau VPC, assurez-vous qu'aucune règle de pare-feu de votre réseau VPC ayant une priorité inférieure à 1 000 ne refuse l'entrée en provenance de la plage d'adresses IP de votre connecteur.
Si vous configurez un connecteur dans un projet de service VPC partagé, assurez-vous que vos règles de pare-feu autorisent l'entrée de votre infrastructure sans serveur vers le connecteur.
Erreur de connexion refusée
Si vous recevez des erreurs connection refused
qui dégradent les performances du réseau, vos connexions peuvent être augmentées sans limite entre les appels de votre application sans serveur. Pour limiter le nombre maximal de connexions utilisées par instance, utilisez une bibliothèque cliente compatible avec les pools de connexions. Pour obtenir des exemples détaillés d'utilisation des pools de connexions, consultez la page Gérer les connexions à la base de données.
Erreur de ressource introuvable
Lorsque vous supprimez un réseau VPC ou une règle de pare-feu, un message semblable au suivant peut s'afficher : The resource
"aet-uscentral1-subnet--1-egrfw" was not found.
Pour en savoir plus sur cette erreur et sa solution, consultez la section Erreur de ressource introuvable dans la documentation sur les règles de pare-feu VPC.
Étapes suivantes
- Surveillez l'activité des administrateurs avec les journaux d'audit de l'accès au VPC sans serveur.
- Protégez les ressources et les données en créant un périmètre de service avec VPC Service Controls.
- Utilisez les rôles IAM (Identity and Access Management) associés à l'accès au VPC sans serveur. Reportez-vous à la page Rôles associés à l'accès au VPC sans serveur dans la documentation IAM pour obtenir la liste des autorisations associées à chaque rôle.
- Connectez-vous à Memorystore.