

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
<a name="slurm-rest-api-faq"></a>

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 por`scontrol 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. Após a conclusão da rotação, 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.