Ambient Networking offre un'esperienza di networking delle risorse semplificata integrata in Cloud Run. Fornisce alle tue risorse un piano dati completamente gestito per eliminare l'onere operativo di creazione e manutenzione dei proxy personalizzati. Inoltre, astrae i concetti di mesh di servizi, in modo da ottenere funzionalità di networking avanzate senza dover apprendere o configurare un mesh.
Quando attivi l'Ambient Networking, il traffico passa invariato per impostazione predefinita, in modo che il traffico HTTP e TCP esistente continui a funzionare. L'attivazione di Ambient Networking da sola non modifica il comportamento della risorsa. Come base, Ambient Networking ti consente di attivare le funzionalità descritte nella sezione seguente.
Caso d'uso
Ambient Networking è la base per le funzionalità di networking avanzate in Cloud Run. Dopo aver attivato Ambient Networking, puoi attivare l'utilizzo di Agent Gateway su Cloud Run. Questa funzionalità regola il traffico degli agenti con policy di accesso e sicurezza gestite centralmente dalla tua organizzazione.
Architettura
Ambient Networking esegue un container sidecar Envoy completamente gestito all'interno di ogni istanza container della risorsa Cloud Run, insieme al container dell'applicazione. Il sidecar intercetta il traffico di rete dell'istanza e applica la policy di routing e sicurezza che Cloud Run gli distribuisce.
Ambiti di Ambient Networking
Ambient Networking supporta un ambito globale e un ambito regionale. L'ambito determina se il sidecar si connette a un piano di routing globale o regionale:
- Regionale (predefinita): Cloud Run connette il sidecar a un piano di routing regionale, limitando le policy di routing e di sicurezza alle destinazioni all'interno della regione del servizio. Questo ambito supporta i requisiti di residenza dei dati (DRZ) per i dati at-rest, in uso e in transito. Se non specifichi un ambito, Ambient Networking utilizza l'ambito regionale.
- Globale: Cloud Run connette il sidecar a un piano di routing globale, consentendogli di instradare il traffico verso destinazioni in qualsiasi regione.
Ogni funzionalità che utilizza Ambient Networking richiede un ambito specifico:
| Funzionalità | Ambito globale | Ambito regionale |
|---|---|---|
| Agent Gateway su Cloud Run | Non supportata | Supportato |
Limitazioni
Le seguenti limitazioni si applicano ad Ambient Networking:
- Il traffico UDP non è supportato. Ambient Networking supporta solo il traffico HTTP e TCP.
- Le richieste in entrata non supportano HTTP/2 end-to-end. Per maggiori dettagli, vai alla sezione Problemi noti.
- L'ambito regionale non supporta le reti VPC che risolvono
*.googleapis.comin indirizzi IP di accesso privato Google. Per maggiori dettagli, vai alla sezione Problemi noti. - L'ambiente di esecuzione di prima generazione non è supportato. Se non specifichi un ambiente di esecuzione, Cloud Run utilizza la seconda generazione.
- Le istanze container richiedono più tempo per l'avvio. Per maggiori dettagli, vai alla sezione Problemi noti.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Abilita le API Cloud Run, Network Services e Traffic Director, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.-
Aumenta il limite di CPU della risorsa Cloud Run di 1 vCPU e il limite di memoria di 1 GiB. Se il nuovo limite di CPU non è un valore supportato, utilizza il valore supportato successivo più alto. Il sidecar ambient condivide la CPU e la memoria dell'istanza del container, quindi questo aumento garantisce che l'applicazione mantenga le risorse di cui ha bisogno.
-
Leggi la pagina dei prezzi di Cloud Run per l'utilizzo del sidecar di Ambient Networking. La fatturazione per le funzionalità ambient non viene applicata durante l'anteprima.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment di servizi Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Cloud Run Developer (
roles/run.developer) sul servizio Cloud Run - Utente dell'account di servizio (
roles/iam.serviceAccountUser) sull'identità di servizio
Se esegui il deployment di un servizio o di una funzione dal codice sorgente, devi disporre anche di ruoli aggiuntivi concessi al tuo progetto e al account di servizio Cloud Build.
Anche l'identità di servizio della risorsa Cloud Run deve disporre dei seguenti ruoli:
- Client Traffic Director (
roles/trafficdirector.client) - Cloud Trace Agent (
roles/cloudtrace.agent)
Per concedere questi ruoli all'identità di servizio, utilizza gcloud:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/trafficdirector.client" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
Sostituisci quanto segue:
- PROJECT_ID: il tuo ID progetto Google Cloud .
- RUN_CLIENT_SA: il nome del account di servizio collegato al tuo servizio Cloud Run.
Se l'identità di servizio non dispone di questi ruoli, il deployment della risorsa Cloud Run viene comunque eseguito, ma le funzionalità che utilizzano Ambient Networking non funzionano.
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.
Configura Ambient Networking
Configura l'Ambient Networking utilizzando gcloud o un file YAML.
gcloud
Per abilitare Ambient Networking su un nuovo servizio, passa il flag
--ambient-networkinge, facoltativamente, il flag--ambient-scope:gcloud beta run deploy SERVICE \ --image=IMAGE_URL \ --ambient-networking \ --ambient-scope=SCOPE \ --region=REGION
Per abilitare l'Ambient Networking su un servizio esistente, passa gli stessi flag al comando
gcloud beta run services update, che esegue il deployment di una nuova revisione con l'Ambient Networking abilitato:gcloud beta run services update SERVICE \ --ambient-networking \ --ambient-scope=SCOPE \ --region=REGION
Per disattivare Ambient Networking, passa il flag
--no-ambient-networking:gcloud beta run services update SERVICE \ --no-ambient-networking \ --region=REGION
Sostituisci quanto segue:
- SERVICE: il nome del tuo servizio Cloud Run.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL segue il formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- SCOPE: l'ambito di Ambient Networking,
globaloregional. - REGION: la regione del 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
Aggiungi l'annotazione
run.googleapis.com/ambient-networkinge, facoltativamente, l'annotazionerun.googleapis.com/ambient-scope:spec: template: metadata: annotations: run.googleapis.com/ambient-networking: 'true' run.googleapis.com/ambient-scope: SCOPE
Sostituisci SCOPE con l'ambito di Ambient Networking,
globaloregional. Per disattivare Ambient Networking, impostarun.googleapis.com/ambient-networkingsu'false'e rimuovi l'annotazionerun.googleapis.com/ambient-scope.Crea o aggiorna il servizio utilizzando il seguente comando:
gcloud run services replace service.yaml
Il comando
gcloud run services replaceutilizza per impostazione predefinita il fileservice.yaml, se presente.
Visualizza le impostazioni di Ambient Networking
Per visualizzare le impostazioni attuali di Ambient Networking per il tuo servizio Cloud Run:
Console
Nella console Google Cloud , vai alla pagina Servizi di Cloud Run:
Fai clic sul servizio per aprire la pagina Dettagli servizio.
Fai clic sulla scheda Networking.
Nella scheda Ambient Networking, visualizza l'impostazione Ambito.
gcloud
Utilizza il seguente comando:
gcloud beta run services describe SERVICE \ --region=REGION
Individua le annotazioni
run.googleapis.com/ambient-networkingerun.googleapis.com/ambient-scopenella configurazione restituita.
Passaggi successivi
- Scopri di più su Agent Gateway su Cloud Run.
- Scopri come configurare le funzionalità della piattaforma degli agenti per Cloud Run.
- Scopri di più sull'autenticazione tra servizi in Cloud Run.
- Scopri come tracciare le richieste con Cloud Trace.