워크플로 만들기 및 업데이트

이 페이지에서는 Google Cloud Console 또는 gcloud 명령줄 도구를 사용하여 워크플로를 만들고 기존 워크플로를 업데이트하는 방법을 보여줍니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. Workflows API를 사용 설정합니다.

    Workflows API 사용 설정
  5. 서비스 계정이 없으면 새로 만들고 워크플로 관리 및 로그 만들기에 필요한 역할을 부여합니다.

    Console

    1. Cloud Console에서 서비스 계정 페이지로 이동합니다.

      서비스 계정 만들기 페이지로 이동
    2. 서비스 계정 만들기를 선택합니다.
    3. 서비스 계정 이름 필드에 이름을 입력합니다.
    4. 만들기를 클릭합니다.
    5. 역할 목록에서 Logging > 로그 작성자를 선택합니다.

      참고: 역할 필드는 리소스에 액세스하도록 서비스 계정을 승인합니다. 워크플로를 만들고 업데이트하고 실행하려면 roles/workflows.editor 역할을 할당합니다. 로그를 Cloud Logging으로 전송하려면 roles/logging.logWriter 역할을 할당합니다. 프로덕션 앱을 개발할 때는 가능한 한 항상 최소 권한을 지닌 역할을 부여하세요. 자세한 내용은 서비스 계정에 역할 부여를 참조하세요. Workflows 역할 목록은 액세스 제어 참조를 확인하세요.
    6. 계속을 클릭합니다.
    7. 완료를 클릭합니다.

    gcloud

    1. 서비스 계정을 만듭니다. [NAME]을 서비스 계정 이름으로 바꿉니다.

      gcloud iam service-accounts create [NAME]
    2. 역할을 할당하여 서비스 계정에 권한을 부여합니다.

      gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:[NAME]@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/logging.logWriter"

      다음을 바꿉니다.
      • [PROJECT_ID]: 프로젝트의 ID입니다.
      • [NAME]: 바로 전에 만든 서비스 계정의 이름입니다.
      참고: 역할 필드가 리소스에 액세스할 수 있도록 서비스 계정을 승인합니다. 로그를 Cloud Logging으로 전송하려면 roles/logging.logWriter 역할을 할당합니다. 프로덕션 앱을 개발할 때는 가능한 한 항상 최소 권한을 지닌 역할을 부여하세요. 자세한 내용은 서비스 계정에 역할 부여를 참조하세요. Workflows 역할 목록은 액세스 제어 참조를 확인하세요.

워크플로 만들기

워크플로를 만들려면 실행에 사용할 수 있도록 워크플로를 배포합니다. 또한 배포 단계 중 소스 파일을 실행할 수 있는지 확인합니다. 소스 파일에 유효한 워크플로 정의가 없으면 실패합니다.

Console

  1. 새 워크플로를 만들려면 Google Cloud Console에서 Workflows 페이지를 엽니다.
    Workflows 페이지로 이동

  2. 만들기를 선택합니다.

  3. 새 워크플로의 이름을 입력합니다(예: myFirstWorkflow). 이름에는 문자, 숫자, 밑줄, 하이픈을 포함할 수 있습니다. 문자로 시작하고 숫자 또는 문자로 끝나야 합니다.

  4. 리전으로 us-central1을 선택합니다.

  5. 워크플로가 다른 Google Cloud 서비스 인증에 사용할 서비스 계정을 선택합니다. 필요한 리소스에 액세스하는 데 필요한 최소 권한이 포함된 서비스 계정을 사용하는 것이 좋습니다. 서비스 계정에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.

  6. 다음을 선택합니다.

  7. 워크플로 편집기에서 워크플로 정의를 입력합니다. 빠른 시작: Cloud Console 사용 페이지에서 워크플로 예시를 찾을 수 있습니다.

  8. 배포를 선택합니다.

gcloud

  1. 워크플로의 소스 코드가 MY_WORKFLOW.YAML 또는 MY_WORKFLOW.JSON과 같이 YAML 또는 JSON 파일로 저장되었는지 확인합니다. 빠른 시작: gcloud 도구 사용 페이지에서 워크플로 예시를 찾을 수 있습니다.

  2. 터미널을 엽니다.

  3. 다음 명령어를 입력하여 워크플로를 배포합니다.

    gcloud workflows deploy MY_WORKFLOW \
    --source=MY_WORKFLOW.YAML \
    [--service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM]
    

    다음을 바꿉니다.

    • MY_WORKFLOW: 워크플로의 이름입니다.

    • MY_WORKFLOW.YAML: 워크플로에 사용할 소스 파일입니다.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: 선택사항. 다른 Google Cloud 서비스에 액세스하기 위해 워크플로에 사용할 서비스 계정입니다. 필요한 리소스에 액세스하는 데 필요한 최소 권한이 포함된 서비스 계정을 사용하는 것이 좋습니다. 비워두면 기본 서비스 계정이 사용됩니다. 서비스 계정에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.

워크플로 업데이트

기존 워크플로를 업데이트하여 소스, 설명, 라벨, 연결된 서비스 계정을 변경할 수 있습니다. 워크플로 업데이트는 진행 중인 실행 작업에 영향을 주지 않습니다. 이후에 워크플로를 실행할 때만 업데이트된 구성이 사용됩니다.

Console

  1. 기존 워크플로를 업데이트하려면 Google Cloud Console에서 Workflows 페이지를 엽니다.
    Workflows 페이지로 이동

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

  3. 워크플로 수정 페이지에서 설명을 수정하거나, 인증을 위해 워크플로에 사용되는 서비스 계정을 업데이트하거나, 라벨을 추가할 수 있습니다. 워크플로 이름은 수정할 수 없습니다.

  4. 초기 업데이트 작업이 완료되면 다음을 선택합니다.

  5. 워크플로 소스를 수정하려면 워크플로 편집기에서 소스 코드를 업데이트합니다.

  6. 배포를 선택합니다.

gcloud

  1. WORKFLOW_FILE.YAML 또는 WORKFLOW_FILE.JSON과 같이 업데이트된 워크플로 소스가 저장된 YAML 또는 JSON 파일을 찾습니다.

  2. 터미널을 엽니다.

  3. 업데이트할 워크플로의 이름을 찾습니다. 워크플로 이름을 모르면 다음 명령어를 입력하여 모든 워크플로를 나열할 수 있습니다.

    gcloud workflows list
    
  4. 워크플로의 소스, 연결된 서비스 계정, 설명, 라벨을 업데이트할 수 있습니다.

    gcloud workflows deploy WORKFLOW_NAME \
    --source=WORKFLOW_FILE.YAML \
    [--service-account=MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM] \
    [--labels=KEY=VALUE...] \
    [--description='WORKFLOW_DESCRIPTION']
    

    다음을 바꿉니다.

    • WORKFLOW_NAME: 필수. 워크플로의 이름입니다.

    • WORKFLOW_FILE.YAML: 필수. 워크플로의 소스 파일입니다.

    • MY_SERVICE_ACCOUNT@MY_PROJECT.IAM.GSERVICEACCOUNT.COM: 선택사항. 다른 Google Cloud 서비스에 액세스하기 위해 워크플로에 사용할 서비스 계정입니다. 서비스 계정에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.

    • KEY=VALUE: 선택사항. KEY=VALUE 쌍으로 추가할 라벨이며, 여러 개 추가할 경우 쉼표로 구분된 목록으로 추가합니다.

    • WORKFLOW_DESCRIPTION: 선택사항. 워크플로에 제공하려는 설명입니다.

    업데이트하려는 워크플로의 이름과 소스를 지정해야 하며, 나머지 플래그는 선택사항입니다.

워크플로를 업데이트할 때마다 versionID가 업데이트됩니다. versionID는 하이픈으로 구분된 두 부분으로 구성됩니다.

  • 1부터 시작하고, 워크플로를 업데이트할 때마다 커지는 숫자입니다.

  • 임의의 3자리 영숫자 문자열입니다.

예를 들어 000002-d52는 한 번 업데이트된 워크플로를 나타냅니다. 000001-27f는 초기 버전 상태의 워크플로를 나타냅니다.

다음 단계