Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan cara menentukan lingkungan eksekusi instance Cloud Run. Layanan Cloud Run secara default tidak
menentukan lingkungan eksekusi, yang berarti Cloud Run memilih
lingkungan eksekusi berdasarkan fitur yang digunakan. Jika Anda tidak menentukan
lingkungan eksekusi untuk layanan Anda, Cloud Run dapat memilih lingkungan generasi pertama atau generasi kedua.
Perhatikan bahwa tugas Cloud Run hanya menggunakan lingkungan eksekusi generasi kedua, dan hal ini tidak dapat diubah untuk tugas.
Lihat dokumentasi konsep lingkungan eksekusi untuk mendapatkan bantuan dalam memilih lingkungan yang terbaik bagi layanan Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk mengonfigurasi dan men-deploy layanan Cloud Run,
minta administrator Anda untuk memberi Anda
peran IAM berikut:
Jika Anda men-deploy layanan
atau fungsi dari kode sumber, Anda
juga harus memiliki peran tambahan yang diberikan kepada Anda di project dan
akun layanan Cloud Build.
Setiap perubahan konfigurasi akan
menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan
setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Default untuk layanan Cloud Run adalah tidak ditentukan, yang berarti
Cloud Run akan memilih lingkungan eksekusi yang sesuai.
Atau, Anda dapat menentukan lingkungan eksekusi. Untuk menggunakan generasi kedua,
Anda harus menentukan memori minimal 512 MiB.
Pilih Services dari menu, lalu klik Deploy container untuk
mengonfigurasi layanan baru.
Jika Anda mengonfigurasi layanan yang ada, klik
layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan
layanan awal, lalu klik Container, Volume, Jaringan, Keamanan untuk meluaskan
halaman konfigurasi layanan.
Klik tab Container.
Pilih lingkungan eksekusi yang diinginkan menggunakan
tombol opsi. Biarkan "Default" agar Cloud Run memilih lingkungan eksekusi yang sesuai.
Ganti SERVICE dengan nama layanan Anda dan ENVIRONMENT dengan lingkungan eksekusi yang diinginkan. Tentukan nilai gen1 untuk generasi
pertama atau gen2 untuk generasi kedua.
Anda juga dapat menetapkan lingkungan eksekusi selama deployment menggunakan perintah:
IMAGE_URL: referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry,
repositoriREPO_NAME harus
sudah dibuat. URL mengikuti format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
ENVIRONMENT: lingkungan eksekusi
yang diinginkan. Tentukan nilai gen1 untuk generasi pertama atau gen2
untuk generasi kedua.
YAML
Jika Anda membuat layanan baru, lewati langkah ini.
Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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."]]