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 ウェブサーバーにアクセスできるようになります。

パブリックネットワーク

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

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

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

以下の画像は、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 コンソールの プライベートネットワーク オプションが表示される場所を示しています。

アクセスモードの概要

このセクションでは、パブリックネットワーク または プライベートネットワーク のアクセスモードを選択したときに 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 エアフローアクセスモードのユースケース例 を参照してください。

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

次のセクションでは、環境に合わせて選択した 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 ウェブサーバーの VPC エンドポイントへのアクセス (プライベートネットワークアクセス)

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

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