Apache Airflow 액세스 모드
Amazon Managed Workflows for Apache Airflow 콘솔에는 사용자 환경의 Apache Airflow 웹 서버에 대한 프라이빗 또는 퍼블릭 라우팅을 구성할 수 있는 내장 옵션이 포함되어 있습니다. 이 가이드에서는 Amazon Managed Workflows for Apache Airflow 환경에서 Apache Airflow 웹 서버에 사용할 수 있는 액세스 모드와, 프라이빗 네트워크 옵션을 선택할 경우 Amazon VPC에서 구성해야 하는 추가 리소스에 대해 설명합니다.
목차
Apache Airflow 액세스 모드
Apache Airflow 웹 서버의 프라이빗 또는 퍼블릭 라우팅을 선택할 수 있습니다. 프라이빗 라우팅을 활성화하려면 프라이빗 네트워크를 선택합니다. 이렇게 하면 Amazon VPC 내에서 Apache Airflow 웹 서버에 대한 사용자 액세스가 제한됩니다. 퍼블릭 라우팅을 활성화하려면 퍼블릭 네트워크를 선택합니다. 이렇게 함으로써 사용자는 인터넷을 통해 Apache Airflow 웹 서버에 액세스할 수 있습니다.
퍼블릭 네트워크
다음 아키텍처 다이어그램은 퍼블릭 웹 서버가 있는 Amazon MWAA 환경을 보여줍니다.
퍼블릭 네트워크 액세스 모드를 사용하면 사용자 환경의 IAM 정책에 대한 액세스 권한이 부여된 사용자가 인터넷을 통해 Apache Airflow UI에 액세스할 수 있습니다.
다음 이미지는 Amazon MWAA 콘솔에서 퍼블릭 네트워크 옵션을 찾을 수 있는 위치를 보여줍니다.
프라이빗 네트워크
다음 아키텍처 다이어그램은 프라이빗 웹 서버가 있는 Amazon MWAA 환경을 보여줍니다.
프라이빗 네트워크 액세스 모드를 사용하면 Amazon VPC 내에서 사용자 환경의 IAM 정책에 대한 액세스 권한을 부여 받은 사용자만 Apache Airflow UI에 액세스할 수 있도록 제한됩니다.
프라이빗 웹 서버 액세스가 가능한 환경을 만들 때는 모든 종속성을 Python 휠 아카이브(.whl
)에서 패키징한 다음 requirements.txt
에서 .whl
을 참조해야 합니다. 휠을 사용하여 종속성을 패키징하고 설치하는 방법에 대한 지침은 Python 휠을 이용한 종속성 관리를 참조하십시오.
다음 이미지는 Amazon MWAA 콘솔에서 프라이빗 네트워크 옵션을 찾을 수 있는 위치를 보여줍니다.
액세스 모드 개요
이 섹션에서는 퍼블릭 네트워크 또는 프라이빗 네트워크 액세스 모드를 선택할 때 Amazon VPC에 생성되는 VPC 엔드포인트(AWS PrivateLink)에 대해 설명합니다.
퍼블릭 네트워크 액세스 모드
Apache Airflow 웹 서버의 퍼블릭 네트워크 액세스 모드를 선택한 경우, 네트워크 트래픽은 인터넷을 통해 공개적으로 라우팅됩니다.
-
Amazon MWAA는 Amazon Aurora PostgreSQL 메타데이터 데이터베이스를 위한 VPC 인터페이스 엔드포인트를 생성합니다. 엔드포인트는 프라이빗 서브넷에 매핑된 가용 영역에 생성되며 다른 AWS 계정과는 독립적입니다.
-
그러면 Amazon MWAA에서 프라이빗 서브넷의 IP 주소를 인터페이스 엔드포인트에 바인딩합니다. 이는 Amazon VPC의 각 가용 영역에서 단일 IP를 바인딩하는 모범 사례를 지원하도록 설계되었습니다.
프라이빗 네트워크 액세스 모드
Apache Airflow 웹 서버의 프라이빗 네트워크 액세스 모드를 선택한 경우, 네트워크 트래픽은 Amazon VPC 내에서 프라이빗로 라우팅됩니다.
-
Amazon MWAA는 Apache Airflow 웹 서버를 위한 VPC 인터페이스 엔드포인트와, Amazon Aurora PostgreSQL 메타데이터 데이터베이스를 위한 인터페이스 엔드포인트를 생성합니다. 엔드포인트는 프라이빗 서브넷에 매핑된 가용 영역에 생성되며 다른 AWS 계정과는 독립적입니다.
-
그러면 Amazon MWAA에서 프라이빗 서브넷의 IP 주소를 인터페이스 엔드포인트에 바인딩합니다. 이는 Amazon VPC의 각 가용 영역에서 단일 IP를 바인딩하는 모범 사례를 지원하도록 설계되었습니다.
자세한 내용은 Amazon VPC 및 Apache Airflow 액세스 모드의 사용 사례 예시 섹션을 참조하십시오.
프라이빗 및 퍼블릭 액세스 모드 설정
다음 섹션에서는 환경에 맞게 선택한 Apache Airflow 액세스 모드에 따라 필요한 추가 설정 및 구성을 설명합니다.
퍼블릭 네트워크 설정
Apache Airflow 웹 서버의 퍼블릭 네트워크 옵션을 선택하면, 환경을 생성한 후 Apache Airflow UI 사용을 시작할 수 있습니다.
사용자에 대한 액세스 권한과, 사용자 환경에서 다른 AWS 서비스를 사용할 수 있는 권한을 구성하려면 다음 단계를 수행해야 합니다.
-
권한 추가 Amazon MWAA에서 다른 AWS 서비스를 사용하려면 권한이 필요합니다. 환경을 생성하면, Amazon MWAA에서 Amazon Elastic Container Registry(Amazon ECR), CloudWatch Log 및 Amazon EC2에 대한 특정 IAM 작업을 사용할 수 있도록 해주는 서비스 연결 역할을 생성합니다.
실행 역할에 권한을 추가하여 이러한 서비스에 대한 추가 작업을 사용하거나, 실행 역할에 권한을 추가하하여 다른 AWS 서비스를 사용할 수 있도록 권한을 추가할 수 있습니다. 자세한 내용은 Amazon MWAA 실행 역할 섹션을 참조하십시오.
-
사용자 정책 생성. 사용자가 환경 및 Apache Airflow UI에 대한 액세스를 구성하려면 여러 IAM 정책을 생성해야 할 수 있습니다. 자세한 내용은 Amazon MWAA 환경 액세스 섹션을 참조하십시오.
프라이빗 네트워크 설정
Apache Airflow 웹 서버의 프라이빗 네트워크 옵션을 선택하는 경우, 사용자에 대한 액세스, 및 사용자 환경에서 다른 AWS 서비스를 사용할 수 있는 권한을 구성하고, 사용자의 컴퓨터에서 Amazon VPC의 리소스에 액세스하는 메커니즘을 생성해야 합니다.
-
권한 추가 Amazon MWAA에서 다른 AWS 서비스를 사용하려면 권한이 필요합니다. 환경을 생성하면, Amazon MWAA에서 Amazon Elastic Container Registry(Amazon ECR), CloudWatch Log 및 Amazon EC2에 대한 특정 IAM 작업을 사용할 수 있도록 해주는 서비스 연결 역할을 생성합니다.
실행 역할에 권한을 추가하여 이러한 서비스에 대한 추가 작업을 사용하거나, 실행 역할에 권한을 추가하하여 다른 AWS 서비스를 사용할 수 있도록 권한을 추가할 수 있습니다. 자세한 내용은 Amazon MWAA 실행 역할 섹션을 참조하십시오.
-
사용자 정책 생성. 사용자가 환경 및 Apache Airflow UI에 대한 액세스를 구성하려면 여러 IAM 정책을 생성해야 할 수 있습니다. 자세한 내용은 Amazon MWAA 환경 액세스 섹션을 참조하십시오.
-
네트워크 액세스 활성화 Apache Airflow 웹 서버의 VPC 엔드포인트(AWS PrivateLink)에 연결하려면 Amazon VPC에서 메커니즘을 생성해야 합니다. 예를 들면, AWS Client VPN를 사용하여 컴퓨터에서 VPN 터널을 만들 수 있습니다.
Apache Airflow 웹 서버의 VPC 엔드포인트 액세스(프라이빗 네트워크 액세스)
프라이빗 네트워크 옵션을 선택한 경우, Amazon VPC에서 Apache Airflow 웹 서버의 VPC 엔드포인트(AWS PrivateLink)에 액세스할 수 있는 메커니즘을 생성해야 합니다. 이러한 리소스에는 Amazon MWAA 환경과 동일한 Amazon VPC, VPC 보안 그룹 및 프라이빗 서브넷을 사용하는 것이 좋습니다.
자세한 내용은 VPC 엔드포인트의 액세스 관리를 참조하십시오.