Comunicazione tra i servizi

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata al momento della creazione dell'app. Il codice non corrispondono a un paese o a una provincia, anche se potrebbero essere visualizzati alcuni ID regione in modo simile ai codici paese e provincia di uso comune. Per le app create dopo il giorno Febbraio 2020, REGION_ID.r è incluso in 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 il tuo App Engine o con altri servizi, tra cui i servizi e i servizi Google Cloud per applicazioni esterne.

L'approccio più semplice per comunicare con il tuo servizio App Engine è di inviare richieste HTTP mirate, dove l'URL include il nome o l'ID di risorsa. Ad esempio, puoi includere l'ID di un servizio o di una versione da 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 è più di 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 inoltre comunicare Pub/Sub, che fornisce un servizio l'invio di messaggi many-to-many tra i processi, incluso App Engine. Questi possono essere singole istanze della tua applicazione, dei tuoi servizi per applicazioni esterne.

Per condividere i dati tra database e la tua app App Engine o qualche altra per applicazioni esterne, consulta Informazioni sull'archiviazione di dati e file.

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à:

  • Condividere un singolo memcache in esecuzione in un'istanza Compute Engine.
  • Collabora assegnando il lavoro da un servizio all'altro tramite Code di attività.

Comunicazione privata

Comunicazione tra servizi nello 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 in entrata regolando il valore Impostazioni traffico in entrata per consentire "internal" solo traffico.

    L'"interno" consente le richieste dal VPC del progetto solo sulle reti. Sono incluse le risorse di App Engine di un'app client su 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, inclusi 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 appartenente a una delle reti del progetto Google Cloud, non a una rete VPC condivisa.

    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 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.

      • L'app client invia all-traffic tramite il connettore di accesso VPC serverless delle richieste di utilizzo dell'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 condivisa configurata per richiamare un'app in esecuzione nel progetto host della rete VPC condivisa.

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 condivisa.

Altri metodi di comunicazione tra progetti che utilizzano l'accesso interno non sono possibile in App Engine.

Percorsi URL riservati

Non è possibile utilizzare i seguenti percorsi degli URL:

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