翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: Linux 踏み台ホストを使用したプライベートネットワークアクセスの設定
このチュートリアルでは、Amazon Managed Workflows for Apache Airflow 環境のコンピュータから Apache Airflow ウェブサーバーへの SSH トンネルを作成する手順について説明します。Amazon MWAA 環境が既に作成されていることを前提としています。セットアップが完了すると、Linux 踏み台ホストはジャンプサーバーとして機能し、コンピュータから VPC 内のリソースに安全に接続できるようになります。次に、SOCKS プロキシ管理アドオンを使用してブラウザのプロキシ設定を制御し、Apache Airflow UI にアクセスします。
注記
このチュートリアルは、プライベートネットワークアクセスモードに適用されます。パブリックネットワークアクセスとプライベートネットワークアクセスの両方を選択した場合、踏み台ホストはインターネット経由でアクセスできるため、Apache Airflow UI にアクセスする必要はありません。
セクション
プライベートネットワーク
このチュートリアルでは、Apache Airflow ウェブサーバーの プライベートネットワーク アクセスモードを選択していることを前提としています。
プライベートネットワークアクセスモードは、Apache Airflow UI へのアクセスを、お使いの環境の IAM ポリシー へのアクセスが許可されている Amazon VPC 内 のユーザーに制限します。
プライベートネットワークアクセスを使用して環境を作成する場合、すべての依存関係を Python wheel アーカイブ (.whl) にパッケージ化し、 .whlで を参照する必要がありますrequirements.txt。wheel を使用して依存関係をパッケージ化およびインストールする手順については、Python wheel を使用した依存関係の管理 を参照してください。
以下の画像は、Amazon MWAA コンソールの プライベートネットワーク オプションの場所を示しています。
ユースケース
このチュートリアルは、Amazon MWAA 環境を作成した後でも使用できます。環境と同じ Amazon VPC、VPC セキュリティグループ、パブリックサブネットを使用する必要があります。
[開始する前に]
-
ユーザー許可を確認してください。 AWS Identity and Access Management (IAM) のアカウントに、VPC リソースを作成および管理するための十分なアクセス許可があることを確認してください。
-
Amazon MWAA VPC を使用してください。このチュートリアルでは、踏み台ホストを既存の VPC に関連付けることを想定としています。Amazon VPC は Amazon MWAA 環境と同じリージョンにあり、VPC ネットワークを作成する で定義されているように 2 つのプライベートサブネットを備えている必要があります。
-
SSH キーを作成します。仮想サーバーに接続するには、Amazon MWAA 環境と同じリージョンに Amazon EC2 SSH キー ([.pem]) を作成する必要があります。SSH キーがない場合は、Amazon EC2 ユーザーガイド の キーペアの作成またはインポート を参照してください。
目的
このチュートリアルでは、以下の作業を行います。
-
既存の VPC CloudFormation のテンプレート
を使用して Linux 踏み台ホストインスタンスを作成します。 -
ポート
22の進入ルールを使用して、踏み台インスタンスのセキュリティグループへのインバウンドトラフィックを承認します。 -
Amazon MWAA 環境のセキュリティグループから踏み台インスタンスのセキュリティグループへのインバウンドトラフィックを承認します。
-
踏み台インスタンスへの SSH トンネルを作成します。
-
Firefox ブラウザ用の FoxyProxy アドオンをインストールして設定し、Apache Airflow UI にアクセスします。
ステップ 1: 踏み台インスタンスを作成する
次のセクションでは、Linux 踏み台インスタンスを作成する手順について説明します。
https://console.aws.amazon.com/ec2/
注記
Amazon EC2 インスタンスで TCP 転送を許可することをお勧めします。TCP 転送とは、SSH TCP 転送を意味し、ホスト経由のssh -L/-Dトンネルを許可します。SSH デーモン設定 (/etc/ssh/sshd_config) の AllowTcpForwarding ディレクティブは、この設定を制御します。ほとんどの Amazon Linux および Ubuntu AMIs yesではデフォルトで になりますが、強化踏み台 AMIs。
ステップ 2: SSH トンネルを作成する
次の手順では、Linux 踏み台への SSH トンネルを作成する方法について説明します。SSH トンネルはローカル IP アドレスから Linux 踏み台へのリクエストを受信するため、Linux 踏み台への TCP 転送は前のステップtrueで に設定されています。
注記
Permission denied (publickey) のエラーが発生した場合は、AWSSupport-TroublesshsSH ツールを使用し、[この自動化を実行 (コンソール)] を選択して SSH セットアップのトラブルシューティングを行うことをお勧めします。
ステップ 3: 踏み台セキュリティグループをインバウンドルールとして設定する
サーバーへのアクセスとサーバーからの通常のインターネットアクセスは、それらのサーバーにアタッチされた特別なメンテナンスセキュリティグループで許可されています。以下の手順では、踏み台セキュリティグループを環境の VPC セキュリティグループへのインバウンドトラフィックソースとして設定する方法について説明します。
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
環境を選択します。
-
ネットワーク ペインで VPC セキュリティグループ を選択します。
-
インバウンドのルールを編集 を選択します。
-
ルールを追加 を選択してください。
-
ソース ドロップダウンリストから VPC セキュリティグループ ID を選択します。
-
残りのオプションは空白のままにするか、デフォルト値に設定します。
-
ルールの保存 を選択してください。
ステップ 4: Apache Airflow URL をコピーします。
次のステップでは、Amazon MWAA コンソールを開いて URL を Apache Airflow UI にコピーする方法について説明します。
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
環境を選択します。
-
Airflow UI の URL をコピーして、以降のステップで使用できるようにします。
ステップ 5: プロキシ設定を行う
ダイナミックポートフォワーディングによる SSH トンネルを使用する場合、SOCKS プロキシ管理アドオンを用いてブラウザでプロキシ設定を管理する必要があります。たとえば、Chromium の --proxy-server 機能を使用してブラウザセッションを開始したり、Mozilla FireFox ブラウザの FoxyProxy 拡張機能を使用したりできます。
オプション 1: ローカルポート転送を使用して SSH トンネルをセットアップします。
SOCKS プロキシを使いたくない場合は、ローカルポート転送を使って SSH トンネルをセットアップすることができます。次のコマンド例では、ローカルポート 8157 でトラフィックを転送して Apache Airflow ウェブサーバーにアクセスします。
-
新しいコマンドプロンプトウィンドウを開きます。
-
以下のコマンドを入力し、SSH トンネルを開きます。
ssh -imykeypair.pem-N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ec2-user@YOUR_PUBLIC_IPV4_DNS-Lはローカルポート転送の使用を意味し、ノードのローカルウェブサーバーの特定リモートポートへのデータ転送に使用するローカルポートを指定できます。 -
ブラウザに
http://localhost:8157/と入力します。注記
https://localhost:8157/を使用する必要がある場合があります。
オプション 2: コマンドラインを使用したプロキシ
ほとんどのウェブブラウザでは、コマンドラインまたは設定パラメータを使用してプロキシを設定できます。たとえば、Chromium では、次のコマンドを使用してブラウザを起動できます。
chromium --proxy-server="socks5://localhost:8157"
これにより、前のステップで作成した SSH トンネルを使用してリクエストをプロキシするブラウザセッションが開始されます。プライベート Amazon MWAA 環境 URL (https:// を使用) は、次のように開くことができます。
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
オプション 3: Mozilla Firefox 用 FoxyProxy を使用するプロキシ
Mozilla Firefox の FoxyProxy Standard (バージョン 7.5.1) の設定を次の例に示します。FoxyProxy は、プロキシ管理ツールのセットを提供します。これにより、Apache Airflow UI で使用されるドメインに対応するパターンと一致する URL についてプロキシサーバーを使用できます。
-
FireFox では、FoxyProxy スタンダード
エクステンションページを開きます。 -
Firefox に追加 を選択します。
-
追加 を選択します。
-
ブラウザのツールバーで FoxyProxy アイコンを選択し、オプション を選択します。
-
次のコードをコピーし、
mwaa-proxy.jsonという名前でローカルに保存します。YOUR_HOST_NAMEのサンプル値を Apache Airflow URL に置き換えてください。{ "e0b7kh1606694837384": { "type": 3, "color": "#66cc66", "title": "airflow", "active": true, "address": "localhost", "port": 8157, "proxyDNS": false, "username": "", "password": "", "whitePatterns": [ { "title": "airflow-ui", "pattern": "YOUR_HOST_NAME", "type": 1, "protocols": 1, "active": true } ], "blackPatterns": [], "pacURL": "", "index": -1 }, "k20d21508277536715": { "active": true, "title": "Default", "notes": "These are the settings that are used when no patterns match a URL.", "color": "#0055E5", "type": 5, "whitePatterns": [ { "title": "all URLs", "active": true, "pattern": "*", "type": 1, "protocols": 1 } ], "blackPatterns": [], "index": 9007199254740991 }, "logging": { "active": true, "maxSize": 500 }, "mode": "patterns", "browserVersion": "82.0.3", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" } -
FoxyProxy 6.0+ から設定をインポート ペインで、設定をインポート を選択し、
mwaa-proxy.jsonファイルを選択します。 -
OK を選択してください。
ステップ 6: Apache Airflow UI を開きます。
Apache Airflow UI を開く方法については、以下のステップで示します。
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
Airflow UI を開く を選択します。
次のステップ
-
Apache Airflow CLI コマンドリファレンス の踏み台ホストへの SSH トンネルで Airflow CLI コマンドを実行する方法について説明します。
-
DAG コードを Amazon S3 バケットにアップロードする方法については、DAG の追加と更新 で示します。