Apache Airflow環境のためのアマゾン管理ワークフローへのアクセス
8531 ワード
上位のオンラインイベントをサポートするために一連のポストの一部は、9月00日GMTから2月24日に革新的なAI/ML - hereにサインアップすることができます
第1部- Installation and configuration of Managed Workflows for Apache Airflow
第二部
PART 3 - Apache Airflow環境のためのAmazon管理ワークフローにアクセスする
第4部- Working with Permissions
第5部
第六部
パート7 - Apache Airflow
このポストでは、PART 3をカバーします.どのようにしてApache Airflow環境にアクセスしてアクセスできますか.具体的にはいくつかをカバーします.
何が必要
Apache Airflowのための管理されたワークフローが支持されるAWS地域への
MWAA環境を作成するときに、2つのオプションがあります.パブリックまたはプライベートの設定(CloudFormationテンプレートからリコールされるように、WebServerAccessModeによって管理されました.
公開環境を構成すると、効果的にパブリック・インターネット経由でアクセスできるパブリックURLを介してApache Airflow UIを公開します.この非常に簡単な図は、流れを示します.あなたはまだURLを知っている必要があり、まだそれがまだ使用するための安全なオプションですので、実際にアクセスを得るために認証する必要があります.
Interacting with Amazon Managed Workflows for Apache Airflow via the command line
Apache Airflow URLを見ると、典型的にはhttps ://{ id id }の形式です.{ region }気流アマゾネス.コムホーム.
プライベート環境(セキュリティを最大化するために推奨される選択です)を設定すると、このURLが異なることに気付きます.{ region }気流アマゾネス.COM .あなたが問題をAirFlowインスタンスにアクセスしているならば、あなたはURLの「VPCE」に気がつきます、そして、これは多分理由です.あなたがこれを見るとき、アクセスはA simple CI/CD system for your development workflowを通して構成されていて、公共のインターネットの上のアクセスが可能にされません.
それで、どのように、あなたはあなたの個人的なApache Airflowインスタンスにアクセスしますか?
あなたとあなたの組織の設定/標準のいずれかが適していることを指示する可能性のあるオプションの数があります.以下にいくつかのアプローチを示します.
ベースホストを経たアクセスを提供して、SSHトンネリングとともにクライアント側プロキシ解決を使用する
私はここで最後のオプションをカバーし、将来の投稿で他の人をカバーすることを望む.
ベースホストとクライアントプロキシを介したプライベートインスタンスへのアクセス
次の手順を実行する必要があります.
テンプレートをダウンロードした後、コンソールを使用してこのスタックを作成するか、必要に応じてパラメータファイルを作成します.私はサンプルパラメータファイルだけでなく、私はpart one here
このテンプレートから設定オプションを選択するとき、次の情報を使用します
これはパラメータファイルがどのように見えるかです
[
{
"ParameterKey": "KeyPairName",
"ParameterValue": "{your-keypair-name}"
},
{
"ParameterKey": "PublicSubnet1ID",
"ParameterValue": "{public subnet 1}"
},
{
"ParameterKey": "PublicSubnet2ID",
"ParameterValue": "{public subnet 2}"
},
{
"ParameterKey": "VPCID",
"ParameterValue": "{vpc id}"
},
{
"ParameterKey": "RemoteAccessCIDR",
"ParameterValue": "{your CIDR}"
},
{
"ParameterKey":"EnableTCPForwarding",
"ParameterValue": "true"
}
]
このスタックを展開するには、次のコマンドを使用できます.aws cloudformation create-stack --stack-name {your-unique-stack-name} --template-body file://{name of the bastion template file} --parameters file://{name of your bastion parameters file} --capabilities CAPABILITY_IAM --region={region}
このコマンドを実行すると、次の出力が得られ、CloudFormationコンソールに行けばスタックを構築することがわかります.{
"StackId": "arn:aws:cloudformation:eu-west-1:xxxxxxxxxxxx:stack/mwaa-bastion-proxy/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
}
ホストホストのセキュリティグループの構成現在、ホストホストの設定と実行があります.あなたは、それがすべてOKであることを確認しなければなりません、そして、あなたが進む前にそれにSSHをすることができます.
配備されたホストホストは、現在MWAA環境にアクセスできません.アクセスを管理するセキュリティグループがあるためです.次のステップは、このベースホストをMWAAAセキュリティグループに追加し、HTTPSアクセスのみを有効にすることです.
mwaa環境を設定するとセキュリティグループが作成されました.変更する必要があるセキュリティグループを見つけるには、次のCLIコマンドを使用できます.
最初にあなたのMWAAA環境をリストします
aws mwaa list-environments --region={region}
これを実行すると、次のような出力が得られます.{
"Environments": [
"PrivateEnvironment",
"apache-airflow-aimlinnovate",
"apache-airflow-innovate",
"ricsue-dublin"
]
}
次に、セキュリティグループを取得したい環境名で次のコマンドを使用します.プライベート環境のためにこれをしています(上記の例で)このコマンドを実行します.aws mwaa get-environment --name {name of your MWAA Environment} | jq -r '.Environment | .NetworkConfiguration'
を指定します.このベースホストを追加する必要があるセキュリティグループの名前を見ることができます(これは必要なSecurityGroupidsだけです.{
"SecurityGroupIds": [
"sg-04aca4413364fexxx"
],
"SubnetIds": [
"subnet-0493dffd0282f4xxx",
"subnet-08f416023356ffxxx"
]
}
これで、HTTPSの新しいインバウンドルールを追加する必要があります.ソースは、セキュリティグループであり、CloudFormationスタックの一部として設定されています.この情報を取得するには、次のコマンドを使用して、スタック名をLinuxベースのインストール中に使用したものと置き換えます.aws cloudformation describe-stack-resources --stack-name {stack name} | grep sg
これは次の出力を作成します."PhysicalResourceId": "sg-0a9b0b33467820xxx",
を追加する必要があるグループです.SSHトンネルとプロキシ
したら、それは今あなたのSSHトンネルとブラウザのプロキシを設定する時間です.SSHトンネルをLinuxベースホストにオープンするには、以下のコマンドを使ってIP/DNS名とキーを自分で置き換えます.
ssh -i {key.pem} -N -D 8157 ec2-user@{bastion-host-ip}
このコマンドを実行すると、出力は表示されません.これはOKです(以前はssh接続を検証したと仮定しています).今では、ブラウザを設定するには、時間が実行されます.ブラウザプラグイン(foxyproxyのような)を使用していない場合は、多くのWebブラウザでは、コマンドラインまたは設定パラメータを介してプロキシを構成することができます.たとえば、クロムで次のコマンドでブラウザを起動できます
chromium --proxy-server="socks5://localhost:8157"
これで、SSHトンネルをプロキシに使用するブラウザセッションを開始します.プライベートMWAU URLを次のように開きます.https://{unique-id}-vpce.{region}.airflow.amazonaws.com/home.
(覚えておいてください.これで、コンソールにApache Airflow UIが表示されます.ブラウザのウィンドウでURLをチェックアウト-あなたはそれがプライベートなApacheのエアフロー環境であることがわかります.
FoxyProxyのようなブラウザプラグインを使用している場合は、同じプロセスに従ってください.単にポート8157のローカルSOCKS 5プロキシを設定し、一致するURLパターンを設定します.あなたがFoxyProxyを使用する場合は、私はあなたが使用できるサンプル設定ファイルを提供しているとしてrepoをチェックアウト-あなただけのファイルを編集し、VPCEのURLを含めるように更新する必要があります.
公共・民間の変化
いつでも、パブリックとプライベートの間で変更することができます.単にMWAaコンソールから、現在の環境を編集し、設定を変更します.また、CloudFormationスクリプトを使用してこれを行うことができ、AWS CloudFormation更新スタックコマンドを実行する前に値を変更できます.
結論
3番目のポストを終了する.私は将来の投稿をいくつかの他の方法では、将来的にVPNなどのプライベートインスタンスに接続することができますので、時計を保つを作成します.
次のポストでは、コマンドラインを介してMWAAAと対話できる方法を見て、Apache Airflowコマンドを参照してください.
あなたが見たい特定のコンテンツがある場合は、タッチで取得してください.
Reference
この問題について(Apache Airflow環境のためのアマゾン管理ワークフローへのアクセス), 我々は、より多くの情報をここで見つけました https://dev.to/aws/access-options-for-amazon-managed-workflows-for-apache-airflow-c67テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol