Questa pagina descrive come utilizzare le impostazioni di traffico in entrata per limitare l'accesso alla rete al servizio Cloud Run.
A livello di rete, l'endpoint di un servizio Cloud Run è raggiungibile dai seguenti percorsi di ingresso di rete:
- URL predefiniti di
run.app
, che puoi disattivare - Qualsiasi mappatura di domini configurata
- Qualsiasi bilanciatore del carico delle applicazioni esterno o bilanciatore del carico delle applicazioni interno configurato
Tutti i percorsi di traffico in entrata nella rete sono soggetti all'impostazione in entrata del servizio. I percorsi di ingresso e l'impostazione di ingresso predefiniti consentono a qualsiasi risorsa su internet di raggiungere il tuo servizio Cloud Run. Puoi Usa un vincolo personalizzato per limitare le impostazioni di traffico in entrata per la tua organizzazione o per un insieme di progetti. L'autenticazione IAM si applica ancora alle richieste che raggiungono gli endpoint del servizio da uno dei percorsi di ingresso della rete precedenti. Per un approccio a più livelli alla gestione dell'accesso, utilizza sia le impostazioni di ingresso della rete sia l'autenticazione IAM.
Impostazioni di ingresso della rete disponibili
Sono disponibili le seguenti impostazioni:
Impostazione | Descrizione |
---|---|
Interno |
Più restrittiva. Consente le richieste dalle seguenti origini:
run.app . Richieste
da altre fonti, inclusa internet, non riescono a raggiungere il tuo servizio all'indirizzo
l'URL run.app o i domini personalizzati. |
Interno e Cloud Load Balancing | Questa impostazione consente le richieste provenienti dalle seguenti risorse:
Nota: per abilitare questa impostazione in gcloud CLI, utilizza internal-and-cloud-load-balancing .
Per attivare questa impostazione nella console Google Cloud, seleziona
Interno > Consenti il traffico da bilanciatori del carico delle applicazioni esterni.
|
Tutti |
Il meno restrittivo. Consente tutte le richieste, incluse quelle direttamente da
Internet all'URL run.app .
|
Accedere ai servizi interni
Si applicano le seguenti considerazioni aggiuntive:
Quando accedi ai servizi interni, chiamali come faresti normalmente utilizzando il loro URL, l'URL
run.app
predefinito o un dominio personalizzato configurato in Cloud Run.Per le richieste dalle istanze VM di Compute Engine, non sono necessarie ulteriori configurazioni per le macchine con indirizzi IP esterni o che utilizzano Cloud NAT. Altrimenti, consulta Richieste di ricezione da reti VPC.
Quando chiami da funzioni di Cloud Run, App Engine o Cloud Run a un servizio Cloud Run impostato su "Interno" o "Interno e Cloud Load Balancing", il traffico deve essere instradato attraverso un VPC considerata interna. Consulta: Ricevi richieste da altri servizi Cloud Run, da App Engine e da funzioni Cloud Run.
Le richieste provenienti da risorse all'interno di reti VPC nello stesso progetto sono "interne" anche se la risorsa da cui provengono ha un indirizzo IP esterno.
Le richieste provenienti da risorse on-premise connesse alla rete VPC utilizzando Cloud VPN e Cloud Interconnect sono "interne".
Imposta traffico in entrata
Puoi impostare l'ingresso utilizzando uno dei metodi supportati nelle schede:
Console
Nella console Google Cloud, vai alla pagina Cloud Run:
Se stai configurando un nuovo servizio, fai clic su Esegui il deployment del contenitore e seleziona Servizio per visualizzare il modulo Crea servizio. Compila il modulo iniziale impostazioni del servizio.
Se stai configurando un servizio esistente, fai clic sul servizio, quindi sulla scheda Networking.
Seleziona il traffico in entrata che vuoi consentire:
Fai clic su Crea o Salva.
gcloud
Se stai eseguendo il deployment di un nuovo servizio, eseguilo con il flag
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Sostituisci
INGRESS
con uno dei impostazioni di Ingress disponibili:all
internal
internal-and-cloud-load-balancing
SERVICE
con il nome del tuo servizio- IMAGE_URL con un riferimento all'immagine del container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Se stai modificando l'ingresso di un servizio esistente:
gcloud run services update SERVICE --ingress INGRESS
Sostituisci
INGRESS
con una delle impostazioni di importazione disponibili:all
internal
internal-and-cloud-load-balancing
SERVICE
con il nome del tuo servizio
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna l'annotazione
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
Sostituisci
- SERVICE con il nome del tuo Cloud Run
- INGRESS con una delle
impostazioni di importazione disponibili:
all
internal
internal-and-cloud-load-balancing
- REVISION con un nuovo nome di revisione o eliminala (se presente). Se fornisci un nuovo nome per la revisione, deve soddisfare i seguenti criteri:
- Inizia con
SERVICE-
- Contiene solo lettere minuscole, numeri e
-
- Non termina con
-
- Non deve superare i 63 caratteri
- Inizia con
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud run services replace service.yaml
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue al tuo file main.tf
:
Disattivare l'URL predefinito
Disattiva gli URL run.app
predefiniti di un servizio Cloud Run per consentire solo il traffico dagli altri percorsi di ingresso del servizio: Cloud Load Balancing e qualsiasi mappatura di dominio configurata.
Per disattivare l'URL predefinito:
Riga di comando
Per disattivare l'URL
run.app
per un servizio, eseguigcloud beta run deploy
o il comandogcloud beta run services update
con il flag--no-default-url
:gcloud beta run deploy SERVICE_NAME --no-default-url
dove SERVICE_NAME è il nome di Cloud Run completamente gestito di Google Cloud.
Nell'output, l'URL viene visualizzato come None
.
Per ripristinare l'URL predefinito, utilizza il flag --default-url
.
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Per disattivare l'URL
run.app
, usarun.googleapis.com/default-url-disabled
annotazione:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: name: REVISION
Sostituisci
- SERVICE con il nome del tuo servizio Cloud Run.
- REVISION con un nuovo nome di revisione o eliminala (se presente). Se fornisci un nuovo nome per la revisione, deve soddisfare i seguenti criteri:
- Inizia con
SERVICE-
- Contiene solo lettere minuscole, numeri e
-
- Non termina con
-
- Non deve superare i 63 caratteri
- Inizia con
Crea o aggiorna il servizio utilizzando il seguente comando:
gcloud run services replace service.yaml
Per ripristinare l'URL predefinito, rimuovi run.googleapis.com/default-url-disabled
annotazione.
I seguenti servizi Google Cloud utilizzano l'URL run.app
predefinito
per richiamare Cloud Run. La disattivazione dell'URL predefinito run.app
impedisce
che questi servizi funzionino come previsto:
- L'URL
cloudfunctions.net
di Funzioni di Cloud Run (2ª generazione) basate sul servizio Cloud Run. - Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Eventarc
- Firebase App Hosting
- Firebase Hosting
- Pub/Sub
- Monitoraggi sintetici e controlli di uptime
- Workflows
Passaggi successivi
- Scopri di più sulle impostazioni di uscita.
- Imposta un Bilanciatore del carico delle applicazioni interno per Cloud Run.
- Imposta un Bilanciatore del carico delle applicazioni esterno con Cloud Run.
- Configura IAM metodi di autenticazione per accedere ai servizi.