View a markdown version of this page

AWS Amazon MWAA에 대한 공동 책임 모델 - Amazon Managed Workflows for Apache Airflow

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Amazon MWAA에 대한 공동 책임 모델

이 지침은 Amazon MWAA 프로비저닝 환경에 적용됩니다. 프로비저닝된 환경에서 환경 클래스를 선택하고 작업자 및 웹 서버 조정 제한을 구성합니다.

보안 및 규정 준수는 AWS 와 사용자 간의 공동 책임입니다. 공동 책임 모델은 이 사항을 클라우드 보안 및 클라우드 보안으로 설명합니다. Amazon MWAA의 경우이 모델은 보안을 넘어 운영 책임으로 확장됩니다. 기본 구성 요소를 운영, 관리 및 제어합니다. 이러한 범위는 호스트 운영 체제 및 가상화 계층부터 서비스가 운영되는 시설의 물리적 보안에 이르기까지 다양합니다.

환경에 배포하는 콘텐츠를 관리하는 것은 사용자의 책임입니다. Amazon MWAA에서 해당 콘텐츠에는 DAG 코드와에서 선언한 Python 종속성이 포함됩니다requirements.txt. 여기에는 사용자 지정 플러그인과 사용자가 제공하는 시작 스크립트도 포함됩니다. 사용자의 책임에는 선택한 구성, 네트워크 및 권한이 포함됩니다. 또한 환경에서 실행되는 워크플로의 day-to-day 작업에 대한 책임이 있습니다. Amazon MWAA는 사용자가 제공하는 콘텐츠를 실행합니다. Amazon MWAA는 이를 검사, 검증 또는 수정하지 않습니다.

참고

는 환경의 인프라를 AWS 운영하지만 워크플로가 메타데이터 데이터베이스에 쓰는 데이터는 서비스 수행 방식에 직접적인 영향을 미칩니다. 메타데이터가 제한 없이 증가하면 스케줄러 및 웹 서버 응답 시간이 저하될 수 있습니다. 사용자는 환경의 데이터 볼륨을 관리할 책임이 있습니다.

가 AWS 관리하는 인프라

에서 AWS 서비스를 실행하는 인프라를 보호할 책임이 있습니다 AWS 클라우드. Amazon MWAA의 경우 다음이 포함됩니다.

  • Apache Airflow 설정 - Amazon MWAA는 Apache Airflow를 자동으로 설정합니다. 인터넷에서 사용할 수 있는 것과 동일한 Apache Airflow 사용자 인터페이스와 오픈 소스 코드를 사용합니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow란 무엇입니까? 단원을 참조하십시오.

  • 관리형 구성 요소에 대한 컴퓨팅 - Amazon MWAA는 환경에 맞게 AWS Fargate 컴퓨팅을 프로비저닝하고 운영합니다. 이 컴퓨팅은 Apache Airflow 스케줄러, 작업자 및 웹 서버를 실행합니다. 또한 Amazon MWAA는 Apache Airflow 메타데이터 데이터베이스를 프로비저닝하고 운영합니다. 각 환경에 대해 Amazon MWAA는 웹 서버와 메타데이터 데이터베이스를 호스팅하는 AWS 소유 Amazon VPC를 생성합니다. 스케줄러와 작업자는 사용자가 소유하고 구성하는 환경의 Amazon VPC에 있는 프라이빗 서브넷에 연결합니다. 자세한 내용은 Amazon MWAA 마이그레이션 안내서의 Amazon MWAA 네트워크 아키텍처 탐색을 참조하세요.

  • Apache Airflow 메타데이터 데이터베이스 - Amazon MWAA는 각 환경에 대해 Apache Airflow 메타데이터 데이터베이스를 프로비저닝하고 운영합니다. 워크플로가 쓰는 데이터의 양에 대한 책임은 사용자에게 있습니다. 자세한 내용은 관리하는 운영 우수성 단원을 참조하십시오.

  • 버전 이미지 및 패치 - Amazon MWAA는 Apache Airflow 릴리스를 다른 일반 바이너리 및 Python 라이브러리와 번들링하는 컨테이너 이미지를 빌드합니다. Amazon MWAA는 이러한 이미지를 패치합니다. 환경 업데이트 작업을 실행하여 이후 버전으로 이동할 때까지 환경은 지정된 이미지 버전을 계속 사용합니다. 자세한 내용은 Amazon MWAA 버전 정보 단원을 참조하십시오. 이미지 정의는 GitHub 웹 사이트의 amazon-mwaa-docker-images 리포지토리에서 사용할 수 있습니다.

  • 버전 지원 수명 주기 - Amazon MWAA는 각 Apache Airflow 버전의 가용성 및 지원 종료일을 게시합니다. Amazon MWAA는 계정의 환경에서 지원이 거의 종료되는 버전을 실행할 Health Dashboard 때를 통해 알립니다. 현재 지원 약정 및 날짜는 섹션을 참조하세요End-of-support 버전.

  • 관리형 구성 요소의 자동 조정 - Amazon MWAA는 수요에 따라 작업자와 웹 서버를 조정합니다. 조정은 구성한 한도 내에서 유지됩니다. 환경 클래스, 작업자 및 웹서버 조정 설정, 스케줄러 수를 선택합니다. 자세한 내용은 Amazon MWAA 작업자 오토 스케일링 구성, Amazon MWAA 웹 서버 오토 스케일링 구성, Amazon MWAA 환경 클래스 구성 섹션을 참조하세요.

  • 데이터 암호화 - Amazon MWAA는 저장 및 전송 중인 데이터를 암호화합니다. 또한 Amazon MWAA는 사용자를 대신하여 고객 관리형 KMS 키에 필요한 권한 부여를 연결합니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow의 데이터 보호 단원을 참조하십시오.

  • 지표 및 로그 - Amazon MWAA는 환경 지표를 Amazon CloudWatch에 게시합니다. Amazon MWAA는 활성화한 로그 유형에 대해 Apache Airflow 로그를 CloudWatch Logs에 전송합니다. 자세한 내용은 Amazon MWAA의 모니터링 개요 단원을 참조하십시오.

  • 규정 준수 프로그램 - 타사 감사자는 정기적으로 AWS 보안의 효과를 테스트하고 확인합니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow의 규정 준수 확인 단원을 참조하십시오.

관리하는 워크플로 코드 및 콘텐츠

사용자는이 인프라에서 호스팅하는 콘텐츠에 대한 제어를 유지할 책임이 있습니다. 이 콘텐츠에는 다음이 포함됩니다.

  • DAG 코드 - Amazon S3 버킷의 dags 폴더에 복사하는 DAG 정의입니다. 이러한 DAGs 액세스하는 내용과 DAG가 수행하는 작업에 대한 책임은 사용자에게 있습니다. 자세한 내용은 DAG 추가 또는 업데이트 단원을 참조하십시오.

  • Python 종속성 - Amazon S3 버킷에 requirements.txt 파일을 업로드하여 설치하는 라이브러리입니다. 여기에는 워크플로에 필요한 모든 패키지의 보안 및 호환성이 포함됩니다. 호환되지 않거나 리소스 집약적인 패키지는 스케줄러 및 작업자 성능을 저하시키거나 컨테이너 시작을 방해할 수 있습니다. 자세한 내용은 Python 종속성 설치requirements.txt에서의 Python 종속성 관리 섹션을 참조하세요.

  • 사용자 지정 플러그인 - Amazon S3 버킷에 업로드하는 plugins.zip 파일의 콘텐츠입니다. 업로드하기 전에 파일의 내용을 확인하는 것이 좋습니다. 자세한 내용은 사용자 지정 플러그인 설치 단원을 참조하십시오.

  • 시작 스크립트 - Amazon MWAA가 시작 시 각 구성 요소에서 실행하는 쉘 스크립트입니다. 스크립트의 Amazon S3 버전 ID도 지정합니다. 자세한 내용은 Amazon MWAA에서 시작 스크립트 사용 단원을 참조하십시오.

  • 테스트 - 환경에 배포하기 전에 DAGs, 사용자 지정 플러그인 및 Python 종속성을 검증합니다. Apache Airflow 버전 업그레이드를 프로덕션에 적용하기 전에 개발 환경에서 테스트하는 것이 좋습니다. GitHub 웹 사이트의 amazon-mwaa-docker-images 컨테이너 이미지를 사용하여 로컬에서 개발하고 테스트할 수 있습니다.

  • Amazon S3 버킷 및 해당 콘텐츠 - 환경과 연결된 버킷의 버킷 정책 및 객체 ACLs입니다. Amazon MWAA는 사용자를 대신하여 버킷 콘텐츠를 백업하지 않습니다. DAGs, 플러그인 및 요구 사항 파일에 재해 복구 태세가 필요한 경우 버전 관리를 활성화하고 리전 간 복제를 구성하는 것이 좋습니다. 또한 버킷에 다른 객체를 저장하거나 다른 서비스와 함께 버킷을 사용하지 않는 것이 좋습니다.

  • 입력하는 데이터 - 이름 필드와 같은 태그 또는 자유 형식 필드에 기밀 또는 민감한 정보를 절대 입력하지 않는 것이 좋습니다.

관리하는 운영 우수성

Amazon MWAA는 관리형 인프라를 운영합니다. 해당 인프라에서 실행되는 워크플로에 대한 책임은 사용자에게 있습니다. 배포하는 코드, 종속성 및 구성에 따라 환경의 작동 방식이 결정됩니다. Amazon MWAA는 환경 상태를 설명하는 지표와 로그를 게시합니다. 해당 데이터를 해석하고, 데이터에 경보를 설정하고, 보고하는 내용에 따라 조치를 취하는 것은 사용자의 책임입니다.

  • 환경 상태 모니터링 - Amazon MWAA가 환경에 게시하는 CloudWatch 지표를 검토합니다. 여기에는 포화 및 성능 저하를 감지하는 데 도움이 되는 컨테이너, 대기열 및 데이터베이스 지표가 포함됩니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow에 대한 모니터링 및 지표Amazon MWAA의 컨테이너, 대기열 및 데이터베이스 지표 섹션을 참조하세요.

  • 대시보드 및 경보 - 환경이 한도에 가까워지면 알려주는 CloudWatch 대시보드 및 경보를 생성합니다. 자세한 내용은 Amazon MWAA의 대시보드 및 알람 모니터링 단원을 참조하십시오.

  • 로그 분석 - 필요한 Apache Airflow 로그 유형을 활성화합니다. 그런 다음 스케줄러, 작업자, 웹 서버 및 작업 로그를 분석하여 워크플로 실패를 진단합니다. 자세한 내용은 Amazon CloudWatch에서 Airflow 로그 액세스문제 해결: CloudWatch Log 및 CloudTrail 오류 섹션을 참조하세요.

  • CloudWatch 서비스 할당량 - 계정의 CloudWatch 할당량이 환경에서 생성되는 로그 볼륨을 처리할 수 있는지 확인합니다. 와 같은 CloudWatch Logs 할당량을 초과하면 작업자 성능이 저하CreateLogStream될 수 있습니다. 자세한 내용은 CloudWatch Logs 할당량을 참조하세요.

  • 메타데이터 데이터베이스 유지 관리 - Apache Airflow 메타데이터 데이터베이스 조명 유지. 워크플로에 더 이상 필요하지 않은 메타데이터를 정기적으로 제거합니다. 무제한 메타데이터 데이터베이스는 스케줄러 및 웹 서버 성능을 저하시킬 수 있습니다. 자세한 내용은 Amazon MWAA 환경에서 Aurora PostgreSQL 데이터베이스 정리 단원을 참조하십시오.

  • DAG 설계 및 예약 빈도 - DAG 수, DAG당 작업 및 일정 간격에 따라 관리형 스케줄러의 부하가 직접 결정됩니다. Amazon MWAA는 환경 용량을 초과하는 워크로드를 제한하거나 거부하지 않습니다. 구성한 리소스에 맞게 DAGs를 설계해야 합니다.

  • 작업 리소스 거버넌스 - 작업 수준 제한 시간, Apache Airflow 풀 크기 및 DAG당 동시성 제한을 설정합니다. Amazon MWAA는 사용자를 대신하여 작업당 가드레일을 적용하지 않습니다. 이러한 설정이 없으면 장기 실행 또는 동시성이 높은 단일 DAG가 사용 가능한 모든 작업자를 소비할 수 있습니다.

  • 용량 및 성능 튜닝 - 워크로드에 적합한 환경 클래스, 작업자 및 웹서버 규모 조정 제한, Apache Airflow 구성 옵션을 선택합니다. 자동 조정은 구성한 범위 내에서 작동하며 환경의 설계 용량을 초과하는 워크로드에 대해서는 보상하지 않습니다. 워크로드 프로파일에 맞는 환경 클래스의 크기를 조정해야 합니다. 자세한 내용은 Amazon MWAA의 Apache Airflow 성능 튜닝Amazon MWAA 환경 클래스 구성 섹션을 참조하세요.

  • 시작 스크립트를 통해 변경한 사항 - 시작 스크립트는 환경의 모든 구성 요소에서 실행됩니다. 이러한 구성 요소의 구성을 변경할 수 있습니다. 환경 안정성에 미치는 영향을 포함하여 이러한 방식으로 변경한 사항에 대한 책임은 사용자에게 있습니다. 프로덕션 환경에 적용하기 전에 시작 스크립트를 테스트하는 것이 좋습니다. 자세한 내용은 Amazon MWAA에서 시작 스크립트 사용 단원을 참조하십시오.

  • 환경 업데이트 - 환경 업데이트를 시작하는 것은 사용자의 작업입니다. 업데이트는 컨테이너 재시작을 트리거하며 실행 중인 워크플로에 영향을 미칠 수 있습니다. 업데이트 시기를 선택하고 진행 중인 작업에 미치는 영향을 평가할 책임은 사용자에게 있습니다. 중요한 DAGs하는 것이 좋습니다. DAGs를 일시 중지하거나 일시 중지 해제하지 않고 업데이트하려면 작업자가 종료하기 전에 진행 중인 작업을 완료할 수 있는 정상적인 업데이트를 고려하세요. 조건 및 제한이 적용됩니다. 자세한 내용은 Amazon MWAA 환경 업데이트를 참조하세요.

  • 1단계 분류 - AWS Support에 문의하기 전에 사용 가능한 지표 및 로그를 사용하여 문제를 진단합니다. AWS Support가 사용자를 지원하는 데 사용할 수 있는 세부 수준은 환경에 대해 활성화한 로깅 수준에 따라 다릅니다.

  • 환경 간 오케스트레이션 - 여러 Amazon MWAA 환경에서 워크플로를 조정합니다. Apache Airflow REST API 또는 외부 센서와 같은 메커니즘을 사용하여 환경을 연결하는 경우 해당 조정 로직에 대한 책임은 사용자에게 있습니다.

  • Amazon MWAA 모범 사례 준수 - 성능, 종속성 관리 및 환경 구성에 대해 문서화된 지침을 적용합니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow 모범 사례 단원을 참조하십시오.

관리하는 구성 및 액세스

환경의 구성 방식과 환경에 연결할 수 있는 사용자를 선택합니다. 사용자는 다음을 수행할 책임이 있습니다.

  • 최신 버전 유지 - Amazon MWAA 버전을 최신 버전으로 유지하는 것은 사용자의 책임입니다. 환경을 최신 Apache Airflow 버전으로 업그레이드하는 것은 시작하는 작업입니다. 자세한 내용은 Apache Airflow 버전 변경End-of-support 버전 섹션을 참조하세요.

  • 실행 역할 - Amazon MWAA는 환경이 생성된 후에는 기존 실행 역할에 대한 권한 정책을 추가하거나 편집할 수 없습니다. 환경에 필요한 추가 권한으로 실행 역할을 업데이트해야 합니다. 자세한 내용은 Amazon MWAA 실행 역할 단원을 참조하십시오.

  • IAM 액세스 제어 - 환경 및 Apache Airflow UI에 액세스할 수 있는 사용자를 결정하는 정책입니다. 사용자에게 필요한 리소스 및 작업에만 권한을 부여합니다. 자세한 내용은 AWS Identity and Access ManagementAmazon MWAA 환경 액세스 섹션을 참조하세요.

  • Apache Airflow 사용자 권한 - Apache Airflow는 다중 테넌트가 아닙니다. DAG 작성자는 Apache Airflow 사용자 권한을 변경하고 기본 메타데이터 데이터베이스와 상호 작용하는 DAGs를 작성할 수 있습니다. DAG 쓰기 액세스 권한이 있는 별도의 팀에는 별도의 환경을 사용하는 것이 좋습니다. 자세한 내용은 Apache Airflow의 보안 모범 사례 단원을 참조하십시오.

  • 웹 서버 액세스 모드 - Apache Airflow UI에 액세스하기 PRIVATE_ONLY 위해 PUBLIC_ONLY 또는를 선택합니다. 이는 인터넷에서 웹 서버 엔드포인트에 연결할 수 있는지 여부를 결정하는 보안 결정입니다. 자세한 내용은 Amazon MWAA에서 VPC 보안 단원을 참조하십시오.

  • 네트워크 구성 - Amazon VPC, 서브넷, 보안 그룹 및 네트워크 ACLs 여기에는 NAT 게이트웨이에서 트래픽을 전달하는 인바운드 및 아웃바운드 규칙이 포함됩니다. 자체 Amazon VPC 엔드포인트를 관리하도록 선택한 경우 해당 엔드포인트를 생성할 책임은 사용자에게 있습니다. 자세한 내용은 Amazon MWAA에서 VPC 보안Amazon MWAA에서 자체 Amazon VPC 엔드포인트 관리 섹션을 참조하세요.

  • 암호화 키 선택 - AWS 소유 KMS 키 또는 고객 관리형 KMS 키를 사용할지 여부입니다. 고객 관리형 KMS 키를 사용하는 경우 필요한 정책 설명을 키에 연결해야 합니다. 자세한 내용은 Amazon Managed Workflows for Apache Airflow의 데이터 보호 단원을 참조하십시오.

  • 보안 암호 및 연결 - 워크플로가 사용하는 자격 증명입니다. 보안 암호를 Secrets Manager에 저장하는 것이 좋습니다. 자세한 내용은 AWS Secrets Manager 보안 암호를 사용하여 Apache Airflow 연결 구성 단원을 참조하십시오.

  • Apache Airflow 구성 옵션 - 환경에서 재정의하는 구성 옵션입니다. 자세한 내용은 Amazon MWAA에서 Apache Airflow 구성 옵션 사용 단원을 참조하십시오.

관련 리소스