Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina descrive come specificare l'ambiente di esecuzione delle istanze Cloud Run. Per impostazione predefinita, i servizi Cloud Run non
hanno un ambiente di esecuzione specificato, il che significa che Cloud Run seleziona
l'ambiente di esecuzione in base alle funzionalità utilizzate. Se non specifichi un ambiente di esecuzione per il tuo servizio, Cloud Run può selezionare l'ambiente di prima o seconda generazione.
Tieni presente che i job Cloud Run utilizzano solo l'ambiente di esecuzione di seconda generazione e questo non può essere modificato per i job.
Consulta la documentazione sul concetto di ambienti di esecuzione per ricevere assistenza nella scelta dell'ambiente più adatto al tuo servizio.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment dei servizi Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:
Se esegui il deployment di un servizio o di una funzione dal codice sorgente, devi disporre anche di ruoli aggiuntivi concessi al tuo progetto e al account di servizio Cloud Build.
Qualsiasi modifica alla configurazione comporta la
creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente
questa impostazione di configurazione, a meno che tu non apporti aggiornamenti espliciti per modificarla.
Il valore predefinito per i servizi Cloud Run è unspecified, il che significa
che Cloud Run seleziona un ambiente di esecuzione adatto.
In alternativa, puoi specificare un ambiente di esecuzione. Per utilizzare la seconda generazione,
devi specificare almeno 512 MiB di memoria.
Seleziona Servizi dal menu e fai clic su Esegui il deployment del contenitore per
configurare un nuovo servizio.
Se stai configurando un servizio esistente, fai clic sul
servizio, quindi su Modifica ed esegui il deployment della nuova revisione.
Se stai configurando un nuovo servizio, compila la pagina iniziale delle impostazioni del servizio, quindi fai clic su Container, volumi, networking, sicurezza per espandere la pagina di configurazione del servizio.
Fai clic sulla scheda Contenitore.
Seleziona l'ambiente di esecuzione che preferisci utilizzando i pulsanti di opzione. Mantieni l'opzione "Predefinito" per consentire a Cloud Run di selezionare un ambiente di esecuzione adatto.
Sostituisci SERVICE con il nome del tuo servizio e ENVIRONMENT
con l'ambiente di esecuzione desiderato. Specifica il valore gen1 per la prima
generazione o gen2 per la seconda generazione.
Puoi anche impostare l'ambiente di esecuzione durante l'deployment utilizzando il comando:
IMAGE_URL: un riferimento all'immagine container, ad
esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry,
il repositoryREPO_NAME deve
essere già stato creato. L'URL segue il formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
ENVIRONMENT: l'ambiente di esecuzione desiderato. Specifica il valore gen1 per la prima generazione o gen2
per la seconda generazione.
YAML
Se stai creando un nuovo servizio, salta questo passaggio.
Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Select an execution environment for services\n\nThis page describes how to specify the [execution environment](/run/docs/about-execution-environments) of\nCloud Run instances. Cloud Run services by default don't\nhave an execution environment specified, which means Cloud Run selects\nthe execution environment based on the features used. If you don't specify an\nexecution environment for your service, Cloud Run can select either the\nfirst generation or the second generation environment.\n\nNote that Cloud Run jobs only use the second generation\nexecution environment, and this cannot be changed for jobs.\n\nConsult the [execution environments](/run/docs/about-execution-environments) concept\ndocumentation for assistance in choosing the environment that is best for your\nservice.\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to configure and deploy Cloud Run services,\n\nask your administrator to grant you the\nfollowing IAM roles:\n\n- [Cloud Run Developer](/iam/docs/roles-permissions/run#run.developer) (`roles/run.developer`) on the Cloud Run service\n- [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`) on the service identity\n\n\nIf you are deploying a [service](/run/docs/deploying-source-code#required_roles)\nor [function](/run/docs/deploy-functions#required-roles) from source code, you\nmust also have additional roles granted to you on your project and\nCloud Build service account.\n\nFor a list of IAM roles and permissions that are associated with\nCloud Run, see\n[Cloud Run IAM roles](/run/docs/reference/iam/roles)\nand [Cloud Run IAM permissions](/run/docs/reference/iam/permissions).\nIf your Cloud Run service interfaces with\nGoogle Cloud APIs, such as Cloud Client Libraries, see the\n[service identity configuration guide](/run/docs/configuring/services/service-identity).\nFor more information about granting roles, see\n[deployment permissions](/run/docs/reference/iam/roles#additional-configuration)\nand [manage access](/iam/docs/granting-changing-revoking-access).\n\nSet and update execution environment\n------------------------------------\n\nAny configuration change leads to the\ncreation of a new revision. Subsequent revisions will also automatically get\nthis configuration setting unless you make explicit updates to change it.\n\nThe default for Cloud Run services is *unspecified* , which means\nthat Cloud Run selects a suitable execution environment.\nAlternatively, you can specify an execution environment. To use second generation,\nyou must [specify at least 512 MiB of memory](/run/docs/configuring/services/memory-limits).\n\nYou can set the execution environment using the Google Cloud console, the gcloud\ncommand line, or a YAML file when you [create a new service](/run/docs/deploying#service) or\n[deploy a new revision](/run/docs/deploying#revision): \n\n### Console\n\n\n1. In the Google Cloud console, go to Cloud Run:\n\n [Go to Cloud Run](https://console.cloud.google.com/run)\n2. Select **Services** from the menu, and click **Deploy container** to\n configure a new service.\n If you are configuring an existing service, click the\n service, then click **Edit and deploy new revision**.\n\n3. If you are configuring a new service, fill out the initial service\n settings page, then click **Container(s), Volumes, Networking, Security** to expand the\n service configuration page.\n\n4. Click the **Container** tab.\n\n - Select the desired execution environment using the option buttons. Keep \"Default\" to let Cloud Run select a suitable execution environment.\n5. Click **Create** or **Deploy**.\n\n### gcloud\n\nYou can [update the execution environment](/sdk/gcloud/reference/run/services/update)\nfor a given service by using the following command:\n\n\u003cbr /\u003e\n\n```bash\ngcloud run services update SERVICE --execution-environment ENVIRONMENT\n```\n\n\u003cbr /\u003e\n\nReplace \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service and \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e\nwith the desired execution environment. Specify the value `gen1` for first\ngeneration or `gen2` for second generation.\n\nYou can also set the execution environment during\n[deployment](/sdk/gcloud/reference/run/deploy) using the command:\n\n\u003cbr /\u003e\n\n```bash\ngcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT\n```\n\n\u003cbr /\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e: a reference to the container image, for example, `us-docker.pkg.dev/cloudrun/container/hello:latest`. If you use Artifact Registry, the [repository](/artifact-registry/docs/repositories/create-repos#docker) \u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e must already be created. The URL follows the format of \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e`-docker.pkg.dev/`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`/`\u003cvar translate=\"no\"\u003eREPO_NAME\u003c/var\u003e`/`\u003cvar translate=\"no\"\u003ePATH\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eTAG\u003c/var\u003e .\n- \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: the desired execution environment. Specify the value `gen1` for first generation or `gen2` for second generation.\n\n### YAML\n\n1. If you are creating a new service, skip this step.\n If you are updating an existing service, download its [YAML configuration](/run/docs/reference/yaml/v1):\n\n ```bash\n gcloud run services describe SERVICE --format export \u003e service.yaml\n ```\n2. set the `run.googleapis.com/execution-environment` annotation:\n\n ```yaml\n apiVersion: serving.knative.dev/v1\n kind: Service\n metadata:\n name: SERVICE\n spec:\n template:\n metadata:\n annotations:\n run.googleapis.com/execution-environment: ENVIRONMENT\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e: the name of your Cloud Run service.\n - \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: the selected execution environment. Specify the value `gen1` for first generation or `gen2` for second generation.\n\n Remove the `run.googleapis.com/execution-environment` annotation for the\n default behavior.\n3. Create or update the service using the following command:\n\n ```bash\n gcloud run services replace service.yaml\n ```\n\n### Terraform\n\n\u003cbr /\u003e\n\nTo learn how to apply or remove a Terraform configuration, see\n[Basic Terraform commands](/docs/terraform/basic-commands).\nAdd the following to a [`google_cloud_run_v2_service`](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/cloud_run_v2_service) resource in your Terraform configuration: \n\n\u003cbr /\u003e\n\n resource \"google_cloud_run_v2_service\" \"default\" {\n name = \"cloudrun-service-execution-environment\"\n location = \"\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e\"\n\n template {\n containers {\n image = \"us-docker.pkg.dev/cloudrun/container/hello\"\n }\n execution_environment = \"\u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e\"\n }\n }\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the Google Cloud region. For example, `europe-west1`.\n- \u003cvar translate=\"no\"\u003eENVIRONMENT\u003c/var\u003e: `EXECUTION_ENVIRONMENT_GEN1` for first generation, or `EXECUTION_ENVIRONMENT_GEN2` for second generation.\n\nView Execution environment settings\n-----------------------------------\n\nTo view the current Execution environment settings for your\nCloud Run service: \n\n### Console\n\n1. In the Google Cloud console, go to Cloud Run:\n\n [Go to Cloud Run](https://console.cloud.google.com/run)\n2. Click the service you are interested in to open the **Service details**\n page.\n\n3. Click the **Revisions** tab.\n\n4. In the details panel at the right, the Execution environment setting\n is listed under the **Container** tab.\n\n### gcloud\n\n1. Use the following command:\n\n ```bash\n gcloud run services describe SERVICE\n ```\n2. Locate the Execution environment setting in the returned\n configuration."]]