이메일 알림 구성

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer 환경의 SMTP 서비스를 구성하는 방법을 설명합니다.

시작하기 전에

비공개 IP용으로 Cloud Composer 환경이 구성된 경우, 외부 이메일 서비스를 위한 API 엔드포인트 연결이 되어 있어야 합니다(예: https://api.sendgrid.com 또는 원하는 SMTP 서버).

SendGrid 이메일 서비스 구성

알림을 받으려면 SendGrid 이메일 서비스를 통해 이메일을 보내도록 환경 변수를 구성하세요.

  1. 아직 구성하지 않았으면 Google Cloud Console에서 SendGrid에 가입하고 API 키를 만듭니다. Google Cloud 개발자는 이메일을 월간 12,000개까지 무료로 사용할 수 있습니다.

    SendGrid Email API로 이동

  2. 환경에 다음 환경 변수를 설정합니다.

    이름
    SENDGRID_MAIL_FROM 보낸 사람: 이메일 주소입니다(예: noreply-composer@<your-domain>).
    SENDGRID_API_KEY SendGrid API 키
  3. SendGrid 구성을 테스트하려면 다음 안내를 따르세요.

    1. EmailOperator를 사용하는 테스트 DAG를 만듭니다.
    2. DAG를 환경에 업로드하고 EmailOperator 태스크가 성공하는지 확인합니다.
    3. SendGrid 사용자 인증 정보를 사용하여 SendGrid에 로그인합니다.
    4. SendGrid UI에서 활동 페이지로 이동합니다.
    5. 목록에서 이메일을 검색합니다. SendGrid가 이메일을 처리하고 전달했다는 메시지가 표시되어야 합니다.
    6. 이메일 처리 및 전달이 완료되지 않은 경우 다음을 수행합니다.

      • Sendgrid 구성을 확인합니다.
      • SENDGRID_MAIL_FROMSENDGRID_API_KEY 환경 변수가 올바른지 확인합니다.
      • 이메일 클라이언트의 스팸 필터를 확인합니다.

타사 SMTP 서비스 구성

타사 SMTP 서비스를 통해 이메일을 전송하려면 email_backend Airflow 구성 옵션을 재정의하고 다른 SMTP 관련 매개변수를 구성합니다.

타사 SMTP 서비스를 구성하려면 다음 Airflow 구성 옵션을 재정의합니다.

섹션
email email_backend airflow.utils.email.send_email_smtp
smtp smtp_host SMTP 서버의 호스트 이름
smtp smtp_user SMTP 서버의 사용자 이름
smtp smtp_port SMTP 서버의 포트. 포트 25를 사용할 수 없습니다. 표준 SMTP 포트 465 및 587과 같은 다른 포트를 사용할 수 있습니다.
smtp smtp_password smtp_password을 통한 비밀번호 설정은 지원되지 않습니다. SMTP 비밀번호를 설정하려면 SMTP 비밀번호 구성에 제공된 안내를 따르세요.
smtp smtp_mail_from 보낸 사람: 이메일 주소입니다(예: noreply-composer@).
smtp smtp_starttls 보안 강화를 위해 True로 설정합니다.
smtp smtp_ssl 보안 강화를 위해 True로 설정합니다.

타사 SMTP 서비스에 대한 SMTP 비밀번호 구성

SMTP 비밀번호를 Airflow 구성 파일에 일반 텍스트로 보관하는 것은 보안에 좋지 않습니다. 따라서 Cloud Composer는 이 메서드를 지원하지 않습니다. 그 대신 SMTP 비밀번호 구성을 위해 다른 두 메서드를 사용할 수 있습니다.

명령어를 사용하여 SMTP 비밀번호 검색

구성 재정의를 사용하여 SMTP 비밀번호를 가져오는 명령어를 지정할 수 있습니다. SMTP 서비스와 통신할 때 Airflow는 이 명령어를 사용하여 비밀번호의 값을 가져옵니다.

이 메서드를 사용하려면 다음 Airflow 구성 옵션을 재정의합니다.

섹션
smtp smtp_password_cmd SMTP 비밀번호를 반환하는 명령어를 지정합니다.

Secret Manager에 저장된 보안 비밀을 사용하여 SMTP 비밀번호 검색

Secret Manager를 Airflow 보안 비밀 백엔드로 구성할 수 있습니다.

Composer 환경에 대해 Secret Manager를 구성한 다음에는 SMTP 비밀번호를 Secret Manager에 저장할 수 있습니다.

  1. 새 보안 비밀을 만듭니다.

    echo -n "SMTP_PASSWORD" | gcloud beta secrets create \
      airflow-variables-smtp-password \
      --data-file=- \
      --replication-policy=automatic
    

    SMTP_PASSWORD를 SMTP 비밀번호로 바꿉니다.

  2. Secret Manager에서 SMTP 비밀번호를 가져오도록 Airflow를 구성합니다. 이렇게 하려면 다음 Airflow 구성 옵션을 재정의합니다.

    섹션
    smtp smtp_password_secret smtp-password

다음 단계