Ir para o conteúdo

Como soluciono problemas de conectividade com o JupyterLab e o Editor de Código quando uso o SageMaker Studio no modo VPC only?

6 minuto de leitura
0

Quando uso meu ambiente do Amazon SageMaker Studio no modo VPC only, tenho problemas de conectividade com meus espaços do JupyterLab e do Editor de Código.

Breve descrição

Se você não configurar corretamente sua nuvem privada virtual (VPC), os seguintes problemas poderão ocorrer no SageMaker Studio:

  • A tela de carregamento do espaço não responde e você recebe uma mensagem de erro no Amazon CloudWatch Logs semelhante a "Connect timeout on endpoint URL: 'https://api.sagemaker.us-east-1.amazonaws.com/'".
  • Falha ao carregar a aplicação JupyterLab ou Editor de Código.
  • Não há conectividade com a internet e, consequentemente, os comandos expiram.
  • As extensões do JupyterLab ou do Editor de Código não funcionam conforme o esperado.

Resolução

Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Configure os grupos de segurança do SageMaker Studio

O SageMaker Studio não exige regras de porta específicas para a funcionalidade básica, mas você deve adicionar uma regra para o tráfego de saída do Amazon SageMaker AI. Por padrão, o SageMaker AI usa HTTPS (porta 443) para comunicações de API.

Para adicionar uma regra para o tráfego de saída do SageMaker Studio às APIs da AWS, conclua as seguintes etapas:

  1. Abra o console da Amazon Virtual Private Cloud (Amazon VPC).
  2. No painel de navegação, clique em Grupos de segurança.
  3. Selecione o grupo de segurança anexado ao seu domínio.
  4. Clique em Ações e, em seguida, Editar regras de saída.
  5. Selecione Adicionar regra.
    Em Tipo, clique em HTTPS.
    Em Destino, insira 0.0.0.0.
  6. Selecione Salvar regras.

Talvez você precise de portas e regras adicionais com base nos recursos que deseja acessar do SageMaker Studio. Por exemplo, seu grupo de segurança deve permitir conexões de entrada e saída na porta 2049 para que o protocolo Network File System (NFS) use os seguintes recursos:

Ao acessar recursos em sua VPC a partir do caderno do SageMaker Studio, o tráfego da conta de serviço passa pela sua interface de rede elástica. Todos os aplicativos criados em seu domínio existem na VPC da sua conta de serviço do SageMaker AI. Os aplicativos comunicam-se entre si por meio das interfaces de rede que você conecta à sua VPC. Os aplicativos fazem parte da conta de serviço de domínio do SageMaker Studio, mas são executados em diferentes instâncias do Amazon Elastic Compute Cloud (Amazon EC2).

Para atualizar as configurações DefaultUserSettings e DefaultSpaceSettings do seu domínio do SageMaker Studio para usar o novo grupo de segurança, execute o comando update-domain da AWS CLI:

aws sagemaker update-domain --domain-id d-12345abcde \
--default-user-settings '{
    "SecurityGroups": ["sg-0000"]
  }' \
--default-space-settings '{
    "ExecutionRole": "arn:aws:iam::111111111:role/SageMakerRole",
    "SecurityGroups": ["sg-0000"]
  }'

Observação: antes de executar o comando anterior, você deve excluir todos os aplicativos com status InService dos seus perfis de usuário.

Em seguida, recrie o domínio que está anexado aos grupos de segurança necessários. A saída do parâmetro SecurityGroups lista todos os grupos de segurança da VPC que o SageMaker Studio usa para comunicação.

Para confirmar que seu grupo de segurança foi atualizado, execute o comando describe-domain:

aws sagemaker describe-domain --domain-id d-12345abcde

Em seguida, execute o SageMaker Studio e confirme se as aplicações estão funcionando corretamente. Para testar a conectividade com a internet, execute o seguinte comando em uma célula de caderno:

!curl amazon.com

Para obter mais informações, consulte Conectar os cadernos do Studio em uma VPC para recursos externos.

Verifique se sua sub-rede tem os endpoints da VPC corretos

Se seus recursos do SageMaker Studio não precisarem de acesso à internet, você não precisará adicionar um gateway NAT. No entanto, um caderno do Studio requer os seguintes endpoints para executar e realizar operações básicas:

  • API do SageMaker: com.amazonaws.your-aws-region.sagemaker.api
  • Runtime do SageMaker: com.amazonaws.your-aws-region.sagemaker.runtime

Observação: substitua your-aws-region pela sua região da AWS.

Para acessar o Amazon Simple Storage Service (Amazon S3) e os modelos do Amazon SageMaker Projects, crie os seguintes endpoints:

  • No Amazon S3: com.amazonaws.your-aws-region.s3
  • Em modelos do SageMaker Project: com.amazonaws.your-aws-region.servicecatalog

Observação: substitua your-aws-region pela sua região.

Para associar os grupos de segurança aos endpoints da VPC, conclua as seguintes etapas:

  1. Abra o console da Amazon VPC.
  2. No painel de navegação, clique em Endpoints.
  3. Selecione o endpoint que deseja atualizar.
  4. Clique em Ações e, em seguida, em Gerenciar grupos de segurança.
  5. Selecione o grupo de segurança.
  6. Clique em Salvar.

Para obter mais informações, consulte Dê às tarefas de treinamento de SageMaker IA acesso aos recursos em sua Amazon VPC e Comunicação da VPC only com a internet.

Conecte seu domínio a uma sub-rede privada e a um gateway NAT ativo

Quando seus recursos do SageMaker Studio precisarem de acesso à internet, configure seu domínio para se conectar a sub-redes privadas. Em seguida, crie um gateway NAT e permita que o tráfego do gateway NAT passe pela tabela de rotas da sua sub-rede privada. Para obter mais informações, consulte Como configurar um gateway NAT público para acessar a internet a partir de uma sub-rede privada na Amazon VPC?

Observação: o domínio do SageMaker Studio que está conectado a uma sub-rede pública não permite que você se conecte à internet.

Confirmar se a VPC atende aos requisitos

Se você executar seu SageMaker Studio no modo VPC only, sua VPC deve atender aos seguintes requisitos:

  • As sub-redes devem ter endereços IP disponíveis suficientes para a instância.
  • Se você usa um endpoint da VPC para executar as APIs do SageMaker, defina Ativar nomes de host DNS e Ativar suporte DNS como true em sua VPC. Sua VPC exige que os atributos se conectem ao endpoint da API do SageMaker AI quando você usa os recursos do SageMaker AI.

Solucione problemas de configuração

Se você ainda tiver problemas depois de atualizar a configuração da VPC, reinicie sua aplicação.

Se você configurou os usuários do SageMaker Studio com um perfil de execução diferente, poderão ocorrer problemas de conectividade.

Certifique-se de que as permissões do perfil de execução do usuário incluam as políticas necessárias para permitir que o perfil execute as seguintes ações:

  • CreateNetworkInterface
  • CreatePresignedDomainUrl
  • CreateSpace
  • CreateApp
  • DescribeApp