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á.
Ambiente de computação do INVALID
É possível que você tenha configurado incorretamente um ambiente de computação gerenciado. Se você fez isso, o ambiente de computação entrará em um estado INVALID
e não poderá aceitar trabalhos para colocação. As seções a seguir descrevem as possíveis causas e como solucionar problemas com base na causa.
Importante
AWS Batch cria e gerencia vários AWS recursos em seu nome e dentro da sua conta, incluindo Amazon EC2 Launch Templates, Amazon EC2 Auto Scaling Groups, Amazon EC2 Spot Fleets e Amazon ECS Clusters. Esses recursos gerenciados são configurados especificamente para garantir a AWS Batch
operação ideal. A modificação manual desses recursos gerenciados em lote, a menos que seja explicitamente declarado na AWS Batch
documentação, pode resultar em comportamento inesperado, resultando em ambiente de INVALID
computação, comportamento de escalabilidade de instâncias abaixo do ideal, atraso no processamento da carga de trabalho ou custos inesperados. Essas modificações manuais não podem ser sustentadas de forma determinística pelo AWS Batch serviço. Sempre use o Batch compatível APIs ou o console Batch para gerenciar seus ambientes de computação.
Nome do perfil ou ARN incorreto
A causa mais comum de um ambiente computacional entrar em um INVALID
estado é que a função de AWS Batch serviço ou a função Amazon EC2 Spot Fleet tem um nome ou nome de recurso da Amazon (ARN) incorreto. Isso é mais comum em ambientes computacionais criados usando o AWS CLI ou o. AWS SDKs Quando você cria um ambiente computacional no AWS Management Console, AWS Batch ajuda você a escolher o serviço correto ou as funções do Spot Fleet. No entanto, suponha que você insira manualmente o nome ou o ARN e os insira incorretamente. Então, o ambiente de computação resultante também é INVALID
.
No entanto, suponha que você insira manualmente o nome ou o ARN de um recurso do IAM em um AWS CLI
comando ou no código do SDK. Nesse caso, não é AWS Batch possível validar a string. Em vez disso, AWS Batch
deve aceitar o valor ruim e tentar criar o ambiente. Se AWS Batch não conseguir criar o ambiente, o ambiente será movido para um INVALID
estado e você verá os seguintes erros.
Para um perfil de serviços inválida:
CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service:
AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID:
dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)
Para um perfil de Spot Fleet inválida:
CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid. (Service:
AmazonEC2; Status Code: 400; Error Code: InvalidSpotFleetRequestConfig; Request ID:
331205f0-5ae3-4cea-bac4-897769639f8d) Parameter: SpotFleetRequestConfig.IamFleetRole is
invalid
Uma causa comum para esse problema é o cenário a seguir. Você só especifica o nome de uma função do IAM ao usar o AWS CLI ou o AWS SDKs, em vez do Amazon Resource Name (ARN) completo. Dependendo de como você criou o perfil, o ARN poderá conter o prefixo de caminho aws-service-role
. Por exemplo, se você criar manualmente o perfil de serviço do AWS Batch
usando os procedimentos em Use funções vinculadas ao serviço para AWS Batch, o ARN do perfil de serviço deverá ser semelhante ao seguinte.
arn:aws:iam::123456789012
:role/AWSBatchServiceRole
No entanto, se você criar o perfil de serviço como parte da primeira execução do assistente do console hoje, o ARN do perfil de serviço terá a seguinte aparência.
arn:aws:iam::123456789012
:role/aws-service-role/AWSBatchServiceRole
Esse problema também pode ocorrer se você anexar a política de AWS Batch nível de serviço (AWSBatchServiceRole
) a uma função que não seja de serviço. Por exemplo, você pode receber uma mensagem de erro semelhante à seguinte neste cenário:
CLIENT_ERROR - User: arn:aws:sts::
account_number
:assumed-role/batch-replacement-role/aws-batch is not authorized to perform:action
on resource ...
Para resolver esse problema, execute um dos seguintes procedimentos:
-
Use uma string vazia para a função de serviço ao criar o ambiente AWS Batch computacional.
-
Especifique o perfil de serviço no seguinte formato:
arn:aws:iam::
.account_number
:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch
Quando você especifica apenas o nome de uma função do IAM ao usar o AWS CLI ou o AWS SDKs, AWS Batch presume que seu ARN não usa aws-service-role
o prefixo do caminho. Por isso, recomendamos que você especifique o ARN completo para seu perfil do IAM; ao criar ambientes de computação.
Para reparar um ambiente de computação que é configurado incorretamente dessa forma, consulte Reparar um ambiente de computação INVALID.
Reparar um ambiente de computação INVALID
Quando você tem um ambiente de computação em um estado INVALID
, deve atualizá-lo para reparar o parâmetro inválido. Para um Nome do perfil ou ARN incorreto, você pode atualizar o ambiente de computação com o perfil de serviço correto.
Para reparar um ambiente de computação configurado incorretamente
-
Abra o AWS Batch console em https://console.aws.amazon.com/batch/
. -
Na barra de navegação, selecione o Região da AWS a ser usado.
-
No painel de navegação, escolha Ambientes de computação.
-
Na página Ambientes de computação, selecione o botão próximo ao ambiente de computação a ser editado e, em seguida, escolha Edit.
-
Na página Atualizar ambiente de computação, para Perfil de serviço, escolha perfil do IAM a ser usado com seu ambiente de computação. O console AWS Batch exibe somente perfis que têm a relação de confiança correta para ambientes de computação.
-
Escolha Salvar para atualizar seu ambiente de computação.