In questa pagina viene descritto come utilizzare le impostazioni di traffico in entrata per limitare l'accesso di rete al servizio Cloud Run. A livello di rete, per impostazione predefinita, qualsiasi risorsa su internet è in grado di raggiungere il servizio Cloud Run al suo URL run.app
o a un dominio personalizzato configurato in Cloud Run. Puoi modificare questa impostazione predefinita specificando un'impostazione diversa per il traffico in entrata. Tutti i percorsi in entrata, incluso l'URL run.app
predefinito, sono soggetti all'impostazione del traffico in entrata.
Il traffico in entrata è impostato a livello di servizio.
Le impostazioni di Ingress e i metodi di autenticazione IAM sono due modi per gestire l'accesso a un servizio. Sono indipendenti tra loro. Per un approccio a più livelli alla gestione dell'accesso, utilizza entrambi.
Impostazioni di traffico in entrata disponibili
Sono disponibili le seguenti impostazioni:
Impostazione | Descrizione |
---|---|
Interna |
Livello più restrittivo. Consente richieste dalle seguenti origini:
Le richieste provenienti da queste origini rimangono nella rete Google, anche se accedono al tuo servizio all'URL run.app . Le richieste
provenienti da altre origini, incluso internet, non possono raggiungere il tuo servizio
all'URL run.app o ai domini personalizzati.Per le richieste da Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, BigQuery e Workflows a un servizio interno, devi utilizzare l'URL run.app predefinito di Cloud Run per il servizio in questione. Non puoi utilizzare un dominio personalizzato.
|
Interno e Cloud Load Balancing | Questa impostazione consente le richieste dalle seguenti risorse:
Nota: per abilitare questa impostazione in gcloud CLI, utilizza internal-and-cloud-load-balancing .
Per abilitare questa impostazione nella console Google Cloud, seleziona Interno > Consenti il traffico da Application Load Balancer esterni.
|
Tutti |
Livello minimo di restrizioni. Consente tutte le richieste, incluse quelle direttamente da
internet all'URL run.app .
|
Accesso ai servizi interni
Si applicano le seguenti considerazioni aggiuntive:
Quando accedi ai servizi interni, chiamali come faresti normalmente utilizzando i loro URL pubblici, ovvero 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. In caso contrario, consulta Ricezione di richieste da reti VPC.
Quando chiami da Cloud Run, App Engine o Cloud Functions a un servizio Cloud Run impostato su "Interno" o "Interno e Cloud Load Balancing", il traffico deve essere instradato attraverso una rete VPC considerata interna. Vedi Ricevi richieste da altri servizi Cloud Run, App Engine e Cloud Functions.
Le richieste dalle risorse all'interno delle reti VPC nello stesso progetto sono "interne", anche se la risorsa da cui hanno origine ha un indirizzo IP esterno.
Le richieste da risorse on-premise connesse alla rete VPC tramite Cloud VPN e Cloud Interconnect sono "interne".
Impostazione del traffico in entrata in corso...
Puoi impostare il traffico in entrata utilizzando uno dei metodi supportati nelle schede:
Console
Se stai configurando un nuovo servizio, fai clic su Crea servizio e compila la pagina iniziale delle impostazioni del servizio come preferisci.
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.
Riga di comando
Se esegui il deployment di un nuovo servizio, esegui il deployment del servizio con il flag
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Sostituisci
INGRESS
con una delle impostazioni di traffico in entrata disponibili:all
internal
internal-and-cloud-load-balancing
SERVICE
con il nome del tuo servizio- IMAGE_URL con un riferimento all'immagine container,
ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Se stai modificando un servizio in entrata esistente:
gcloud run services update SERVICE --ingress INGRESS
Sostituisci
INGRESS
con una delle impostazioni di traffico in entrata 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 traffico in entrata 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, vedi Comandi Terraform di base.
Aggiungi quanto segue al tuo file main.tf
:
Passaggi successivi
- Scopri di più sulle impostazioni per il traffico in uscita
- Configura un bilanciatore del carico delle applicazioni interno per Cloud Run.
- Configura un bilanciatore del carico delle applicazioni esterno con Cloud Run.
- Configura i metodi di autenticazione IAM per l'accesso ai servizi.