View a markdown version of this page

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 によって自動的に作成および管理されます。追加の VPC エンドポイント設定は必要なく、Apache Airflow UI へのブラウザアクセスのために VPC エンドポイントへのアクセスを設定する必要はありません。

料金

VPC エンドポイントの概要

Amazon MWAA 環境を作成すると、Amazon MWAA はお客様の環境用に 1 つから 2 つの VPC エンドポイントを作成します。これらのエンドポイントは、Amazon VPC 内の Elastic Network Interface (ENI) とプライベート IP アドレスで表されます。これらのエンドポイントが作成されると、これらの 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 拠点ホストを使用する

踏み台ホストは、外部ネットワーク (インターネット経由など) からプライベートネットワークにアクセスできるようにすることを目的としたサーバーです。Linux インスタンスはパブリックサブネットにあり、拠点ホストを実行している基盤となる Amazon EC2 インスタンスにアタッチされたセキュリティグループからの SSH アクセスを許可するセキュリティグループを使用してセットアップされます。

Amazon MWAA のチュートリアルに従って、Linux Bastion Host を構成することをお勧めします:チュートリアル: Linux 踏み台ホストを使用したプライベートネットワークアクセスの設定

ロードバランサーの使用 (上級)

次のセクションでは、Application Load Balancer に適用する必要がある設定を示しています。

  1. ターゲットグループ。Apache Airflow ウェブサーバーのプライベート IP アドレスとその VPC インターフェイスエンドポイントを指すターゲットグループを使用する必要があります。1 つのプライベート IP アドレスだけを使用すると可用性が低下する可能性があるため、両方のプライベート IP アドレスを登録ターゲットとして指定することをお勧めします。プライベート IP アドレスを識別する方法の詳細については、Apache Airflow ウェブサーバーとその VPC エンドポイントのプライベート IP アドレスの識別 を参照してください。

  2. ステータスコード。ターゲットグループ設定では 200302 ステータスコードを使用することをお勧めします。そうしないと、Apache Airflow ウェブサーバーの VPC エンドポイントが 302 Redirect エラーで応答した場合に、ターゲットに異常があるとフラグが立てられる可能性があります。

  3. HTTPS リスナー。Apache Airflow ウェブサーバーのターゲットポートを指定する必要があります。例えば、次のようになります。

    プロトコル ポート

    HTTPS

    443

  4. ACM 新しいドメイン。SSL/TLS 証明書を に関連付ける場合は AWS Certificate Manager、ロードバランサーの HTTPS リスナー用に新しいドメインを作成する必要があります。

  5. ACM 証明書リージョン。で SSL/TLS 証明書を関連付ける場合は AWS Certificate Manager、環境 AWS リージョン と同じ にアップロードする必要があります。例えば、次のようになります。

    1. 例証明書をアップロードするリージョン
      aws acm import-certificate --certificate fileb://Certificate.pem --certificate-chain fileb://CertificateChain.pem --private-key fileb://PrivateKey.pem --region us-west-2