Comunicazione tra i servizi

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base all'area geografica selezionata al momento della creazione dell'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici paese e provincia 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 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 consiste nell'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 tua 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, potrebbe essere visualizzato l'errore DNS address could not be found.

Scopri di più sulle richieste in App Engine:

I servizi App Engine possono anche comunicare utilizzando Pub/Sub, che fornisce messaggistica many-to-many asincrona affidabile tra i processi, incluso App Engine. Questi processi possono essere singole istanze dell'applicazione, dei servizi o anche delle applicazioni esterne.

Per condividere dati tra database e nell'app App Engine o in qualche altra applicazione esterna, consulta Informazioni sull'archiviazione di dati e file.

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

Inoltre, i servizi nell'ambiente standard che risiedono all'interno dello stesso progetto Google Cloud possono utilizzare una delle API App Engine per le seguenti attività:

Comunicazione privata

Comunicazione tra servizi nello stesso progetto

Puoi consentire a un servizio standard di 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 in entrata regolando le impostazioni in entrata del servizio di destinazione in modo da consentire solo il traffico "interno".

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

  2. Instrada il traffico su 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 che appartiene 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:

      • Il client richiede di utilizzare l'intervallo IP private.googleapis.com aggiungendo una voce DNS per il nome host di destinazione. Segui Configurazione DNS per aggiungere il nome host DNS, ma assicurati di configurare la zona privata in modo che sia per appspot.com anziché googleapis.com. Assicurati inoltre che il traffico sia 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 tramite questo dominio appspot.com.

      • L'app client da inviare all-traffic tramite il connettore di accesso VPC serverless, anziché configurare le richieste per l'utilizzo dell'intervallo IP private.googleapis.com.

Comunicazione tra servizi in diversi progetti

Puoi avere accesso privato tra 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 servizi nello stesso progetto. Nell'ambiente standard, collega ogni versione client a un connettore di accesso VPC serverless sulla rete VPC condiviso.

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

Percorsi URL riservati

Non è possibile utilizzare i seguenti percorsi dell'URL:

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