Crea un'app Node.js nell'ambiente flessibile di App Engine
ID regione
L'REGION_ID è un codice abbreviato che Google assegna 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.
Questa guida rapida mostra come creare ed eseguire il deployment di un'app che visualizza un breve messaggio. Puoi
utilizzare l'applicazione di esempio in questa guida rapida per qualsiasi supportata versione di Node.js, specificando la versione runtime
e il sistema operativo nel tuo
app.yaml file.
Prima di iniziare
- Accedi al tuo Google Cloud account. 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.
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
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.
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare questa guida rapida, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Amministratore App Engine (
roles/appengine.appAdmin) sul progetto -
Editor Cloud Build (
roles/cloudbuild.builds.editor) sul progetto -
Storage Object Admin (
roles/storage.objectAdmin) sul progetto -
Visualizzatore log (
roles/logging.viewer) sul progetto -
Service Account User (
roles/iam.serviceAccountUser) sul account di servizio -
Chiedi all'amministratore di concedere i seguenti ruoli per il account di servizio predefinito di App Engine:
-
Lettore Artifact Registry (
roles/artifactregistry.reader) sul progetto -
Service account Cloud Build (
roles/cloudbuild.builds.builder) sul progetto -
Storage Object Viewer (
roles/storage.objectViewer) sul progetto
-
Lettore Artifact Registry (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Prerequisiti aggiuntivi
Inizializza la tua app App Engine con il tuo progetto e scegli la relativa area geografica:
gcloud app create --project=[YOUR_PROJECT_ID]Quando richiesto, seleziona la regione in cui vuoi localizzare l'applicazione App Engine.
Installa quanto segue sulla tua macchina locale:
Località App Engine
App Engine è regionale, pertanto l'infrastruttura che esegue le tue applicazioni si trova in una regione specifica ed è gestita da Google in modo che sia disponibile in modo ridondante in tutte le zone all'interno di quella regione.
Il rispetto dei requisiti di latenza, disponibilità o durabilità è un fattore primario per la selezione della regione in cui vengono eseguite le tue app. In genere puoi selezionare la regione più vicina agli utenti della tua app, ma devi considerare le località in cui App Engine è disponibile nonché le località degli altri Google Cloud prodotti e servizi utilizzati dalla tua app. L'utilizzo di servizi in più località può influire sulla latenza dell'app, nonché sui prezzi.
Non puoi modificare la regione di un'app dopo averla impostata.
Se hai già creato un'applicazione App Engine, puoi visualizzarne la regione in uno dei seguenti modi:
Esegui il comando
gcloud app describe.Apri la dashboard di App Engine nella Google Cloud console. La regione viene visualizzata nella parte superiore della pagina.
Questa guida rapida mostra una semplice applicazione Node.js scritta con il framework Express.js.
scarica l'app Hello World
Abbiamo creato un'app Hello World per App Engine in modo che tu possa farti un'idea rapidamente di come eseguire il deployment di un'app in Google Cloud.
Clona il repository dell'app di esempio Hello World sulla tua macchina locale.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samplesIn alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.
Passa alla directory che contiene il codice campione.
cd nodejs-docs-samples/appengine/hello-world/flexible/
Esegui Hello World sulla tua macchina locale
Installa le dipendenze per questo progetto.
npm installOppure, se utilizzi Yarn.
yarn installEsegui lo script di avvio.
npm startOppure, se utilizzi Yarn.
yarn startVisualizza l'app nel browser web.
Se utilizzi Cloud Shell, nella barra degli strumenti fai clic Anteprima web
e seleziona Anteprima sulla porta 8080 invece.
Se non utilizzi Cloud Shell, inserisci il seguente indirizzo:
Nella pagina viene visualizzato il messaggio Hello World dell'app di esempio. Nella finestra del terminale, premi Ctrl+C per uscire dal server web.
Esegui il deployment di Hello World e avviala in App Engine
Per eseguire il deployment dell'app nell'ambiente flessibile di App Engine:-
Esegui il deployment dell'app Hello World eseguendo il comando seguente dalla directory
hello-world/flexible/:gcloud app deploy
Scopri di più sui flag facoltativi.
Flag dei comandi
gcloudcomuni-
Includi il flag
--versionper specificare un ID che identifichi in modo univoco la versione dell'app. In caso contrario, ne viene generato uno automaticamente. Esempio:--version [YOUR_VERSION_ID] -
Includi il flag
--projectper specificare un ID progetto alternativo a quello inizializzato come predefinito nello strumentogcloud. Google Cloud Esempio:--project [YOUR_PROJECT_ID]
Esempio:
gcloud app deploy --version pre-prod-5 --project my-sample-app
Per saperne di più sul deployment dell'app dalla riga di comando, consulta Testare ed eseguire il deployment dell'app . Per un elenco di tutti i flag dei comandi, consulta il riferimento
gcloud app deploy. -
Includi il flag
-
Avvia il browser per visualizzare l'app all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com dovegcloud app browse
PROJECT_IDrappresenta l'ID progetto. Google Cloud
Questa volta, la pagina che visualizza il messaggio Hello World viene fornita da un server web in esecuzione su un'istanza di App Engine.
Complimenti! Hai eseguito il deployment della tua prima app App Engine nell'ambiente flessibile di App Engine.
Se hai riscontrato errori durante il deployment dell'applicazione, consulta i suggerimenti per la risoluzione dei problemi.Nelle sezioni seguenti troverai informazioni sulla pulizia e link ai possibili passaggi successivi che puoi intraprendere.
Libera spazio
Per evitare addebiti, puoi eliminare il tuo Google Cloud progetto per interrompere la fatturazione di tutte le risorse utilizzate al suo interno.
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
Scopri l'intera piattaforma
Ora che sai come sviluppare ed eseguire il deployment delle app App Engine, puoi esplorare il resto di Google Cloud. Hai già installato Google Cloud CLI, che ti fornisce gli strumenti per interagire con prodotti come Cloud SQL, Cloud Storage, Firestore e altri ancora.
Scopri di più sull'ambiente flessibile di App Engine
Ecco alcuni argomenti che ti aiuteranno a continuare a imparare a utilizzare App Engine:
Revisione del codice Hello World
Hello World è l'app App Engine più semplice possibile, in quanto contiene un solo servizio, ha una sola versione e tutto il codice si trova nella directory principale dell'app. Questa sezione descrive in dettaglio ciascuno dei file dell'app.
app.js
Il file app.js contiene il codice JavaScript per avviare un server e rispondere alle richieste.
Il seguente codice risponde alle richieste dei client web visualizzando il messaggio "Hello World" tramite un server in esecuzione sulla porta 8080.
app.yaml
Il app.yaml
file descrive la seguente configurazione per l'app:
- Imposta
env: flex, indicando che l'app utilizza l' ambiente flessibile di App Engine. Specifica il runtime utilizzato dall'app.
Per saperne di più sul funzionamento del runtime Node.js, consulta Il runtime Node.js.
Per maggiori dettagli su come progettare l'app per sfruttare le versioni e i servizi, consulta Panoramica di App Engine.
Per maggiori dettagli sulle impostazioni di configurazione di App Engine, consulta Configurare l'app con app.yaml.
package.jsonpackage.jsonviene utilizzato per specificare le dipendenze dell'app, la versione di Node e l'avvio dell'app.Nell'esempio precedente, il file
package.jsonspecifica che l'app utilizza Node.js versione 18 e successive e dipende da Express. Per maggiori dettagli su come installare ed eseguire l'app, consulta la documentazione del runtime Node.js.