Cette page explique comment utiliser les paramètres d'entrée pour restreindre l'accès réseau à votre service Cloud Run. Au niveau du réseau, par défaut, toutes les ressources d'Internet peuvent atteindre votre service Cloud Run sur son URL run.app
ou sur un domaine personnalisé configuré dans Cloud Run. Vous pouvez modifier cette valeur par défaut en spécifiant un autre paramètre pour l'entrée. Tous les chemins d'entrée, y compris l'URL run.app
par défaut, sont soumis à votre paramètre d'entrée.
L'entrée est définie au niveau du service.
Les paramètres d'entrée et les méthodes d'authentification IAM permettent de gérer l'accès à un service. Ils sont indépendants les uns des autres. Pour une approche multicouche de la gestion des accès, utilisez les deux.
Paramètres d'entrée disponibles
Voici les paramètres disponibles :
Paramètre | Description |
---|---|
Interne |
La plus restrictive. Elle autorise les requêtes provenant des sources suivantes :
Les requêtes provenant de ces sources restent dans le réseau Google, même si elles accèdent à votre service à l'URL run.app . Les requêtes provenant d'autres sources, y compris Internet, ne peuvent pas atteindre votre service via l'URL run.app ou les domaines personnalisés.Pour les requêtes envoyées depuis Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, BigQuery et Workflows à un service interne, vous devez utiliser l'URL Cloud Run par défaut run.app pour ce service. Vous ne pouvez pas utiliser de domaine personnalisé.
|
Équilibrage de charge interne et cloud | Ce paramètre autorise les requêtes provenant des ressources suivantes:
Remarque : Pour activer ce paramètre dans gcloud CLI, utilisez internal-and-cloud-load-balancing .
Pour activer ce paramètre dans la console Google Cloud, sélectionnez Interne > Autoriser le trafic provenant d'équilibreurs de charge d'application externes.
|
Tous |
La moins restrictive. Autorise toutes les requêtes, y compris les requêtes provenant directement d'Internet vers l'URL run.app .
|
Accéder aux services internes
Les considérations supplémentaires suivantes s'appliquent :
Lorsque vous accédez à des services internes, appelez-les comme vous le feriez habituellement avec leurs URL publiques, soit l'URL par défaut
run.app
, soit un domaine personnalisé configuré dans Cloud Run.Pour les requêtes provenant d'instances de VM Compute Engine, aucune configuration supplémentaire n'est requise pour les machines disposant d'adresses IP publiques ou qui utilisent Cloud NAT. Sinon, consultez la section Recevoir des requêtes à partir de réseaux VPC.
Lors d'un appel depuis Cloud Run, App Engine ou Cloud Functions vers un service Cloud Run défini sur "Interne" ou "Interne et Cloud Load Balancing", le trafic doit être acheminé via un réseau VPC considéré comme interne. Consultez la section Recevoir des requêtes d'autres services Cloud Run, d'App Engine et de Cloud Functions.
Les requêtes provenant de ressources situées au sein de réseaux VPC dans le même projet sont "internes", même si la ressource dont elles proviennent a une adresse IP externe.
Les requêtes provenant de ressources sur site connectées au réseau VPC via Cloud VPN et Cloud Interconnect sont considérées des requêtes "internes".
Définir le trafic entrant
Vous pouvez définir le trafic entrant à l'aide de l'une des méthodes acceptées dans ces onglets :
Console
Si vous configurez un nouveau service, cliquez sur Créer un service et remplissez la page initiale des paramètres du service selon vos besoins.
Si vous configurez un service existant, cliquez sur celui-ci, puis sur l'onglet Réseau.
Sélectionnez le trafic entrant que vous souhaitez autoriser :
Cliquez sur Créer ou sur Enregistrer.
Ligne de commande
Si vous déployez un nouveau service, déployez votre service avec l'option
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Remplacer
INGRESS
par l'un des paramètres d'entrée disponibles :all
internal
internal-and-cloud-load-balancing
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
Si vous modifiez une entrée de service existante, procédez comme suit :
gcloud run services update SERVICE --ingress INGRESS
Remplacer
INGRESS
par l'un des paramètres d'entrée disponibles :all
internal
internal-and-cloud-load-balancing
SERVICE
par le nom de votre service
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
Mettez à jour l'annotation
run.googleapis.com/ingress:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: INGRESS name: SERVICE spec: template: metadata: name: REVISION
Remplacer
- SERVICE par le nom de votre service Cloud Run
- INGRESS par l'un des paramètres d'entrée disponibles :
all
internal
internal-and-cloud-load-balancing
- 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
Remplacez la configuration du service en utilisant la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Ajoutez le code ci-dessous à votre fichier main.tf
:
Étape suivante
- En savoir plus sur les paramètres de sortie
- Configurez un équilibreur de charge d'application interne pour Cloud Run.
- Configurez un équilibreur de charge d'application externe avec Cloud Run.
- Configurez les méthodes d'authentification IAM pour accéder aux services.