환경 변수 구성

환경 변수를 설정하면 이러한 변수가 컨테이너에 삽입되고 코드에서 액세스할 수 있습니다. 환경 변수는 키-값 쌍으로 설정됩니다.

예약된 이름

컨테이너 런타임 계약에 정의된 환경 변수는 예약되어 있으며 설정할 수 없습니다. 특히 PORT 환경 변수는 Cloud Run을 통해 컨테이너 내부에 삽입되므로 직접 설정해서는 안 됩니다.

최대 환경 변수 수

각 Cloud Run 작업에서 컨테이너당 최대 1,000개의 환경 변수를 설정할 수 있습니다.

필요한 역할

Cloud Run 작업을 구성하는 데 필요한 권한을 얻으려면 관리자에게 작업에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Cloud Run 개발자(roles/run.developer) - Cloud Run 작업
  • 서비스 계정 사용자(roles/iam.serviceAccountUser) - 서비스 ID

Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할Cloud Run IAM 권한을 참조하세요. Cloud Run 작업이 Cloud 클라이언트 라이브러리와 같은 Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

환경 변수 설정하기

Cloud Run 작업의 환경 변수를 설정하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Run 작업 페이지로 이동합니다.

    Cloud Run으로 이동

  2. 컨테이너 배포를 클릭하고 작업을 선택하여 초기 작업 설정 페이지를 작성합니다. 기존 작업을 구성하는 경우 작업을 선택한 후 수정을 클릭합니다.

  3. 컨테이너, 변수 및 보안 비밀, 연결, 보안을 클릭하여 작업 속성 페이지를 펼칩니다.

  4. 변수 탭을 클릭합니다.

    이미지

    • 다음 단계를 따르세요.
      • 변수를 추가하려면 변수 추가를 클릭하고 이름 텍스트 상자에 변수의 이름과 해당 값을 지정합니다.
      • 변수의 값을 변경하려면 텍스트 상자의 현재 값을 원하는 값으로 바꿉니다.
      • 1개 이상의 환경 변수를 삭제하려면 마우스 커서를 삭제할 변수의 텍스트 상자 왼쪽으로 가져가서 휴지통 아이콘을 표시하고 클릭합니다.
  5. 만들기 또는 업데이트를 클릭합니다.

gcloud

gcloud run jobs update 명령어를 사용하여 기존 서비스의 환경 변수를 설정, 업데이트, 삭제합니다. 필요에 따라 다음 플래그를 사용할 수 있습니다.

  • --set-env-vars
  • --update-env-vars
  • --remove-env-vars
  • --clear-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

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. containers: 아래에 표시된 것처럼 env 아래의 namevalue 속성을 업데이트합니다.
    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-1VALUE-1을 각각 환경 변수와 값으로 바꿉니다. 필요에 따라 변수와 값을 더 추가해도 됩니다.

    또한 환경 변수 또는 메모리 제한과 같은 추가 구성을 지정할 수 있습니다.

  2. 기존 작업 구성을 업데이트합니다.

    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 작업의 현재 환경 변수 설정을 보려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Run 작업 페이지로 이동합니다.

    Cloud Run 작업으로 이동

  2. 관심 있는 작업을 클릭하여 작업 세부정보 페이지를 엽니다.

  3. 구성 탭을 클릭합니다.

  4. 구성 세부정보에서 환경 변수 설정을 찾습니다.

gcloud

  1. 다음 명령어를 사용하세요.

    gcloud run jobs describe JOB_NAME
  2. 반환된 구성에서 환경 변수 설정을 찾습니다.