인스턴스의 환경 변수 구성

이 페이지에서는 Cloud Run 인스턴스의 환경 변수를 구성하는 방법을 설명합니다.

필요한 역할

Cloud Run 인스턴스를 구성하고 배포하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

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

  1. 새 인스턴스를 만드는 경우에는 이 단계를 건너뜁니다. 기존 인스턴스를 업데이트하는 경우 YAML 구성을 다운로드합니다.

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 다음 예시에는 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)
  3. 다음 명령어를 사용하여 인스턴스를 만들거나 업데이트합니다.

    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

  1. 인스턴스 YAML 구성을 다운로드합니다.

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 키 (이름) 및 값 변수를 수정합니다.

  3. 다음 명령어를 사용하여 인스턴스를 업데이트합니다.

    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로 민감한 구성 처리 를 참조하세요.

다음 단계

환경 변수를 사용하여 빌드팩 구성을 설정할 수 있습니다. 언어별 세부정보는 다음에 대한 빌드팩 문서를 참조하세요.