

# Configurar o acesso de rede aos armazenamentos de dados
<a name="start-connecting"></a>

Para executar trabalhos de extração, transformação e carregamento (ETL), o AWS Glue precisa de acesso aos armazenamentos de dados. Se não for necessário executar um trabalho na sub-rede da sua nuvem privada virtual (VPC), por exemplo: transformação de dados do Amazon S3 para o Amazon S3, nenhuma configuração adicional será necessária.

Se for necessário executar um trabalho na sub-rede de sua VPC, por exemplo, transformar dados de um armazenamento de dados JDBC em uma sub-rede privada, o AWS Glue configurará [interfaces de rede elástica](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html) que permitem que os trabalhos se conectem com segurança a outros recursos dentro da sua VPC. Cada interface de rede elástica recebe um endereço IP privado do intervalo de endereços IP na sub-rede que você especificou. Nenhum endereço IP público atribuído. Grupos de segurança especificados na conexão do AWS Glue são aplicados a cada uma das interfaces de rede elásticas. Para obter mais informações, consulte [Configurar um Amazon VPC para conexões JDBC aos armazenamentos de dados do Amazon RDS desde o AWS Glue](setup-vpc-for-glue-access.md). 

Todos os armazenamentos de dados JDBC acessados pelo trabalho devem estar disponíveis na sub-rede da VPC. Para acessar o Amazon S3 na sua VPC, é necessário ter um [endpoint da VPC](vpc-endpoints-s3.md). Se o seu trabalho precisar acessar recursos da VPC e a Internet pública, a VPC precisará conter uma instância de gateway NAT (Network Address Translation).

 Um trabalho ou endpoint de desenvolvimento pode acessar somente uma VPC (e sub-rede) por vez. Se você precisar acessar armazenamentos de dados em várias VPCs, as opções são as seguintes: 
+ Use o emparelhamento de VPCs para acessar os armazenamentos de dados. Para obter mais informações sobre o emparelhamento de VPCs, consulte [Conceitos básicos sobre o emparelhamento de VPCs](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html) 
+ Use um bucket do Amazon S3 como um local de armazenamento intermediário. Divida o trabalho em dois, com a saída do Amazon S3 do trabalho 1 como a entrada do trabalho 2.

Para obter detalhes sobre como conectar a um armazenamento de dados do Amazon Redshift usando o Amazon VPC, consulte [Configurar conexões do Redshift](aws-glue-programming-etl-connect-redshift-home.md#aws-glue-programming-etl-connect-redshift-configure).

Para obter detalhes sobre como conectar a um armazenamento de dados do Amazon RDS usando o Amazon VPC, consulte [Configurar um Amazon VPC para conexões JDBC aos armazenamentos de dados do Amazon RDS desde o AWS Glue](setup-vpc-for-glue-access.md).

Depois que as regras necessárias são definidas no Amazon VPC, você cria uma conexão no AWS Glue com as propriedades necessárias para conectar com seus armazenamentos de dados. Para obter mais informações sobre a conexão, consulte [Conectar a dados](glue-connections.md).

**nota**  
Configure seu ambiente de DNS para o AWS Glue. Para obter mais informações, consulte [Configurar o DNS na VPC](set-up-vpc-dns.md). 

**Topics**
+ [

# Configurar uma VPC para se conectar ao PyPI para AWS Glue
](setup-vpc-for-pypi.md)
+ [

# Configurar o DNS na VPC
](set-up-vpc-dns.md)

# Configurar uma VPC para se conectar ao PyPI para AWS Glue
<a name="setup-vpc-for-pypi"></a>

O Python Package Index (PyPI) é um repositório de software para a linguagem de programação Python. Este tópico aborda os detalhes necessários para oferecer suporte ao uso de pacotes instalados pelo pip (conforme especificado pelo criador da sessão usando o sinalizador `--additional-python-modules`).

O uso de sessões interativas do AWS Glue com um conector resulta no uso da rede VPC por meio da sub-rede especificada para o conector. Consequentemente, os serviços do AWS e outros destinos de rede não estão disponíveis, a menos que você defina uma configuração especial.

As resoluções para esse problema incluem:
+ Uso de um gateway da internet que seja acessível por sua sessão.
+ Configuração e uso de um bucket S3 com um repositório PyPI/simple contendo o fechamento transitivo das dependências de um conjunto de pacotes.
+ Uso de um repositório CodeArtifact que está espelhando o PyPI e anexado à sua VPC.

## Configuração de um gateway da Internet
<a name="setup-vpc-for-pypi-internet-gateway"></a>

Os aspectos técnicos são detalhados em [Casos de uso do gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-scenarios.html), mas observe esses requisitos para usar o `--additional-python-modules`. Especificamente, o `--additional-python-modules` requer acesso ao pypi.org, que é determinado pela configuração da sua VPC. Observe os seguintes requisitos:

1. A exigência de instalar módulos adicionais do python via pip install para uma sessão do usuário. Se a sessão usar um conector, sua configuração poderá ser afetada.

1. Quando um conector está sendo usado com o `--additional-python-modules`, quando a sessão é iniciada, a sub-rede associada aos `PhysicalConnectionRequirements` do conector deve fornecer um caminho de rede para alcançar pypi.org.

1. Você deve determinar se sua configuração está correta ou não.

## Configurar um bucket do Amazon S3 para hospedar um repositório PyPI/simple de destino
<a name="setup-vpc-for-pypi-s3-bucket"></a>

Este exemplo configura um espelho PyPI no Amazon S3 para um conjunto de pacotes e suas dependências.

Para configurar o espelho PyPI para um conjunto de pacotes:

```
# 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 você já tiver um repositório de artefatos existente, ele terá um URL de índice para uso do pip que você pode fornecer no lugar do URL de exemplo para o bucket do Amazon S3, conforme descrito acima.

Para usar o index-url personalizado, com alguns pacotes de exemplo:

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

## Configurar um espelho CodeArtifact de pypi conectado à sua VPC
<a name="setup-vpc-for-pypi-code-artifact"></a>

Para configurar um espelho:

1. Crie um repositório na mesma região da sub-rede usada pelo conector.

   Selecione `Public upstream repositories` e escolha `pypi-store`.

1. Forneça acesso ao repositório da VPC para a sub-rede.

1. Especifique o `--index-url` correto usando o `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 obter mais informações, consulte [Use CodeArtifact from a VPC](https://docs.aws.amazon.com/codeartifact/latest/ug/use-codeartifact-from-vpc.html).

# Configurar o DNS na VPC
<a name="set-up-vpc-dns"></a>

Domain Name System (DNS) é um padrão por meio do qual os nomes usados na Internet são determinados de acordo com os endereços IP correspondentes. Um nome de host do DNS denomina exclusivamente um computador e consiste em um nome de host e em um nome de domínio. Os servidores DNS determinam os nomes do host DNS de acordo com os endereços IP correspondentes.

Para configurar o DNS na sua VPC, certifique-se de que os nomes de host do DNS e a resolução de DNS estão habilitados na VPC. Os atributos de rede `enableDnsHostnames` e `enableDnsSupport` da VPC precisam ser definidos como `true`. Para visualizar e modificar esses atributos, acesse o console da VPC em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/). 

Para obter mais informações, consulte [Como usar o DNS com sua VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). Além disso, é possível usar a AWS CLI e chamar o comando [modify-vpc-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-attribute.html) para configurar os atributos de rede da VPC.

**nota**  
Se você estiver usando o Route 53, confirme se a sua configuração não substitui os atributos de rede do DNS.