Como soluciono o erro “VPC S3 endpoint validation failed for SubnetId” do AWS Glue?
Meu trabalho do AWS Glue apresenta falha com o erro “JobRunId:jr_xx failed to execute with exception VPC S3 endpoint validation failed for SubnetId. Reason: Could not find S3 endpoint or NAT gateway for subnetId”. -or- My AWS Glue Crawler fails with the error “VPC S3 endpoint validation failed for SubnetId. Reason: Could not find S3 endpoint or NAT gateway for subnetId”.
Breve descrição
Você recebe esse erro quando as condições a seguir são verdadeiras:
- Você está usando uma conexão do AWS Glue com seu trabalho do AWS Glue ou com o rastreador do AWS Glue.
- A sub-rede configurada para sua conexão com o AWS Glue não tem um endpoint de nuvem privada virtual (VPC) do Amazon Simple Storage Service (Amazon S3) ou um gateway NAT configurado.
O AWS Glue cria interfaces de rede elásticas na sub-rede especificada na conexão do AWS Glue. Essas interfaces de rede elásticas são usadas para se conectar às suas fontes de dados e ao Amazon S3. As interfaces de rede elástica recebem um endereço IP privado do intervalo de endereços IP dentro da sub-rede especificada. Como nenhum endereço IP público é usado, o AWS Glue não pode usar diretamente a Internet para se conectar às suas fontes de dados ou ao Amazon S3 em sua VPC. Para obter mais informações, consulte Como configurar o acesso de rede ao armazenamento de dados.
Solução
Certifique-se de que a sub-rede configurada para sua conexão com o AWS Glue tenha um endpoint de gateway da VPC do Amazon S3 ou uma rota para um gateway NAT na tabela de rotas da sub-rede. Para obter mais informações, acesse Error: Could Not Find S3 Endpoint or NAT Gateway for subnetId in VPC. Se sua tarefa do AWS Glue precisar acessar a Internet pública, verifique e confirme se a sub-rede está configurada com um gateway NAT.
Configurar um endpoint de gateway VPC para S3
Para configurar um endpoint de gateway VPC para S3, siga estas etapas:
- Abra o console da Amazon VPC.
- No painel de navegação, selecione Endpoints.
- Escolha Criar endpoint.
- Em Nome do serviço, selecione com.amazonaws.us-east-1.s3. Certifique-se de que a coluna Tipo indique Gateway.
Observação: substitua us-east-1 pela região da AWS de sua escolha. - Em VPC, selecione a VPC na qual você deseja criar o endpoint.
- Para Configurar tabelas de rotas, uma rota para o endpoint VPC do S3 é adicionada automaticamente.
- Em Política, deixe a opção padrão**Acesso total. **
- Escolha Criar endpoint.
Para obter mais informações, consulte Endpoints do gateway.
Se estiver configurando uma política mais restritiva, certifique-se de permitir que suas funções Identity and Access Management (IAM) do AWS Glue Job ou do crawler do AWS Glue tenham acesso aos buckets e objetos S3 necessários.
Como configurar um gateway NAT
Observação: criar um endereço de IP elástico é um pré-requisito para configurar um gateway NAT. Para obter mais informações sobre alocação, consulte Aloque um endereço de IP elástico.
Para configurar um gateway NAT, faça o seguinte:
Observação: certifique-se de que a VPC usada para a conexão do AWS Glue tenha pelo menos uma sub-rede pública. Para obter mais informações, consulte VPC com sub-redes públicas e privadas (NAT).
- Abra o console da Amazon VPC.
- No painel de navegação, escolha Gateways NAT.
- Escolha Criar gateway NAT.
- Em Nome, insira o nome do gateway que você deseja criar.
- Em Sub-rede, selecione uma sub-rede pública na VPC que você especificou na conexão do AWS Glue.
- Para o Tipo de conectividade, você pode deixar a opção padrão ** Pública ** para criar um gateway NAT público.
- Escolha Criar gateway NAT.
Depois de configurar o gateway, você deve fazer o seguinte:
- Modifique a tabela de rotas associada à sub-rede especificada na conexão do AWS Glue.
- Adicione uma rota ao gateway NAT que foi criado.
Para modificar a tabela de rotas e adicionar uma rota ao gateway NAT, faça o seguinte:
- No painel de navegação, selecione Tabelas de rotas.
- Selecione a tabela de rotas associada à sub-rede que você deseja modificar.
- Selecione Ações e, em seguida, selecione Editar rotas.
- Na página Editar rotas, escolha ** Adicionar rota**.
- Na nova rota exibida, faça o seguinte:
Em Destino, insira 0.0.0.0/0.
Em Target, selecione ** NAT Gateway** e , em seguida, selecione o gateway NAT que você criou. Observação: você deve selecionar essas opções para garantir que todo o tráfego da sub-rede, como tráfego vinculado à Internet, seja enviado ao gateway NAT. - Selecione Salvar alterações.
Depois de configurar o endpoint S3 VPC ou o gateway NAT em sua sub-rede, teste sua respectiva conexão com o AWS Glue. Execute novamente seu trabalho do AWS Glue ou o crawler do AWS Glue depois que a conexão de teste for bem-sucedida.
Informações relacionadas
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 3 anos