Comunicazione tra i servizi

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Puoi utilizzare vari metodi per comunicare tra i tuoi servizi App Engine o con altri servizi, inclusi i servizi Google Cloud e le applicazioni esterne.

L'approccio più semplice per comunicare con il servizio App Engine è inviare richieste HTTP mirate, in cui l'URL include il nome o l'ID di una risorsa. Ad esempio, puoi includere l'ID di un servizio o di una versione che vuoi scegliere come target, oltre all'ID progetto Google Cloud corrispondente:


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Tieni presente che la lunghezza combinata di VERSION-dot-SERVICE-dot-PROJECT_ID, dove VERSION è il nome della versione, SERVICE è il nome del servizio e PROJECT_ID è l'ID progetto, non può superare i 63 caratteri e non può iniziare o terminare con un trattino. Se la lunghezza combinata è superiore a 63 caratteri, potresti visualizzare l'errore DNS address could not be found.

Scopri di più sulle richieste in App Engine:

I servizi App Engine possono comunicare anche utilizzando Pub/Sub, che fornisce messaggistica asincrona affidabile many-to-many tra i processi, incluso App Engine. Queste procedure possono essere singole istanze della tua applicazione, dei tuoi servizi o persino applicazioni esterne.

Per condividere i dati tra i database e la tua app App Engine o un'altra applicazione esterna, consulta Informazioni sull'archiviazione di file e dati.

Se utilizzi i servizi in bundle precedenti, puoi anche passare le richieste tra i servizi e dai servizi a endpoint esterni utilizzando l'API URL Fetch.

Inoltre, i servizi nell'ambiente standard che si trovano nello stesso progetto Google Cloud possono utilizzare anche una delle API App Engine per le seguenti attività:

Comunicazione privata

Comunicazione tra i servizi dello stesso progetto

Puoi consentire a un servizio standard App Engine di comunicare con un altro servizio App Engine nello stesso progetto senza dover esporre il servizio di destinazione alla rete internet pubblica.

Per consentire la comunicazione tra i servizi nello stesso progetto:

  1. Configura i controlli di ingresso modificando le impostazioni di ingresso del servizio di destinazione per consentire solo il traffico "interno".

    L'impostazione"Interna" consente solo le richieste provenienti dalle reti VPC del progetto. Sono incluse le risorse App Engine di un'app client sulla stessa rete quando il traffico in uscita viene instradato tramite un connettore. Tutto il resto del traffico proveniente da internet o da altri progetti Google Cloud, inclusi altri servizi App Engine, viene bloccato.

  2. Instrada il traffico tramite un connettore di accesso VPC serverless:

    1. Per ogni versione di App Engine che invia traffico privato ad altri endpoint di app, collega la versione a un connettore di accesso VPC serverless appartenente a una delle reti del progetto Google Cloud, non a una rete VPC condiviso.

    2. Assicurati che l'accesso privato Google sia abilitato per la subnet utilizzata dal connettore di accesso VPC serverless.

    3. Configura una delle seguenti opzioni:

      • Configura le richieste del client in modo che utilizzino l'intervallo IP private.googleapis.com aggiungendo una voce DNS per il nome host di destinazione. Segui la procedura per la configurazione DNS per aggiungere il nome host DNS, ma assicurati di configurare la zona privata per appspot.com anziché googleapis.com. Inoltre, assicurati che il traffico venga indirizzato all'indirizzo appspot.com dell'app di destinazione, non a un dominio personalizzato. La tua app può essere raggiunta solo nell'intervallo IP private.googleapis.com utilizzando questo dominio appspot.com.

      • Configura l'app client in modo da inviare all-traffic tramite il connettore di accesso VPC serverless, anziché configurare le richieste in modo da utilizzare l'intervallo IP private.googleapis.com.

Comunicazione tra servizi in progetti diversi

Puoi avere accesso privato tra i progetti Google Cloud quando le app in esecuzione nei progetti appartengono a una rete VPC condiviso configurata per richiamare un'app in esecuzione nel progetto host della rete VPC condiviso.

Per utilizzare questo pattern, segui i passaggi precedenti per la comunicazione tra i servizi nello stesso progetto. Nell'ambiente standard, collega ogni versione del client a un connettore di accesso VPC serverless sulla rete VPC condiviso.

In App Engine non sono possibili altri metodi di comunicazione tra progetti che utilizzano l'accesso interno.

Percorsi URL riservati

Non è possibile utilizzare i seguenti percorsi URL:

  • Percorsi che terminano con /eventlog
  • Percorsi che iniziano con /_ah/
  • Alcuni percorsi che terminano con z