AWS Glue の PyPI に接続する VPC のセットアップ - AWS Glue

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

AWS Glue の PyPI に接続する VPC のセットアップ

Python Package Index (PyPI) は、Python プログラミング言語用のソフトウェアのリポジトリです。このトピックでは、(セッションの作成者が --additional-python-modules フラグを使用して指定した) pip インストールパッケージの使用をサポートするために必要な詳細について説明します。

コネクタで AWS Glue インタラクティブセッションを使用すると、コネクタに指定されたサブネット経由で VPC ネットワークが使用されます。そのため、特別な設定をセットアップしない限り、AWS サービスやその他のネットワーク送信先は使用できません。

この問題には、次のような解決策があります。

  • セッションからアクセス可能なインターネットゲートウェイの使用。

  • パッケージセットの依存関係の推移閉包を含む PyPI/simple リポジトリを使用した S3 バケットのセットアップと使用。

  • PyPI をミラーリングし、VPC にアタッチされている CodeArtifact リポジトリの使用。

インターネットゲートウェイをセットアップする

技術面については、「NAT ゲートウェイのユースケース」で詳しく説明していますが、--additional-python-modules を使用するには以下の要件に注意してください。具体的には、--additional-python-modules には、VPC の設定によって決まる pypi.org へのアクセス権が必要です。次の要件に注意してください。

  1. ユーザーのセッションに追加の Python モジュールを pip インストール経由でインストールする要件。セッションがコネクタを使用する場合、設定が影響を受ける可能性があります。

  2. --additional-python-modules でコネクタを使用している場合、セッションが開始されると、pypi.org に到達するためのネットワークパスがコネクタの PhysicalConnectionRequirements に関連付けられたサブネットで指定される必要があります。

  3. 設定が正しいかどうかを判断する必要があります。

ターゲット PyPI/simple リポジトリをホストする Amazon S3 バケットのセットアップ

この例では、Amazon S3 に一連のパッケージとその依存関係について PyPI のミラーリングをセットアップします。

一連のパッケージに PyPI のミラーリングを設定するには:

# pip download all the dependencies pip download -d s3pypi --only-binary :all: plotly gglplot pip download -d s3pypi --platform manylinux_2_17_x86_64 --only-binary :all: psycopg2-binary # create and upload the pypi/simple index and wheel files to the s3 bucket s3pypi -b test-domain-name --put-root-index -v s3pypi/*

既存のアーティファクトリポジトリがある場合は、pip 用のインデックス URL があります。これを、上記の Amazon S3 バケットのサンプル URL の代わりに指定できます。

カスタム index-url をいくつかのサンプルパッケージで使用するには:

%%configure { "--additional-python-modules": "psycopg2_binary==2.9.5", "python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com" }

VPC にアタッチされた PyPI の CodeArtifact ミラーリングのセットアップ

ミラーリングをセットアップするには:

  1. コネクタが使用するサブネットと同じリージョンにリポジトリを作成します。

    [Public upstream repositories]、[pypi-store] の順に選択します。

  2. サブネットの VPC からリポジトリにアクセスできるようにします。

  3. python-modules-installer-option を使用して正しい --index-url を指定します。

    %%configure { "--additional-python-modules": "psycopg2_binary==2.9.5", "python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com" }

詳細については、「VPC から CodeArtifact を使用する」を参照してください。