Como soluciono o erro “VPC S3 endpoint validation failed for SubnetId” do AWS Glue?

5 minuto de leitura
0

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:

  1. Abra o console da Amazon VPC.
  2. No painel de navegação, selecione Endpoints.
  3. Escolha Criar endpoint.
  4. 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.
  5. Em VPC, selecione a VPC na qual você deseja criar o endpoint.
  6. Para Configurar tabelas de rotas, uma rota para o endpoint VPC do S3 é adicionada automaticamente.
  7. Em Política, deixe a opção padrão**Acesso total. **
  8. 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).

  1. Abra o console da Amazon VPC.
  2. No painel de navegação, escolha Gateways NAT.
  3. Escolha Criar gateway NAT.
  4. Em Nome, insira o nome do gateway que você deseja criar.
  5. Em Sub-rede, selecione uma sub-rede pública na VPC que você especificou na conexão do AWS Glue.
  6. Para o Tipo de conectividade, você pode deixar a opção padrão ** Pública ** para criar um gateway NAT público.
  7. 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:

  1. No painel de navegação, selecione Tabelas de rotas.
  2. Selecione a tabela de rotas associada à sub-rede que você deseja modificar.
  3. Selecione Ações e, em seguida, selecione Editar rotas.
  4. Na página Editar rotas, escolha ** Adicionar rota**.
  5. 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.
  6. 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

Endpoints do Amazon VPC para Amazon S3

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos