Configurazione di un VPC per la connessione a PyPI per AWS Glue - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di un VPC per la connessione a PyPI per AWS Glue

Il Python Package Index (PyPI) è un repository di software per il linguaggio di programmazione Python. Questo argomento affronta i dettagli necessari per supportare l'utilizzo dei pacchetti pip installati (come specificato dal creatore della sessione utilizzando il flag --additional-python-modules).

L'utilizzo di sessioni interattive AWS Glue con un connettore comporta l'uso della rete VPC tramite la sottorete specificata per il connettore. Di conseguenza, i servizi AWS e le altre destinazioni di rete non sono disponibili a meno che non si utilizzi una configurazione speciale.

Le soluzioni a questo problema includono:

  • Utilizzo di un gateway Internet raggiungibile dalla sessione.

  • Configurazione e utilizzo di un bucket S3 con un repository PyPI/Simple contenente la chiusura transitiva delle dipendenze di un set di pacchetti.

  • Utilizzo di un repository CodeArtifact che esegue il mirroring di PyPI ed è collegato al VPC.

Impostazione di un gateway Internet

Gli aspetti tecnici sono descritti in dettaglio nei casi d'uso del gateway NAT, ma tieni presente questi requisiti per l'utilizzo di --additional-python-modules. In particolare, --additional-python-modules richiede l'accesso a pypi.org, che è determinato dalla configurazione del tuo VPC. Si notino i requisiti seguenti:

  1. Il requisito di installare moduli python aggiuntivi tramite pip install per la sessione di un utente. Se la sessione utilizza un connettore, la configurazione potrebbe risentirne.

  2. Quando viene utilizzato un connettore con --additional-python-modules, all'avvio della sessione la sottorete associata al connettore PhysicalConnectionRequirements deve fornire un percorso di rete per raggiungere pypi.org.

  3. È necessario determinare se la configurazione è corretta o meno.

Configurazione di un bucket Amazon S3 per ospitare un repository PyPI/Simple mirato

Questo esempio configura un mirror PyPI in Amazon S3 per un set di pacchetti e le relative dipendenze.

Per configurare il mirror PyPI per un set di pacchetti:

# 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/*

Se disponi già di un repository di artefatti esistente, esso avrà un URL di indice per l'utilizzo di pip che puoi fornire al posto dell'URL di esempio per il bucket Amazon S3 di cui sopra.

Per utilizzare l'index-url personalizzato, con alcuni pacchetti di esempio:

%%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" }

Configurazione di un mirror CodeArtifact di pypi collegato al VPC

Per configurare un mirror:

  1. Crea un repository nella stessa regione della sottorete usata dal connettore.

    Seleziona Public upstream repositories e scegli pypi-store.

  2. Fornisci l'accesso al repository dal VPC per la sottorete.

  3. Specifica il valore --index-url corretto utilizzando l'python-modules-installer-option.

    %%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" }

Per ulteriori informazioni, consulta la pagina Use CodeArtifact from a VPC.