Managed Service for Apache Airflow 환경 만들기

Managed Airflow (3세대) | Managed Airflow (2세대) | Managed Airflow (기존 1세대)

이 페이지에서는 Managed Airflow 환경을 만드는 방법을 설명합니다.

시작하기 전에

1단계: 환경의 서비스 계정 만들기 또는 선택

사용자는 환경을 만들 때 서비스 계정을 지정합니다. 이 서비스 계정을 환경의 서비스 계정이라고 합니다. 환경에서는 이 서비스 계정을 사용하여 대부분의 작업을 실행합니다.

환경의 서비스 계정은 사용자 계정이 아닙니다. 서비스 계정은 사용자가 아닌 애플리케이션 또는 가상 머신 (VM) 인스턴스에서 사용하는 특별한 유형의 계정입니다.

나중에는 환경의 서비스 계정을 변경할 수 없습니다.

프로젝트에 Managed Airflow 환경용 서비스 계정이 아직 없는 경우 만듭니다.

Terraform에서 환경의 서비스 계정을 만드는 확장된 예는 환경 만들기 (Terraform)를 참고하세요.

환경의 새 서비스 계정을 만들려면 다음 안내를 따르세요.

  1. Identity and Access Management 문서에 설명된 대로 새 서비스 계정을 만듭니다.

  2. Identity and Access Management 문서에 설명된 대로 역할을 부여합니다. 필요한 역할은 Composer 작업자 (composer.worker)입니다.

  3. Google Cloud 프로젝트의 다른 리소스에 액세스하려면 해당 리소스에 액세스할 수 있는 추가 권한을 이 서비스 계정에 부여하세요. Composer 작업자 (composer.worker) 역할은 대부분의 경우 이 필수 권한 집합을 제공합니다. DAG 작동에 필요한 경우에만 이 서비스 계정에 추가 권한을 추가하세요.

2단계: 기본 설정

이 단계에서는 지정된 위치에 기본 매개변수로 Managed Airflow 환경을 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 환경 만들기 페이지로 이동합니다.

    환경 만들기로 이동

  2. 이름 필드에 환경 이름을 입력합니다.

    이름은 소문자로 시작해야 합니다. 이어서 최대 62자(영문 기준)의 소문자, 숫자 또는 하이픈이 와야 하며 하이픈으로 끝나서는 안 됩니다. 환경 이름은 환경의 하위 구성요소를 만드는 데 사용되므로 Cloud Storage 버킷 이름으로도 유효한 이름으로 지정해야 합니다. 제한사항 목록은 버킷 이름 지정 가이드라인을 참조하세요.

  3. 위치 드롭다운 목록에서 환경의 위치를 선택합니다.

    위치는 환경이 위치한 리전입니다.

  4. 이미지 버전 드롭다운 목록에서 필요한 버전의 Airflow가 포함된 Managed Airflow 이미지를 선택합니다.

  5. 서비스 계정 드롭다운 목록에서 환경의 서비스 계정을 선택합니다.

    아직 환경의 서비스 계정이 없는 경우 환경의 서비스 계정 만들기 또는 선택하기를 참고하세요.

gcloud

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version IMAGE_VERSION \
    --service-account "SERVICE_ACCOUNT"

다음과 같이 바꿉니다.

  • ENVIRONMENT_NAME을 환경 이름으로 바꿉니다.

    이름은 소문자로 시작해야 합니다. 이어서 최대 62자(영문 기준)의 소문자, 숫자 또는 하이픈이 와야 하며 하이픈으로 끝나서는 안 됩니다. 환경 이름은 환경의 하위 구성요소를 만드는 데 사용되므로 Cloud Storage 버킷 이름으로도 유효한 이름으로 지정해야 합니다. 제한사항 목록은 버킷 이름 지정 가이드라인을 참조하세요.

  • LOCATION을 환경의 리전으로 바꿉니다.

    위치는 환경이 위치한 리전입니다.

  • SERVICE_ACCOUNT를 환경의 서비스 계정으로 바꿉니다.

  • IMAGE_VERSION을 Managed Airflow 이미지의 이름으로 바꿉니다.

예:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-3-airflow-2.11.1-build.19 \
    --service-account "
example-account@example-project.
"

API

environments.create API 요청을 생성합니다. Environment 리소스에서 구성을 지정합니다.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "IMAGE_VERSION"
    },
    "nodeConfig": {
      "serviceAccount": "SERVICE_ACCOUNT"
    }