Apache Airflow環境のためのアマゾン管理ワークフローへのアクセス



上位のオンラインイベントをサポートするために一連のポストの一部は、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
  • による単純なAI/MLパイプラインの自動化
    このポストでは、PART 3をカバーします.どのようにしてApache Airflow環境にアクセスしてアクセスできますか.具体的にはいくつかをカバーします.
  • プライベートおよびパブリックMWAA環境がどのように異なり、プライベートコンフィギュレーションにアクセスする方法に関するいくつかのオプション
  • 個人のMWAA環境
  • にアクセスする1つのアプローチのチュートリアル
    何が必要
  • AWSアカウントは、特権242479182の正しいレベルを持っています
  • AWS CLIツールが設定され、
  • を実行している環境
    Apache Airflowのための管理されたワークフローが支持されるAWS地域への
  • へのアクセスは、
  • に支持されます
  • Apache AirflowのためのAmazon管理ワークフローの環境は既に設定されています.
  • パブリックVSプライベートMWAA環境
    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インスタンスにアクセスしますか?
    あなたとあなたの組織の設定/標準のいずれかが適していることを指示する可能性のあるオプションの数があります.以下にいくつかのアプローチを示します.
  • あなたの組織ネットワーク統合を通してのVPCへのアクセスを構成すること-一般的にサイトからサイトVPN
  • のような何かを経て
  • OpenVPN
  • のようなクライアントVPNソリューションを構成する
    ベースホストを経たアクセスを提供して、SSHトンネリングとともにクライアント側プロキシ解決を使用する

  • 私はここで最後のオプションをカバーし、将来の投稿で他の人をカバーすることを望む.
    ベースホストとクライアントプロキシを介したプライベートインスタンスへのアクセス
    次の手順を実行する必要があります.
  • AWSキーペア( MWAA環境を設定しているのと同じ領域にあることを確認します)
  • ssh -ローカルセットアップ
  • にSSHトンネルを作成します.
  • (オプション) FoxyProxyのようなブラウザプロキシプラグインを使うことができますが、これは必要ありませんが、おそらくあなたの人生を容易にするでしょう
  • まず最初に、ホストホストを配備することです.このため、AWAYクイックスタートを使用すると、これはMWAaに別のコンポーネントとして区別できます.クイックスタートリンクMonitoring and loggingを見つけることができます.
    テンプレートをダウンロードした後、コンソールを使用してこのスタックを作成するか、必要に応じてパラメータファイルを作成します.私はサンプルパラメータファイルだけでなく、私はpart one here
    このテンプレートから設定オプションを選択するとき、次の情報を使用します
  • VPC/IDとパブリックサブネット1および2 -これらの設定をMWAAA環境と同じように設定します.
  • 許可されたCIDR範囲のための
  • 、あなたのクライアントのための狭い/特定のアドレスを選んでください.私がこれをしたとき、私は54.240.197であった私自身の外部IPを使用しました.XXX/32ですが、あなたのものは異なります.あなたがこの広いオープンを残したいならば、あなたは0.0.0.0/0を使うことができます、しかし、私はそれを推薦しません.
  • プルダウンからの
  • は、あなたがベースホスト
  • に接続するのに使用するAWSキーペアを選択します
  • はTCP推進をtrue
  • に変えます
    これはパラメータファイルがどのように見えるかです
    [
        {
          "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コマンドを参照してください.
    あなたが見たい特定のコンテンツがある場合は、タッチで取得してください.