Dopo molteplici avanti e indietro con Google e ore di lettura di blog e analisi di rapporti, ho finalmente (un po ') trovato una spiegazione per quello che è successo. Lo posterò qui con i miei suggerimenti in modo che anche altre persone non cadano vittime di questo problema.
Nota, questo può sembrare ovvio per alcuni, ma come nuovo utente GAE, tutto questo era nuovo di zecca per me.
In breve, durante la distribuzione su GAE e utilizzando il seguente comando " $ gcloud app deploy ", crea una nuova versione e la imposta come predefinita, ma anche e, cosa più importante, NON rimuove la versione precedente che era stata distribuita.
Ulteriori informazioni su versioni e istanze sono disponibili qui: https://cloud.google.com/appengine/docs/standard/python/an-overview-of-app-engine
Quindi nel mio caso, senza saperlo, avevo creato più versioni della mia semplice app per nodi. Queste versioni sono ancora in esecuzione nel caso in cui sia necessario cambiare in seguito a un errore. Ma queste versioni richiedono anche istanze e l'impostazione predefinita, a meno che non sia specificato in app.yaml, è 2 istanze.
Google dice:
Per impostazione predefinita, App Engine ridimensiona il numero di istanze in esecuzione in base al carico, fornendo così prestazioni costanti per la tua app in ogni momento, riducendo al minimo le istanze inattive e riducendo i costi.
Tuttavia, dalla mia esperienza, non è stato così. Come ho detto prima, ho spinto la mia app del nodo con nodemon che sembra stesse causando errori.
Alla fine, seguendo il tutorial e senza chiudere il progetto, ho avuto 4 versioni, ciascuna con 2 istanze in esecuzione a tempo pieno per 1,5 mesi che servono 0 richieste e genera molti messaggi di errore e mi è costato $ 500.
RACCOMANDAZIONI SE VUOI ANCORA UTILIZZARE GAE FLEX ENV:
Innanzitutto, imposta un budget di fatturazione e avvisi in modo da non essere sorpreso da una costosa fattura che viene automaticamente addebitata al tuo CC: https://cloud.google.com/billing/docs/how-to/budgets
In un ambiente di test, molto probabilmente non hai bisogno di più versioni, quindi durante la distribuzione usa il seguente comando:
$ gcloud app deploy --version v1
Aggiorna il tuo app.yaml per forzare solo 1 istanza con risorse minime:
runtime: nodejs
env: flex
# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
- Imposta il limite di spesa giornaliero

Vedi questo post del blog per maggiori informazioni: https://medium.com/google-cloud/three-simple-steps-to-save-costs-when-prototyping-with-app-engine-forrect-environment-104fc6736495
Vorrei che alcuni di questi passaggi fossero stati inclusi nel tutorial per proteggere coloro che stanno cercando di imparare e sperimentare, ma non è stato così.
L'env di Google App Engine Flex può essere complicato se non si conoscono tutti questi dettagli. Un amico mi ha indicato Heroku, che ha sia prezzi fissi che offerte gratuite / hobby. Sono stato in grado di spingere rapidamente una nuova app per nodi lì e ha funzionato a meraviglia!
https://www.heroku.com/pricing
Mi è costato "solo" $ 500 per imparare questa lezione, ma spero che questo aiuti gli altri che guardano Google App Engine Flex Env.