Perguntas frequentes sobre a API REST do Slurm no PCS AWS - AWS PCS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Perguntas frequentes sobre a API REST do Slurm no PCS AWS

Esta seção responde às perguntas mais frequentes sobre a API REST do Slurm no AWS PCS.

O que é a API REST do Slurm?

A API REST do Slurm é uma interface HTTP que permite interagir programaticamente com o gerenciador de carga de trabalho do Slurm. Você pode usar métodos HTTP padrão, como GET, POST e DELETE, para enviar trabalhos, monitorar o status do cluster e gerenciar recursos sem exigir acesso à linha de comando ao cluster.

Posso usar tokens gerados porscontrol token?

Não, a scontrol token saída padrão não é compatível com o AWS PCS. A API REST do PCS Slurm requer tokens JWT enriquecidos contendo declarações de identidade específicas que incluem nome de usuário (sun), ID de usuário POSIX () e grupo (uid). IDs gids Os tokens Standard Slurm não possuem essas reivindicações obrigatórias e serão rejeitados pela API.

Posso acessar a API de fora da minha VPC?

Não, o endpoint da API REST só pode ser acessado de dentro da sua VPC usando o endereço IP privado do controlador Slurm. Para habilitar o acesso externo, implemente AWS serviços como o Application Load Balancer com VPC Link, API Gateway ou estabeleça conexões VPN ou emparelhamento de VPC para conectividade segura.

Por que a API usa HTTP em vez de HTTPS?

A API REST do Slurm foi projetada para ser um endpoint interno na rede privada do seu cluster. Para implantações de produção que exigem criptografia, você pode implementar a SSL/TLS terminação em um nível mais alto em sua arquitetura, como por meio de um gateway de API, balanceador de carga ou proxy reverso.

Como faço para controlar o acesso à API REST?

Configure as regras do grupo de segurança do seu cluster para restringir o acesso à porta 6820 no controlador Slurm. Defina regras de entrada para permitir conexões somente de intervalos de IP confiáveis ou fontes específicas em sua VPC, bloqueando o acesso não autorizado ao endpoint da API.

Como faço para girar a chave de assinatura do JWT?

Coloque seu cluster em modo de manutenção sem instâncias ativas e, em seguida, inicie a rotação de chaves por meio do AWS Secrets Manager. Depois que a rotação for concluída, reative as filas. Todos os tokens JWT existentes se tornarão inválidos e deverão ser regenerados usando a nova chave de assinatura do Secrets Manager.

Preciso habilitar a contabilidade do Slurm para usar a API REST?

Não, a contabilidade do Slurm não é necessária para operações básicas da API REST, como envio e monitoramento de trabalhos. No entanto, todo o /slurmdb endpoint exige que a contabilidade esteja ativa.

Quais ferramentas de terceiros funcionam com a API REST do AWS PCS?

Muitos clientes existentes da API REST do Slurm devem trabalhar com AWS PCS, incluindo o Slurm Exporter for Prometheus, e aplicativos personalizados que sigam o formato padrão da API REST do Slurm. SlurmWeb No entanto, as ferramentas que dependem scontrol token da autenticação precisarão ser modificadas para funcionar com os requisitos do AWS PCS JWT.

Há algum custo adicional para usar a API REST?

Não, não há cobranças adicionais para ativar ou usar o recurso da API REST do Slurm. Você paga apenas pelos recursos do cluster subjacente, como de costume.

Como posso solucionar problemas com a API REST?
  • Problemas de conectividade de rede

    Se você não conseguir acessar o endpoint da API, verá tempos limite de conexão ou erros de “conexão recusada” ao fazer solicitações HTTP ao controlador de cluster.

    O que fazer: verifique se seu cliente está na mesma VPC ou tem roteamento de rede adequado e confirme se seu grupo de segurança permite tráfego HTTP na porta 6820 do seu IP ou sub-rede de origem.

  • Problemas de autenticação REST do Slurm

    Se seu token JWT for inválido, expirado ou assinado incorretamente, as solicitações de API retornarão “Erro de autenticação de protocolo” no campo de erros da resposta.

    Exemplo de mensagem de erro:

    { "errors": [ { "description": "Batch job submission failed", "error_number": 1007, "error": "Protocol authentication error", "source": "slurm_submit_batch_job()" } ] }

    O que fazer: verifique se seu token JWT está formatado corretamente, não está expirado e assinado com a chave correta do Secrets Manager. Verifique se o token está formado corretamente e inclui as declarações necessárias e se você está usando o formato correto do cabeçalho de autenticação.

  • Falha na execução do trabalho após o envio

    Se seu token JWT for válido, mas contiver conteúdo ou estrutura interna incorretos, os trabalhos podem ter entrado no estado paused (PD) com o código do motivo. JobAdminHead Use scontrol show job <job-id> para inspecionar o trabalho — você verá JobState=PENDING, Reason=JobHeldAdmin e. SystemComment=slurm_cred_create failure, holding job

    O que fazer: a causa raiz pode ser valores errados no JWT. Verifique se o token está estruturado adequadamente e inclui as declarações necessárias de acordo com a documentação do PCS.

  • Problemas de permissão do diretório de trabalho

    Se a identidade do usuário especificada em seu JWT não tiver permissões de gravação no diretório de trabalho do trabalho, o trabalho falhará com erros de permissão, semelhantes ao uso sbatch --chdir com um diretório inacessível.

    O que fazer: certifique-se de que o usuário especificado em seu token JWT tenha as permissões apropriadas para o diretório de trabalho do trabalho.

  • Ainda está com problemas?

    1. Verifique a documentação do SchedMD sobre a especificação da API REST.

    2. Verifique os registros do controlador Slurm para obter informações mais detalhadas sobre erros (consulte Logs do agendador no AWS PCS para obter mais detalhes).