환경 변수를 설정하면 이러한 변수가 컨테이너에 삽입되고 코드에서 액세스할 수 있습니다. 환경 변수는 키-값 쌍으로 설정됩니다.
예약된 이름
컨테이너 런타임 계약에 정의된 환경 변수는 예약되어 있으며 설정할 수 없습니다. 특히 PORT
환경 변수는 Cloud Run을 통해 컨테이너 내부에 삽입되므로 직접 설정해서는 안 됩니다.
환경 변수 설정하기
Cloud Run 서비스 또는 작업의 환경 변수를 설정할 수 있습니다.
Cloud Run 서비스
구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.
새 서비스를 만들거나 새 버전을 배포할 때 Google Cloud 콘솔, gcloud 명령줄 또는 YAML 파일을 사용하여 환경 변수를 설정할 수 있습니다.
콘솔
배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.
새 서비스를 구성하는 경우 원하는 대로 초기 서비스 설정 페이지를 작성한 후 컨테이너, 네트워킹, 보안을 클릭하여 서비스 구성 페이지를 펼칩니다.
컨테이너 탭을 클릭합니다.
- 다음 단계를 따르세요.
- 변수를 추가하려면 변수 추가를 클릭하고 이름 및 값 텍스트 상자에 변수의 이름과 해당 값을 지정합니다.
- 변수의 값을 변경하려면 값 텍스트 상자의 현재 값을 원하는 값으로 바꿉니다.
- 1개 이상의 환경 변수를 삭제하려면 마우스 커서를 삭제할 변수의 값 텍스트 상자 왼쪽으로 가져가서 휴지통 아이콘을 표시하고 클릭합니다.
- 다음 단계를 따르세요.
만들기 또는 배포를 클릭합니다.
명령줄
기존 서비스의 환경 변수를 설정, 업데이트, 삭제하려면 gcloud run services update 명령어를 사용하세요. 필요에 따라 다음 플래그를 사용할 수 있습니다.
서비스를 배포할 때 환경 변수를 지정하거나 서비스가 생성된 후에 이러한 변수를 업데이트할 수 있습니다.
gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
- SERVICE를 서비스 이름으로 바꿉니다.
- KEY1=VALUE1,KEY2=VALUE2를 원하는 변수 이름과 값을 쉼표로 구분한 목록으로 바꿉니다.
- IMAGE_URL을 컨테이너 이미지에 대한 참조(예:
us-docker.pkg.dev/cloudrun/container/hello:latest
)로 바꿉니다. Artifact Registry를 사용하는 경우 URL은REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
형식입니다. .
YAML
YAML 형식으로 정리된 결과를 생성하는 gcloud run services describe --format export
명령어를 사용하면 기존 서비스 구성을 다운로드해서 볼 수 있습니다.
그런 다음 아래 설명된 필드를 수정하고 gcloud run services replace
명령어를 사용하여 수정된 YAML을 업로드할 수 있습니다.
설명된 대로 필드만 수정해야 합니다.
구성을 보고 다운로드하려면 다음을 실행합니다.
gcloud run services describe SERVICE --format export > service.yaml
containers:
아래의env
속성에서name
및value
속성을 업데이트합니다.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
다음과 같이 바꿉니다.
- SERVICE를 Cloud Run 서비스 이름으로 바꿉니다.
- IMAGE_URL을 컨테이너 이미지에 대한 참조(예:
us-docker.pkg.dev/cloudrun/container/hello:latest
)로 바꿉니다. Artifact Registry를 사용하는 경우 URL은REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
형식입니다. - KEY-1 및 VALUE-1을 각각 환경 변수와 값으로 바꿉니다. 필요에 따라 변수와 값을 더 추가해도 됩니다.
- REVISION을 새 버전 이름으로 변경하거나 삭제합니다(있는 경우). 새 버전 이름을 제공할 경우 다음 기준을 반드시 충족해야 합니다.
SERVICE-
로 시작해야 합니다.- 소문자, 숫자,
-
만 포함합니다. -
로 끝나면 안 됩니다.- 63자(영문 기준) 이하여야 합니다.
다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.
gcloud run services replace service.yaml
Terraform
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
template.spec.containers
아래의 Terraform 구성에서 google_cloud_run_service
리소스에 다음 항목을 추가합니다. 다음 예시에서는 foo
환경 변수를 bar
로 설정하고 baz
환경 변수를 quux
로 설정합니다.
Cloud Run 작업
Cloud Run 작업의 환경 변수를 설정하려면 다음 안내를 따르세요.
콘솔
새 작업을 구성하는 경우 작업 탭을 클릭하고 원하는 대로 초기 작업 설정 페이지를 작성합니다. 기존 작업을 구성하는 경우 작업을 클릭한 후 수정을 클릭합니다.
컨테이너, 변수 및 보안 비밀, 연결, 보안을 클릭하여 작업 속성 페이지를 펼칩니다.
변수 탭을 클릭합니다.
- 다음 단계를 따르세요.
- 변수를 추가하려면 변수 추가를 클릭하고 이름 및 값 텍스트 상자에 변수의 이름과 해당 값을 지정합니다.
- 변수의 값을 변경하려면 값 텍스트 상자의 현재 값을 원하는 값으로 바꿉니다.
- 1개 이상의 환경 변수를 삭제하려면 마우스 커서를 삭제할 변수의 값 텍스트 상자 왼쪽으로 가져가서 휴지통 아이콘을 표시하고 클릭합니다.
- 다음 단계를 따르세요.
만들기 또는 업데이트를 클릭합니다.
명령줄
gcloud run jobs update 명령어를 사용하여 기존 서비스의 환경 변수를 설정, 업데이트, 삭제합니다. 필요에 따라 다음 플래그를 사용할 수 있습니다.
- --set-env-vars
- --update-env-vars
- --remove-env-vars
-
작업 생성 또는 작업 업데이트 중에 환경 변수를 지정할 수 있습니다.
gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
JOB_NAME을 작업 이름으로 바꿉니다.
KEY1=VALUE1,KEY2=VALUE2를 원하는 변수 이름과 값을 쉼표로 구분한 목록으로 바꿉니다.
IMAGE_URL을 컨테이너 이미지에 대한 참조(예:
us-docker.pkg.dev/cloudrun/container/job:latest
)로 바꿉니다.
YAML
YAML 형식으로 정리된 결과를 반환하는 gcloud run jobs describe --format export
명령어를 사용하면 기존 작업 구성을 다운로드하고 볼 수 있습니다. 그런 다음 아래 설명된 필드를 수정하고 gcloud run jobs replace
명령어를 사용하여 수정된 YAML을 업로드합니다.
설명된 대로 필드만 수정해야 합니다.
구성을 보고 다운로드하려면 다음을 실행합니다.
gcloud run jobs describe JOB_NAME --format export > job.yaml
containers:
아래 표시된env
에서name
및value
속성을 업데이트합니다.
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
KEY-1 및 VALUE-1를 각각 환경 변수와 값으로 바꿉니다. 필요에 따라 변수와 값을 더 추가해도 됩니다.
또한 환경 변수 또는 메모리 제한과 같은 추가 구성을 지정할 수 있습니다.
기존 작업 구성을 업데이트합니다.
gcloud run jobs replace job.yaml
여러 환경 변수 설정
KEY1=VALUE1,KEY2=VALUE2
형식으로 간단하게 나열할 수 없는 환경 변수가 너무 많으면 위에 나열된 플래그를 여러 번 반복할 수 있습니다.
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
쉼표 문자 이스케이프 처리
쉼표 문자(,
)는 환경 변수를 분할하는 데 사용되므로, 환경 변수 값에 쉼표 문자가 포함되어 있으면 다른 구분 기호 문자(예: @
)를 지정하여 이스케이프 처리해야 합니다.
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
컨테이너에 기본 환경 변수 설정
Dockerfile에서 ENV
문을 사용하여 환경 변수의 기본값을 설정할 수 있습니다.
ENV KEY1=VALUE1,KEY2=VALUE2
우선 순위: 컨테이너와 서비스 또는 작업 변수 비교
컨테이너에서 기본 환경 변수를 설정하고 Cloud Run 서비스 또는 작업에서도 이름이 같은 환경 변수를 설정하면 서비스에 설정된 값이 우선 적용됩니다.
환경 변수 설정 보기
Cloud Run 서비스의 현재 환경 변수 설정을 보려면 다음 안내를 따르세요.
콘솔
관심이 있는 서비스를 클릭하여 서비스 세부정보 페이지를 엽니다.
버전 탭을 클릭합니다.
오른쪽의 세부정보 패널에서 환경 변수 설정이 컨테이너 탭에 표시됩니다.
명령줄
다음 명령어를 사용하세요.
gcloud run services describe SERVICE
반환된 구성에서 환경 변수 설정을 찾습니다.
Cloud Run 작업의 현재 환경 변수 설정을 보려면 다음 안내를 따르세요.
콘솔
관심 있는 작업을 클릭하여 작업 세부정보 페이지를 엽니다.
구성 탭을 클릭합니다.
구성 세부정보에서 환경 변수 설정을 찾습니다.
명령줄
다음 명령어를 사용하세요.
gcloud run jobs describe JOB_NAME
반환된 구성에서 환경 변수 설정을 찾습니다.
샘플 코드
코드에서 환경 변수에 액세스하는 방법을 보여주는 코드 샘플은 최종 사용자 인증 튜토리얼에서 Secret Manager로 민감한 구성 처리를 참조하세요.
다음 단계
환경 변수를 사용하여 빌드팩 구성을 설정할 수 있습니다. 언어별 세부정보는 다음에 대한 빌드팩 문서를 참조하세요.