Amazon MWAA のサービス固有の Amazon VPC エンドポイントへのアクセスの管理 - Amazon Managed Workflows for Apache Airflow

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon MWAA のサービス固有の Amazon VPC エンドポイントへのアクセスの管理

VPC エンドポイント (AWS PrivateLink) を使用すると、インターネットゲートウェイ、NAT デバイス、VPN、またはファイアウォールプロキシを必要と AWS せずに、VPC を でホストされているサービスにプライベートに接続できます。これらのエンドポイントは、VPC 内のインスタンスと AWS サービス間の通信を可能にする、水平方向にスケーラブルで可用性の高い仮想デバイスです。このページでは、Amazon MWAA によって作成された VPC エンドポイントと、Apache Airflow 用の Amazon マネージドワークフローでプライベートネットワークアクセスモードを選択した場合に Apache Airflow ウェブサーバーの VPC エンドポイントにアクセスする方法について説明します。

料金

VPC エンドポイントの概要

Amazon MWAA 環境を作成すると、Amazon MWAA はお客様の環境用に 1 つから 2 つの VPC エンドポイントを作成します。これらのエンドポイントは、Amazon VPC 内の Elastic Network Interfaces (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 コンソールで「Endpoints ページ」 を開きます。

  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接続を提供しまsy。

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

Linux 拠点ホストを使用する

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

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

Load Balancer の使用 (上級)

次のセクションでは、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