View a markdown version of this page

Apache Airflow のアクセスモード - Amazon Managed Workflows for Apache Airflow

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

Apache Airflow のアクセスモード

Amazon Managed Workflows for Apache Airflow コンソールには、環境上の Apache Airflow ウェブサーバーへのプライベート、パブリック、またはパブリックとプライベートの両方のルーティングを設定するための組み込みオプションが含まれています。このガイドでは、Amazon Managed Workflows for Apache Airflow 環境の Apache Airflow ウェブサーバーで使用できるアクセスモードと、プライベートネットワークオプションを選択した場合に Amazon VPC で構成する必要のある追加リソースについて説明します。

Apache Airflow のアクセスモード

Apache Airflow ウェブサーバーには、プライベートルーティング、パブリックルーティング、またはパブリックルーティングとプライベートルーティングの両方を選択できます。プライベートルーティングを有効にするには、プライベートネットワーク を選択します。これにより、Apache Airflow ウェブサーバーへのユーザーアクセスは Amazon VPC 内のみに制限されます。パブリックルーティングを有効にするには、パブリックネットワーク を選択します。これにより、ユーザーはインターネット経由で Apache Airflow ウェブサーバーにアクセスできるようになります。パブリックルーティングとプライベートルーティングの両方を有効にするには、パブリックネットワークアクセスとプライベートネットワークアクセスの両方を選択します。これにより、ワーカーはプライベート VPC エンドポイントを介してウェブサーバーと通信しながら、ユーザーはインターネット経由で Apache Airflow ウェブサーバーにアクセスできます。

パブリックネットワーク

次のアーキテクチャ図は、パブリックウェブサーバーを使用する Amazon MWAA 環境を示しています。

この図は、パブリックウェブサーバーを備えた Amazon MWAA 環境のアーキテクチャを示しています。

パブリックネットワークアクセスモードでは、環境の IAM ポリシー へのアクセスを許可されたユーザーは、インターネット経由で Apache Airflow UI にアクセスできます。

重要

環境がパブリックネットワークアクセスモードで Apache Airflow バージョン 3 以降を使用している場合、ワーカーはインターネット経由でウェブサーバーにアクセスしてタスク状態を通信できる必要があります。ワーカーをホストするサブネットにインターネットアクセスがない場合 (NAT ゲートウェイのないプライベートサブネットなど)、DAG タスクは失敗します。これを解決するには、Apache Airflow バージョン 3.2.1 以降にアップグレードし、パブリックネットワークアクセスモードとプライベートネットワークアクセスモードの両方に切り替えます。これにより、ワーカー通信がプライベート VPC エンドポイントを介してルーティングされます。

以下の画像は、Amazon MWAA コンソールの プライベートネットワーク オプションの場所を示しています。

この画像は、Amazon MWAA コンソールの パブリックネットワーク オプションが表示される場所を示しています。

プライベートネットワーク

以下のアーキテクチャ図は、プライベートウェブサーバーを備えた Amazon MWAA 環境を示しています。

この図は、プライベートネットワークアクセスを持つ Amazon MWAA 環境のアーキテクチャを示しています。

プライベートネットワークアクセスモードは、Apache Airflow UI へのアクセスを、お使いの環境の IAM ポリシー へのアクセスが許可されている Amazon VPC 内 のユーザーに制限します。

プライベートなウェブサーバーアクセスを持つ環境を作成する場合、すべての依存関係を Python Wheel アーカイブ (.whl) にパッケージ化し、その後、requirements.txt.whl を参照する必要があります。wheel を使用して依存関係をパッケージ化およびインストールする手順については、Python wheel を使用した依存関係の管理 を参照してください。

以下の画像は、Amazon MWAA コンソールの プライベートネットワーク オプションの場所を示しています。

この画像は、Amazon MWAA コンソールの プライベートネットワーク オプションが表示される場所を示しています。

パブリックネットワークアクセスとプライベートネットワークアクセスの両方

Apache Airflow バージョン 3.2.1 以降で使用できます。Apache Airflow バージョン 3 以降では、ワーカーは Task API を介してウェブサーバーにタスク状態を通信します。Amazon VPC にインターネットアクセスがない場合、ワーカーはパブリックウェブサーバーに到達できず、DAG タスクが失敗します。このモードでは、Apache Airflow UI へのブラウザアクセス用のパブリックネットワークロードバランサーと、worker-to-webserver間の通信用のプライベート VPC エンドポイントの両方が作成され、ワーカーはインターネットアクセスなしでウェブサーバーにアクセスできます。各コンポーネントについては、上記のパブリックネットワークプライベートネットワークアーキテクチャの図を参照してください。

この図は、Amazon MWAA コンソールでパブリックネットワークとプライベートネットワークの両方のオプションを見つける場所を示しています。
注記

このモードでは、Apache Airflow UI へのブラウザアクセスはパブリック URL を通過します。プライベート VPC エンドポイントは、ワーカーが内部通信に使用するもので、ブラウザアクセスを意図したものではありません。

アクセスモードの概要

このセクションでは、パブリックネットワークプライベートネットワーク、またはパブリックとプライベートの両方のネットワークアクセスモードを選択したときに 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 をバインドするというベストプラクティスをサポートするように設計されています。

パブリックネットワークアクセスモードとプライベートネットワークアクセスモードの両方

Apache Airflow ウェブサーバーにパブリックネットワークアクセスモードとプライベートネットワークアクセスモードの両方を選択した場合、Apache Airflow UI へのネットワークトラフィックはインターネット経由でパブリックにルーティングされ、worker-to-webserver通信は Amazon VPC 内でプライベートにルーティングされます。

  • Amazon MWAA は、Apache Airflow ウェブサーバー (ワーカー接続用) 用の VPC インターフェイスエンドポイントと、Amazon Aurora PostgreSQL メタデータデータベース用のインターフェイスエンドポイントを作成します。エンドポイントは、プライベートサブネットにマッピングされたアベイラビリティーゾーンに作成され、他のアベイラビリティーゾーンから独立しています AWS アカウント。

  • その後、Amazon MWAA はプライベートサブネットの IP アドレスをインターフェイスエンドポイントにバインドします。これは、Amazon VPC の各アベイラビリティーゾーンから単一の IP をバインドするというベストプラクティスをサポートするように設計されています。

  • Apache Airflow UI は、パブリックネットワークロードバランサーを介してインターネット経由でアクセスできます。ユーザーは、パブリックネットワークアクセスモードと同じ方法で UI にアクセスします。

詳細については、Amazon VPC と Apache エアフローアクセスモードのユースケース例 を参照してください。

アクセスモードのセットアップ

次のセクションでは、環境に合わせて選択した Apache Airflow アクセスモードに基づいて必要となる追加のセットアップと設定について説明します。

パブリックネットワークのセットアップ

Apache Airflow ウェブサーバーの パブリックネットワーク オプションを選択した場合、環境を作成した後に Apache Airflow UI を使い始めることができます。

ユーザーのアクセスと、環境が他の AWS サービスを使用するためのアクセス許可を設定するには、次のステップを実行する必要があります。

  1. アクセス許可を追加します。Amazon MWAA には、他の AWS のサービスを使用するためのアクセス許可が必要です。環境を作成すると、Amazon MWAA は Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs、および Amazon EC2 の特定の IAM アクションを使用できるようにするサービスにリンクされたロールを作成します。

    これらのサービスに追加のアクションを使用するアクセス許可を追加したり、実行ロールにアクセス許可を追加することで、他の AWS サービスを使用するアクセス許可を追加したりできます。詳細については、Amazon MWAA 実行ロール を参照してください。

  2. ユーザーポリシーを作成します。環境と Apache Airflow UI へのアクセスを構成するために、ユーザー用に複数の IAM ポリシーを作成する必要がある場合があります。詳細については、Amazon MWAA 環境へのアクセス を参照してください。

プライベートネットワークのセットアップ

Apache Airflow ウェブサーバーにプライベートネットワークオプションを選択した場合は、ユーザーのアクセス、環境が他の AWS サービスを使用するためのアクセス許可を設定し、コンピュータから Amazon VPC 内のリソースにアクセスするメカニズムを作成する必要があります。

  1. アクセス許可を追加します。Amazon MWAA には、他の AWS のサービスを使用するためのアクセス許可が必要です。環境を作成すると、Amazon MWAA は Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs、および Amazon EC2 の特定の IAM アクションを使用できるようにするサービスにリンクされたロールを作成します。

    これらのサービスに追加のアクションを使用するアクセス許可を追加したり、実行ロールにアクセス許可を追加することで、他の AWS サービスを使用するアクセス許可を追加したりできます。詳細については、Amazon MWAA 実行ロール を参照してください。

  2. ユーザーポリシーを作成します。環境と Apache Airflow UI へのアクセスを構成するために、ユーザー用に複数の IAM ポリシーを作成する必要がある場合があります。詳細については、Amazon MWAA 環境へのアクセス を参照してください。

  3. ネットワークアクセスを有効にします。Amazon VPC で、Apache Airflow ウェブサーバーの VPC エンドポイント (AWS PrivateLink) に接続するメカニズムを作成する必要があります。例えば、 AWS Client VPNを使用して、コンピューターから VPN トンネルを作成します。

パブリックネットワークアクセスとプライベートネットワークアクセスの両方のセットアップ

Apache Airflow ウェブサーバーのパブリックネットワークアクセスオプションとプライベートネットワークアクセスオプションの両方を選択した場合は、環境の作成後に Apache Airflow UI の使用を開始できます。ブラウザアクセスに VPN または VPC エンドポイントアクセスメカニズムは必要ありません。Apache Airflow UI は、インターネット経由でアクセスできます。ワーカーはプライベート VPC エンドポイントを介してウェブサーバーに自動的に接続します。

ユーザーのアクセスと、環境が他の AWS サービスを使用するためのアクセス許可を設定するには、次のステップを実行する必要があります。

  1. アクセス許可を追加します。Amazon MWAA には、他の AWS のサービスを使用するためのアクセス許可が必要です。環境を作成すると、Amazon MWAA は Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs、および Amazon EC2 の特定の IAM アクションを使用できるようにするサービスにリンクされたロールを作成します。

    これらのサービスに追加のアクションを使用するアクセス許可を追加したり、実行ロールにアクセス許可を追加することで、他の AWS サービスを使用するアクセス許可を追加したりできます。詳細については、Amazon MWAA 実行ロール を参照してください。

  2. ユーザーポリシーを作成します。環境と Apache Airflow UI へのアクセスを構成するために、ユーザー用に複数の IAM ポリシーを作成する必要がある場合があります。詳細については、Amazon MWAA 環境へのアクセス を参照してください。

Apache Airflow ウェブサーバーの VPC エンドポイントへのアクセス (プライベートネットワークアクセス)

プライベートネットワーク オプションを選択した場合は、Amazon VPC に Apache Airflow ウェブサーバーの VPC エンドポイント (AWS PrivateLink) にアクセスするメカニズムを作成する必要があります。これらのリソースには、Amazon MWAA 環境と同じ Amazon VPC、VPC セキュリティグループ、プライベートサブネットを使用することを推奨します。

パブリックネットワークアクセスとプライベートネットワークアクセスの両方を選択した場合、Apache Airflow UI にアクセスするメカニズムを作成する必要はありません。インターネット経由でアクセスできます。プライベート VPC エンドポイントは、内部通信のためにワーカーによって自動的に使用されます。

詳細については、VPC エンドポイントのアクセス管理 を参照してください。