이 페이지에서는 Cloud Run 인스턴스의 환경 변수를 구성하는 방법을 설명합니다.
필요한 역할
Cloud Run 인스턴스를 구성하고 배포하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
- Cloud Run 인스턴스에 대한 Cloud Run 개발자 (
roles/run.developer) 역할 - 서비스 계정 사용자 (
roles/iam.serviceAccountUser) 서비스 ID에 대한
Cloud Run과 연결된 IAM 역할 및 권한 목록은 다음 항목을 참조하세요. Cloud Run IAM 역할 및 Cloud Run IAM 권한 Cloud Run 인스턴스가 Google Cloud Cloud 클라이언트 라이브러리와 같은 API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한 및 액세스 관리를 참조하세요.
환경 변수 설정하기
Google Cloud CLI 또는 YAML을 사용하여 Cloud Run 인스턴스의 환경 변수를 설정할 수 있습니다.
gcloud
인스턴스를 만드는 동안 환경 변수를 지정하려면
--set-env-vars 플래그를 사용합니다.
gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
다음을 바꿉니다.
- INSTANCE: 인스턴스의 이름입니다.
IMAGE_URL: 컨테이너 이미지에 대한 참조(예:us-docker.pkg.dev/cloudrun/container/hello:latest)- KEY1=VALUE1,KEY2=VALUE2: 쉼표로 구분된 변수 이름 및 값 목록
여러 환경 변수를 설정하거나 특수문자를 이스케이프하는 방법에 관한 자세한 내용은 여러 환경 변수 설정을 참조하세요.
YAML
새 인스턴스를 만드는 경우에는 이 단계를 건너뜁니다. 기존 인스턴스를 업데이트하는 경우 YAML 구성을 다운로드합니다.
gcloud beta run instances describe INSTANCE --format export > instance.yaml
다음 예시에는 YAML 구성이 포함되어 있습니다.
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - env: - name: KEY value: VALUE - name: KEY2 value: VALUE2 image: IMAGE
다음을 바꿉니다.
- INSTANCE: Cloud Run 인스턴스의 이름입니다.
- KEY 및 VALUE: 환경 변수의 이름과 값
IMAGE_URL: 컨테이너 이미지에 대한 참조(예:us-docker.pkg.dev/cloudrun/container/hello:latest)
다음 명령어를 사용하여 인스턴스를 만들거나 업데이트합니다.
gcloud beta run instances replace instance.yaml
컨테이너에 기본 환경 변수 설정
Dockerfile에서 ENV
문을 사용하여 환경 변수의 기본값을 설정할 수 있습니다.
ENV KEY1=VALUE1,KEY2=VALUE2
우선 순위: 컨테이너와 인스턴스 변수 비교
컨테이너에서 기본 환경 변수를 설정하고 Cloud Run 인스턴스에서도 이름이 같은 환경 변수를 설정하면 인스턴스에 설정된 값이 우선 적용됩니다.
여러 환경 변수 설정
.env 파일 또는 --set-env-vars 플래그를 사용하여 여러 환경 변수를 설정할 수 있습니다.
.env 파일을 사용하여 여러 환경 변수 설정
gcloud
.env 파일에서 여러 환경 변수를 지정하려면 다음 명령어를 실행합니다.
gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
다음을 바꿉니다.
- INSTANCE: 인스턴스 이름입니다.
IMAGE_URL: 컨테이너 이미지에 대한 참조(예:us-docker.pkg.dev/cloudrun/container/hello:latest)- ENV_FILE_PATH:
.env파일의 경로
--set-env-vars 플래그를 사용하여 여러 환경 변수 설정
KEY1=VALUE1,KEY2=VALUE2 형식으로 나열할 수 없는 여러 환경 변수가 있는 경우 --set-env-vars 플래그를 여러 번 반복할 수 있습니다.
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
쉼표 문자 이스케이프 처리
쉼표 문자(,)는 환경 변수를 분할하는 데 사용되므로 환경 변수에 쉼표 문자가 값으로 포함되어 있으면 다른 구분 기호 문자(예: @)를 지정하여 구분 기호를 이스케이프 처리해야 합니다.
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
환경 변수 업데이트
기존 인스턴스의 런타임 환경 변수를 업데이트할 수 있습니다. 이는 비파괴적인 방식으로, 런타임 환경 변수를 변경 또는 추가하지만 삭제하지는 않습니다.
Google Cloud CLI 또는 YAML을 사용하여 환경 변수를 업데이트할 수 있습니다.
gcloud
기존 인스턴스의 환경 변수를 업데이트하려면
--update-env-vars
플래그를 사용합니다.
gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
다음을 바꿉니다.
- INSTANCE: 인스턴스의 이름입니다.
- KEY1=VALUE1,KEY2=VALUE2: 쉼표로 구분된 변수 이름 및 값 목록
YAML
인스턴스 YAML 구성을 다운로드합니다.
gcloud beta run instances describe INSTANCE --format export > instance.yaml
키 (이름) 및 값 변수를 수정합니다.
다음 명령어를 사용하여 인스턴스를 업데이트합니다.
gcloud beta run instances replace instance.yaml
환경 변수 삭제
gcloud
기존 인스턴스에서 환경 변수를 선택적으로 삭제하려면
--remove-env-vars
플래그를 사용합니다.
gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2
다음을 바꿉니다.
- INSTANCE: 인스턴스의 이름입니다.
- KEY1,KEY2: 쉼표로 구분된 변수 이름 목록
또는 이전에 설정된 모든 환경 변수를
--clear-env-vars
플래그를 사용하여 삭제할 수 있습니다.
gcloud beta run instances update INSTANCE --clear-env-vars
INSTANCE를 인스턴스 이름으로 바꿉니다.
샘플 코드
코드에서 환경 변수에 액세스하는 방법을 보여주는 코드 샘플은 최종 사용자 인증 튜토리얼의 Secret Manager로 민감한 구성 처리 를 참조하세요.
다음 단계
환경 변수를 사용하여 빌드팩 구성을 설정할 수 있습니다. 언어별 세부정보는 다음에 대한 빌드팩 문서를 참조하세요.