

# Configuración del acceso de red a los almacenes de datos


Para ejecutar sus trabajos de extracción, transformación y carga (ETL), AWS Glue debe tener la posibilidad de obtener acceso a los almacenes de datos. Si un trabajo no necesita ejecutarse en la subred de la nube privada virtual (VPC); por ejemplo, transformar datos de Amazon S3 a Amazon S3, no se necesita una configuración adicional.

Si un trabajo debe ejecutarse en la subred de VPC, por ejemplo, deben transformarse datos de un almacén de datos de JDBC en una subred privada, AWS Glue configura [interfaces de red elásticas](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) que permiten que sus trabajos se conecten de forma segura con otros recursos dentro de la VPC. A cada interfaz de red elástica se le asigna una dirección IP privada del intervalo de direcciones IP de la subred especificada. No se asignan direcciones IP públicas. Los grupos de seguridad especificados en la conexión AWS Glue se aplican en cada una de las interfaces de red elásticas. Para obtener más información, consulte [Configuración de Amazon VPC para conexiones JDBC a los almacenes de datos de Amazon RDS de AWS Glue](setup-vpc-for-glue-access.md). 

Todos los almacenes de datos JDBC a los obtiene acceso el flujo de trabajo deben estar disponibles a partir de la subred VPC. Para obtener acceso a Amazon S3 desde su VPC, se requiere un [punto de enlace de la VPC](vpc-endpoints-s3.md). Si su trabajo necesita obtener acceso a los recursos de la VPC y a la red pública de Internet, la VPC debe tener una gateway de NAT (traducción de direcciones de red) dentro de la VPC.

 Un flujo de trabajo o punto de enlace de desarrollo solo puede obtener acceso a una VPC (y subred) a la vez. Si necesita obtener acceso a almacenes de datos en diferentes VPC, dispone de las siguientes opciones: 
+ Utilice las interconexiones de la VPC para obtener acceso a los almacenes de datos. Para obtener más información acerca de las interconexiones de VPC, consulte [Conceptos básicos de las interconexiones de VPC](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html) 
+ Utilice un bucket de Amazon S3 como ubicación de almacenamiento intermediaria. Divida el flujo de trabajo en dos trabajos, con la salida de Amazon S3 del trabajo 1 como entrada del trabajo 2.

Para obtener más información sobre cómo conectarse a un almacén de datos de Amazon Redshift a través de Amazon VPC, consulte [Configuración de las conexiones de Redshift](aws-glue-programming-etl-connect-redshift-home.md#aws-glue-programming-etl-connect-redshift-configure).

Para obtener más información sobre cómo conectarse a los almacenes de datos de Amazon RDS a través de Amazon VPC, consulte [Configuración de Amazon VPC para conexiones JDBC a los almacenes de datos de Amazon RDS de AWS Glue](setup-vpc-for-glue-access.md).

Una vez establecidas las reglas necesarias en Amazon VPC, debe crear una conexión en AWS Glue con las propiedades necesarias para conectarse a sus almacenes de datos. Para obtener más información sobre la conexión, consulte [Conexión a datos](glue-connections.md).

**nota**  
Asegúrese de que configure su entorno de DNS para AWS Glue. Para obtener más información, consulte [Configuración de DNS en la VPC](set-up-vpc-dns.md). 

**Topics**
+ [

# Configuración de una VPC para conectarse a PyPI para AWS Glue
](setup-vpc-for-pypi.md)
+ [

# Configuración de DNS en la VPC
](set-up-vpc-dns.md)

# Configuración de una VPC para conectarse a PyPI para AWS Glue


El Python Package Index (PyPI) es un repositorio de software para el lenguaje de programación Python. En este tema se abordan los detalles necesarios para admitir el uso de paquetes instalados por pip (según lo especificado por el creador de la sesión mediante la marca `--additional-python-modules`).

El uso de sesiones AWS Glue interactivas con un conector implica el uso de la red de VPC a través de la subred especificada para el conector. Por lo tanto, los servicios de AWS y otros destinos de red no están disponibles a menos que se establezca una configuración especial.

Las soluciones a este problema incluyen:
+ Uso de una puerta de enlace de Internet a la que pueda acceder su sesión.
+ Configuración y uso de un bucket de S3 con un repositorio PyPI/Simple que contiene el cierre transitivo de las dependencias de un conjunto de paquetes.
+ Uso de un repositorio CodeArtifact que refleje PyPI y esté conectado a su VPC.

## Configuración de una puerta de enlace de Internet


Los aspectos técnicos se detallan en los [Casos de uso de la puerta de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-scenarios.html), pero tenga en cuenta estos requisitos al utilizar `--additional-python-modules`. En concreto, `--additional-python-modules` requiere acceso a pypi.org, que viene determinado por la configuración de su VPC. Tenga en cuenta los siguientes requisitos:

1. El requisito de instalar módulos de Python adicionales mediante pip install para la sesión de un usuario. Si la sesión usa un conector, su configuración puede verse afectada.

1. Cuando se utiliza un conector con `--additional-python-modules`, al iniciar la sesión, la subred asociada al `PhysicalConnectionRequirements` del conector debe proporcionar una ruta de red para llegar a pypi.org.

1. Debe determinar si su configuración es correcta o no.

## Configuración de un bucket de Amazon S3 para alojar un repositorio de PyPI/Simple de destino


En este ejemplo, se configura una réplica de PyPI en Amazon S3 para un conjunto de paquetes y sus dependencias.

Para configurar la réplica PyPI para un conjunto de paquetes:

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

Si ya tienes un repositorio de artefactos existente, tendrá una URL de índice para que pip la use y que podrás proporcionar en lugar de la URL de ejemplo para el bucket de Amazon S3, como se indica anteriormente.

Para usar la URL de índice personalizada, con algunos paquetes de ejemplo:

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

## Configuración de una réplica CodeArtifact de pypi conectada a su VPC


Para configurar un espejo:

1. Cree un repositorio en la misma región que la subred utilizada por el conector.

   Seleccione `Public upstream repositories` y elija `pypi-store`.

1. Proporcione acceso al repositorio desde la VPC de la subred.

1. Especifique la correcta `--index-url` mediante `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"
   }
   ```

Para obtener más información, consulte [Usar CodeArtifact desde una VPC](https://docs.aws.amazon.com/codeartifact/latest/ug/use-codeartifact-from-vpc.html).

# Configuración de DNS en la VPC


El sistema de nombres de dominio (DNS) es un estándar mediante el cual los nombres utilizados en Internet se resuelven a sus direcciones IP correspondientes. Un nombre de host de DNS designa a un equipo de forma exclusiva y se compone de un nombre de host y un nombre de dominio. Los servidores DNS resuelven los nombres de host DNS a sus direcciones IP correspondientes.

Para configurar DNS en la VPC, asegúrese de que tanto los nombres de host de DNS, como la resolución de DNS están habilitados en la VPC. Los atributos de red de VPC `enableDnsHostnames` y `enableDnsSupport` deben establecerse en `true`. Para ver y modificar estos atributos, vaya a la consola de la VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/). 

Para obtener más información, consulte [Utilización de DNS con su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). Además, puede utilizar AWS CLI y llamar al comando [modify-vpc-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-attribute.html) para configurar los atributos de red de VPC.

**nota**  
Si utiliza Route 53, confirme que la configuración no sustituye los atributos de red de DNS.