환경 변수 사용

배포 시 Workflows의 환경 변수를 정의할 수 있습니다. 예를 들어 배포된 환경에 따라 동적으로 구성된 워크플로를 만들 수 있습니다. 또는 템플릿으로 재사용되고 별도로 유지 관리되는 환경 변수에 따라 구성할 수 있는 워크플로를 만들 수 있습니다.

환경 변수는 런타임에 워크플로로 액세스할 수 있는 임의 키 및 값 문자열 쌍으로 설정됩니다. 이는 Workflows 백엔드에 저장되고 범위가 워크플로 실행으로 지정되며 워크플로 실행 중에 변경할 수 없습니다.

모든 환경 변수는 워크플로의 배포에 결합되며 배포를 통해서만 설정 또는 변경될 수 있습니다. 환경 변수를 만들거나 변경하려면 배포가 성공해야 합니다. 만약 어떠한 이유로 배포에 실패하면 환경 변수에 대한 변경 사항이 적용되지 않습니다.

Google Cloud CLI를 사용하여 사용자 정의 환경 변수를 추가, 업데이트 또는 삭제할 수 있습니다.

예약된 이름

Workflows에 정의된 기본 제공 환경 변수는 예약되어 있으며 설정할 수 없습니다.

Workflows에 환경 변수를 정의할 때는 다음을 사용할 수 없습니다.

설명
비어 있음('') 키는 빈 문자열일 수 없습니다.
GOOGLE_ 키에는 프리픽스 GOOGLE_이 포함될 수 없습니다.
WORKFLOWS_ 키에는 프리픽스 WORKFLOWS_이 포함될 수 없습니다.

환경 변수 설정하기

워크플로를 배포할 때 새 변수를 정의하거나 기존 변수를 바꿀 수 있습니다. 추가 변경을 수행하려면 이 문서에서 환경 변수 업데이트를 참조하세요.

콘솔

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

    Workflows로 이동

  2. Workflows 페이지에서 만들기를 클릭합니다.

  3. 워크플로 만들기 페이지에서 적절한 필드를 작성하여 워크플로 정의를 구성합니다.

  4. 환경 변수(선택사항) 섹션에서 변수 추가를 클릭합니다.

  5. 이름 1 필드에 변수 이름을 지정합니다.

  6. 값 1 필드에 변수 값을 지정합니다.

  7. 다른 변수를 추가하려면 변수 추가를 클릭합니다.

  8. 다음을 클릭합니다.

  9. 워크플로를 정의한 후 배포하려면 배포를 클릭합니다.

gcloud

환경 변수를 설정하려면 --set-env-vars 플래그를 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

다음을 바꿉니다.

  • WORKFLOW_NAME: 워크플로의 ID입니다.
  • KEY1=VALUE1: 환경 변수 이름과 값(예: MONTH=January)입니다.

Terraform

워크플로를 만들려면 google_workflows_workflow 리소스를 사용하여 샘플에 표시된 것과 같이 main.tf 파일을 수정합니다. 자세한 내용은 Terraform을 사용하여 워크플로 만들기를 참조하세요.

user_env_vars 인수를 사용하여 환경 변수를 워크플로 버전과 연결합니다.

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

여러 환경 변수 설정

여러 환경 변수를 설정하려면 쉼표로 구분된 목록을 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

쉼표 문자 이스케이프 처리

쉼표 문자(,)는 환경 변수를 구분하는 데 사용되므로 변수 값에 쉼표가 포함되어 있으면 다른 구분 기호 문자(예: @)를 지정해야 합니다.

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

파일에 변수 저장

파일(예: 소스 제어 아래)에 변수를 저장하려면 YAML 파일과 --env-vars-file 플래그를 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

FILE_PATH를 환경 변수에 대한 정의를 나열하는 로컬 YAML 파일의 경로로 바꿉니다. 변수 이름과 값은 문자열이어야 합니다. 새 환경 변수가 추가되기 전에 Workflows에서 기존의 모든 환경 변수가 삭제됩니다.

예를 들어 YAML 파일의 콘텐츠는 다음과 같습니다.

KEY1: "value1"
KEY2: "value2"

deploy 명령어에 대한 상세 정보는 gcloud workflows deploy를 참조하세요.

환경 변수 액세스

환경 변수에 액세스하려면 표현식에서 sys.get_env() 함수를 호출하고 환경 변수의 이름을 매개변수로 전달합니다. 환경 변수의 이름은 문자열로 전달되어야 합니다.

예를 들어 다음 워크플로는 환경 변수 KEY1의 값을 keyValue라는 워크플로 변수에 할당한 다음 값을 출력합니다.

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

환경 변수 업데이트

기존 워크플로의 사용자 정의 환경 변수를 업데이트할 수 있습니다. 이는 비파괴적인 접근 방식으로, 환경 변수를 변경 또는 추가하지만 변수를 삭제하지는 않습니다.

콘솔

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

    Workflows로 이동

  2. 업데이트할 워크플로의 이름을 클릭합니다.

    워크플로 세부정보 페이지가 표시됩니다.

  3. 기존 환경 변수를 수정하려면 다음 중 하나를 수행합니다.

    • 세부정보 탭을 클릭합니다.

      1. 환경 변수 옆에 있는 아이콘을 클릭합니다.
      2. 변경 내용을 입력합니다.
      3. 업데이트된 워크플로를 배포하려면 저장을 클릭합니다.
    • 수정을 클릭합니다.

      1. 환경 변수(선택사항) 섹션에서 변경합니다.
      2. 업데이트된 워크플로를 배포하려면 다음을 클릭한 다음 배포를 클릭합니다.

gcloud

변수를 업데이트하려면 --update-env-vars 플래그를 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

여러 환경 변수를 업데이트하려면 쉼표로 구분된 목록을 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

환경 변수 삭제

기존 워크플로의 사용자 정의 환경 변수를 삭제할 수 있습니다.

콘솔

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

    Workflows로 이동

  2. 업데이트할 워크플로의 이름을 클릭합니다.

    워크플로 세부정보 페이지가 표시됩니다.

  3. 기존 환경 변수를 삭제하려면 다음 중 하나를 수행합니다.

    • 세부정보 탭을 클릭합니다.

      1. 적합한 을 클릭합니다.
      2. 삭제할 환경 변수 옆에 있는 아이콘을 클릭합니다.
      3. 업데이트된 워크플로를 배포하려면 저장을 클릭합니다.
    • 수정을 클릭합니다.

      1. 삭제할 환경 변수 옆에 있는 아이콘을 클릭합니다.
      2. 업데이트된 워크플로를 배포하려면 다음을 클릭한 다음 배포를 클릭합니다.

gcloud

환경 변수를 선택적으로 삭제하려면 --remove-env-vars 플래그를 사용합니다.

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

또는 --clear-env-vars 플래그를 사용하여 이전에 설정된 모든 환경 변수를 삭제할 수 있습니다.

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

권장사항

명시적으로 설정하지 않은 환경 변수를 사용하거나 수정하지 않는 것이 좋습니다. 명시적으로 설정한 환경 변수 이외의 환경 변수를 수정하면 의도치 않은 결과가 발생할 수 있습니다.

보안 비밀 관리

환경 변수는 워크플로를 구성하는 데 사용될 수 있지만 데이터베이스 사용자 인증 정보 또는 API 키처럼 보안 비밀을 저장하고 소비하는 방법으로는 권장되지 않습니다. 이러한 민감한 값은 실수로 로그에 전송되지 않도록 소스 코드 및 환경 변수와 별도로 저장되어야 합니다.

보안 비밀 저장에 대해서는 보안 비밀 관리에 대한 권장사항을 검토하고 Workflows에서 Secret Manager 사용의 안내를 따릅니다.

이름 지정 규칙

일반적으로 환경 변수 키는 대문자, 숫자, 밑줄(_)로만 구성되고 숫자로 시작하지 않는 것이 좋습니다. 다른 변수와의 충돌을 방지하기 위해 사용자 정의 환경 변수에 고유 키를 프리픽스로 추가하는 것이 좋습니다.

크기 제한

사용자 정의 환경 변수는 최대 20개까지 정의할 수 있습니다. 각 정의 문자열(KEY=value)은 4KiB로 제한됩니다.

다음 단계