Guida rapida: crea ed esegui il deployment di un'app web PHP in Cloud Run
Scopri come utilizzare un singolo comando per creare ed eseguire il deployment di un'applicazione web "Hello World" da un esempio di codice a Google Cloud utilizzando Cloud Run.
Se segui i passaggi descritti in questa guida rapida, Cloud Run crea automaticamente un Dockerfile quando esegui il deployment dal codice sorgente.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
- Per impostare il progetto predefinito per il tuo servizio Cloud Run:
Sostituisci PROJECT_ID con l' Google Cloud ID progetto.gcloud config set project PROJECT_ID
Se il tuo progetto è soggetto a un criterio dell'organizzazione con restrizioni di dominio che limitano le chiamate non autenticate, dovrai accedere al servizio di cui è stato eseguito il deployment come descritto in Testare i servizi privati.
Abilita l'API Cloud Run Admin e l'API Cloud Build:
gcloud services enable run.googleapis.com \ cloudbuild.googleapis.com
Dopo aver abilitato l'API Cloud Run Admin, viene creato automaticamente l'account di servizio predefinito di Compute Engine.
- Concedi al account di servizio Cloud Build il seguente ruolo IAM.
Fai clic per visualizzare i ruoli richiesti per il account di servizio Cloud Build
Cloud Build utilizza automaticamente l'account di servizio predefinito di Compute Engine come service account Cloud Build predefinito per creare il codice sorgente e la risorsa Cloud Run, a meno che tu non esegua l'override di questo comportamento. Per consentire a Cloud Build di creare le tue origini, chiedi all'amministratore di concedere il ruolo Cloud Run Builder (
roles/run.builder
) al account di servizio predefinito di Compute Engine sul tuo progetto:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Sostituisci
PROJECT_NUMBER
con il numero del tuo progetto Google CloudePROJECT_ID
con l'ID del tuo progetto Google Cloud. Per istruzioni dettagliate su come trovare l'ID progetto e il numero di progetto, vedi Creazione e gestione dei progetti.La concessione del ruolo Cloud Run Builder all'account di servizio Compute Engine predefinito richiede un paio di minuti per la propagazione.
- Consulta i prezzi di Cloud Run o stima i costi con il Calcolatore prezzi.
Crea una nuova directory denominata
helloworld-php
e accedi alla directory:mkdir helloworld-php cd helloworld-php
Crea un file denominato
index.php
e incolla il seguente codice:Questo codice risponde alle richieste con il nostro saluto "Hello World". La gestione HTTP viene eseguita da un server web Apache nel contenitore.
Crea un nuovo file denominato
Dockerfile
nella stessa directory dei file di origine. Il Dockerfile PHP avvia un server web Apache che rimane in ascolto sulla porta definita dalla variabile di ambientePORT
:Aggiungi un file
.dockerignore
per escludere i file dall'immagine container.Nella directory del codice sorgente, esegui il deployment della cartella corrente utilizzando questo comando:
gcloud run deploy --source .
Quando ti viene richiesto il nome del servizio, premi Invio per accettare il nome predefinito, ad esempio
helloworld
.Se ti viene chiesto di abilitare API aggiuntive nel progetto, ad esempio l'API Artifact Registry, rispondi premendo
y
.Quando ti viene chiesto di selezionare la regione, scegli la regione che preferisci, ad esempio
europe-west1
.Se ti viene chiesto di creare un repository nella regione specificata, rispondi premendo
y
.Se ti viene chiesto di consentire l'accesso pubblico: rispondi
y
. Potresti non visualizzare questo prompt se è presente un criterio dell'organizzazione di limitazione dei domini che lo impedisce. Per maggiori dettagli, consulta la sezione Prima di iniziare.
Quindi, attendi qualche istante fino al completamento del deployment. Se l'operazione riesce, la riga di comando visualizza l'URL del servizio.
Visita il servizio di cui hai eseguito il deployment aprendo l'URL del servizio in un browser web.
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, India)europe-north1
(Finlandia)Bassi livelli di CO2
europe-north2
(Stoccolma)Bassi livelli di CO2
europe-southwest1
(Madrid)Bassi livelli di CO2
europe-west1
(Belgio)Bassi livelli di CO2
europe-west4
(Paesi Bassi)Bassi livelli di CO2
europe-west8
(Milano)europe-west9
(Parigi)Bassi livelli di CO2
me-west1
(Tel Aviv)northamerica-south1
(Messico)us-central1
(Iowa)Bassi livelli di CO2
us-east1
(Carolina del Sud)us-east4
(Virginia del Nord)us-east5
(Columbus)us-south1
(Dallas)Bassi livelli di CO2
us-west1
(Oregon)Bassi livelli di CO2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Seul, Corea del Sud)asia-southeast1
(Singapore)asia-southeast2
(Giacarta)asia-south2
(Delhi, India)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsavia, Polonia)europe-west10
(Berlino)Bassi livelli di CO2
europe-west12
(Torino)europe-west2
(Londra, Regno Unito)Bassi livelli di CO2
europe-west3
(Francoforte, Germania)europe-west6
(Zurigo, Svizzera)Bassi livelli di CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)Bassi livelli di CO2
northamerica-northeast2
(Toronto)Bassi livelli di CO2
southamerica-east1
(San Paolo, Brasile)Bassi livelli di CO2
southamerica-west1
(Santiago, Cile)Bassi livelli di CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)Nella console Google Cloud , vai a Cloud Run:
Individua il servizio che vuoi eliminare nell'elenco dei servizi e fai clic sulla relativa casella di controllo per selezionarlo.
Fai clic su Elimina. Vengono eliminate tutte le revisioni del servizio.
- SERVICE: il nome del tuo servizio.
- REGION: Google Cloud regione del servizio.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
scrivi l'applicazione di esempio
Per scrivere un'applicazione in PHP:
La tua app è completa e pronta per il deployment.
Esegui il deployment in Cloud Run dall'origine
Importante: questa guida rapida presuppone che tu disponga dei ruoli di proprietario o editor nel progetto che utilizzi per la guida rapida. In caso contrario, consulta il ruolo Sviluppatore origine Cloud Run per le autorizzazioni necessarie per il deployment di una risorsa Cloud Run dall'origine.
Il deployment dal codice sorgente crea automaticamente un'immagine container dal codice sorgente e la esegue il deployment.
Per eseguire il deployment dall'origine:
Località Cloud Run
Cloud Run è regionale, il che significa che l'infrastruttura che
esegue i tuoi servizi Cloud Run si trova in una regione specifica ed è
gestita da Google per essere disponibile in modo ridondante in
tutte le zone all'interno di quella regione.
Il rispetto dei requisiti di latenza, disponibilità o durabilità sono fattori
primari per la selezione della regione in cui vengono eseguiti i servizi Cloud Run.
In genere puoi selezionare la regione più vicina ai tuoi utenti, ma devi considerare
la posizione degli altri Google Cloud
prodotti utilizzati dal tuo servizio Cloud Run.
L'utilizzo combinato dei prodotti Google Cloud in più località può influire
sulla latenza e sui costi del servizio.
Cloud Run è disponibile nelle seguenti regioni:
Soggetto ai prezzi di Livello 1
Soggetto ai prezzi di Livello 2
Se hai già creato un servizio Cloud Run, puoi visualizzare la regione nella dashboard di Cloud Run nella consoleGoogle Cloud .
Esegui la pulizia
Per evitare costi aggiuntivi al tuo account Google Cloud , elimina tutte le risorse che hai eseguito il deployment con questa guida rapida.
Eliminare il repository
Cloud Run non ti addebita costi quando il servizio di cui hai eseguito il deployment non è in uso. Tuttavia, potresti comunque pagare l'archiviazione dell'immagine container in Artifact Registry. Per eliminare i repository Artifact Registry, segui i passaggi descritti in Eliminare i repository nella documentazione di Artifact Registry.
Eliminare il servizio
I servizi Cloud Run non comportano costi finché non ricevono richieste. Per eliminare il servizio Cloud Run, segui uno di questi passaggi:
Console
Per eliminare un servizio:
gcloud
Per eliminare un servizio, esegui questo comando:
gcloud run services delete SERVICE --region REGION
Sostituisci quanto segue:
Eliminare il progetto di test
L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse del progetto. Per rilasciare tutte le Google Cloud risorse nel tuo progetto:
Passaggi successivi
Per saperne di più sulla creazione di un container dal codice sorgente e sul push in un repository, consulta: