Amazon MWAA에서 서비스별 Amazon VPC 엔드포인트에 대한 액세스 관리 - Amazon Managed Workflows for Apache Airflow

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

Amazon MWAA에서 서비스별 Amazon VPC 엔드포인트에 대한 액세스 관리

인터넷 게이트웨이, NAT 디바이스, VPN 또는 방화벽 프록시 AWS 없이 VPC를에서 호스팅되는 서비스에 비공개로 연결하는 데 사용할 수 있는 VPC 엔드포인트(AWS PrivateLink)입니다. 이러한 엔드포인트는 수평적으로 확장 가능하고 가용성이 높은 가상 디바이스로, VPC의 인스턴스와 AWS 서비스 간의 통신을 허용합니다. 이 페이지에서는 Amazon MWAA에서 생성한 VPC 엔드포인트와 Amazon Managed Workflows for Apache Airflow에서 프라이빗 네트워크 액세스 모드를 선택한 경우 Apache Airflow 웹 서버의 VPC 엔드포인트에 액세스하는 방법을 설명합니다.

요금

VPC 엔드포인트 개요

Amazon MWAA 환경을 생성할 때 Amazon MWAA는 사용자 환경에 대해 1~2개의 VPC 엔드포인트를 생성합니다. 이러한 엔드포인트는 Amazon VPC에 프라이빗 IPs가 있는 탄력적 네트워크 인터페이스(ENIs)로 표시됩니다. 이러한 엔드포인트가 생성되면 이러한 IPs로 향하는 모든 트래픽은 환경에서 사용하는 해당 AWS 서비스로 비공개 또는 공개적으로 라우팅됩니다.

퍼블릭 네트워크 액세스 모드

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를 바인딩하는 모범 사례를 지원하도록 설계되었습니다.

다른 AWS 서비스를 사용할 수 있는 권한

인터페이스 엔드포인트는 AWS Identity and Access Management (IAM)의 환경에 대한 실행 역할을 사용하여 환경에서 사용하는 AWS 리소스에 대한 권한을 관리합니다. 환경에 대해 더 많은 AWS 서비스가 활성화되면 각 서비스에서 환경의 실행 역할을 사용하여 권한을 구성해야 합니다. 권한을 추가하려면 섹션을 참조하세요Amazon MWAA 실행 역할.

Apache Airflow 웹 서버의 프라이빗 네트워크 액세스 모드를 선택한 경우 각 엔드포인트에 대한 VPC 엔드포인트 정책에서도 권한을 허용해야 합니다. 자세한 내용은 단원을 참조하십시오VPC 엔드포인트 정책(프라이빗 라우팅만 해당).

VPC 엔드포인트 액세스

이 섹션에서는 Amazon MWAA에서 생성한 VPC 엔드포인트에 액세스하는 방법과 Apache Airflow VPC 엔드포인트의 프라이빗 IP 주소를 식별하는 방법을 설명합니다.

Amazon VPC 콘솔에서 VPC 엔드포인트 액세스

다음 섹션에는 Amazon MWAA에서 생성한 VPC 엔드포인트와 Amazon VPC에 프라이빗 라우팅을 사용하는 경우 생성했을 수 있는 모든 VPC 엔드포인트에 액세스하는 단계가 표시됩니다.

VPC 엔드포인트에 액세스하려면
  1. Amazon VPC 콘솔에서 엔드포인트 페이지를 엽니다.

  2. 를 선택합니다 AWS 리전.

  3. Amazon MWAA에서 생성한 VPC 인터페이스 엔드포인트와 Amazon VPC에서 프라이빗 라우팅을 사용하는 경우 생성했을 수 있는 모든 VPC 엔드포인트를 참조하세요.

프라이빗 라우팅을 사용하는 Amazon VPC에 필요한 VPC 서비스 엔드포인트에 대한 자세한 내용은 섹션을 참조하세요프라이빗 라우팅을 사용하여 Amazon VPC에 필요한 VPC 서비스 엔드포인트 생성.

Apache Airflow 웹서버 및 해당 VPC 엔드포인트의 프라이빗 IP 주소 식별

다음 단계에서는 Apache Airflow 웹 서버의 호스트 이름과 VPC 인터페이스 엔드포인트 및 프라이빗 IP 주소를 검색하는 방법을 설명합니다.

  1. 다음 AWS Command Line Interface (AWS CLI) 명령을 사용하여 Apache Airflow 웹 서버의 호스트 이름을 검색합니다.

    aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME --query 'Environment.WebserverUrl'

    다음과 비슷한 응답이 표시됩니다.

    "99aa99aa-55aa-44a1-a91f-f4552cf4e2f5-vpce.c10.us-west-2.airflow.amazonaws.com"
  2. 이전 명령의 응답에서 반환된 호스트 이름에 대해 dig 명령을 실행합니다. 예:

    dig CNAME +short 99aa99aa-55aa-44a1-a91f-f4552cf4e2f5-vpce.c10.us-west-2.airflow.amazonaws.com

    다음과 비슷한 응답이 표시됩니다.

    vpce-0699aa333a0a0a0-bf90xjtr.vpce-svc-00bb7c2ca2213bc37.us-west-2.vpce.amazonaws.com.
  3. 다음 AWS Command Line Interface (AWS CLI) 명령을 사용하여 이전 명령의 응답에서 반환된 VPC 엔드포인트 DNS 이름을 검색합니다. 예:

    aws ec2 describe-vpc-endpoints | grep vpce-0699aa333a0a0a0-bf90xjtr.vpce-svc-00bb7c2ca2213bc37.us-west-2.vpce.amazonaws.com.

    다음과 비슷한 응답이 표시됩니다.

    "DnsName": "vpce-066777a0a0a0-bf90xjtr.vpce-svc-00bb7c2ca2213bc37.us-west-2.vpce.amazonaws.com",
  4. Apache Airflow 호스트 이름과 VPC 엔드포인트 DNS 이름에서 nslookup 또는 dig 명령을 실행하여 IP 주소를 검색합니다. 예:

    dig +short YOUR_AIRFLOW_HOST_NAME YOUR_AIRFLOW_VPC_ENDPOINT_DNS

    다음과 비슷한 응답이 표시됩니다.

    192.0.5.1 192.0.6.1

Apache Airflow 웹 서버의 VPC 엔드포인트 액세스(프라이빗 네트워크 액세스)

Apache Airflow 웹 서버의 프라이빗 네트워크 액세스 모드를 선택한 경우 Apache Airflow 웹 서버의 VPC 인터페이스 엔드포인트에 액세스하는 메커니즘을 생성해야 합니다. 이러한 리소스에 대해 Amazon MWAA 환경과 동일한 Amazon VPC, VPC 보안 그룹 및 프라이빗 서브넷을 사용해야 합니다.

사용 AWS Client VPN

AWS Client VPN 는 온프레미스 네트워크의 AWS 리소스와 리소스에 안전하게 액세스하는 데 사용할 수 있는 관리형 클라이언트 기반 VPN 서비스입니다. OpenVPN 클라이언트를 사용하여 어떤 위치에서든 안전한 TLS 연결을 제공합니다.

Amazon MWAA 튜토리얼에 따라 Client VPN을 구성하는 것이 좋습니다: 자습서:를 사용하여 프라이빗 네트워크 액세스 구성 AWS Client VPN.

Linux Bastion Host 사용

접속 호스트는 컴퓨터의 인터넷을 통해 외부 네트워크에서 프라이빗 네트워크에 대한 액세스를 제공하는 서버입니다. Linux 인스턴스는 퍼블릭 서브넷에 있으며 Bastion Host를 실행하는 기본 Amazon EC2 인스턴스에 연결된 보안 그룹으로부터 SSH 액세스를 허용하는 보안 그룹으로 설정됩니다.

Amazon MWAA 튜토리얼에 따라 Linux Bastion Host를 구성하는 것이 좋습니다: 튜토리얼: Linux Bastion Host를 사용한 프라이빗 네트워크 액세스 구성.

로드 밸런서 사용(고급)

다음 섹션에는 Application Load Balancer에 적용해야 하는 구성이 표시됩니다.

  1. 대상 그룹. Apache Airflow 웹서버의 프라이빗 IP 주소와 VPC 인터페이스 엔드포인트를 가리키는 대상 그룹을 사용해야 합니다. 프라이빗 IP 주소를 하나만 사용하면 가용성이 떨어질 수 있으므로 두 프라이빗 IP 주소를 모두 등록된 대상으로 지정하는 것이 좋습니다. 프라이빗 IP 주소를 식별하는 방법에 대한 자세한 내용은 섹션을 참조하세요Apache Airflow 웹서버 및 해당 VPC 엔드포인트의 프라이빗 IP 주소 식별.

  2. 상태 코드. 대상 그룹 설정에서 200302 상태 코드를 사용하는 것이 좋습니다. 그렇지 않으면 Apache Airflow 웹 서버의 VPC 엔드포인트가 302 Redirect 오류로 응답하면 대상이 비정상으로 플래그가 지정될 수 있습니다.

  3. HTTPS 리스너. Apache Airflow 웹 서버의 대상 포트를 지정해야 합니다. 예:

    프로토콜 Port

    HTTPS

    443

  4. ACM 새 도메인. SSL/TLS 인증서를 연결하려면 로드 AWS Certificate Manager밸런서의 HTTPS 리스너에 대한 새 도메인을 생성해야 합니다.

  5. ACM 인증서 리전. 에서 SSL/TLS 인증서를 연결하려면 환경 AWS 리전 과 동일한에 업로드 AWS Certificate Manager해야 합니다. 예:

    1. 예 인증서를 업로드할 리전
      aws acm import-certificate --certificate fileb://Certificate.pem --certificate-chain fileb://CertificateChain.pem --private-key fileb://PrivateKey.pem --region us-west-2