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.
Nome do perfil ou ARN incorreto
A causa mais comum para um ambiente de computação entrar em um estado INVALID
é que o perfil de serviço AWS Batch ou o perfil de frota spot do Amazon EC2 tem um nome ou nome do recurso da Amazon (ARN) incorreto. Isso é mais comum em ambientes de computação criados usando os SDKs AWS CLI ou os AWS SDKs. Quando você cria um ambiente computacional noAWS Management Console, AWS Batch ajuda você a escolher o serviço correto ou as perfis 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, AWS Batch não pode validar a string. Em vez disso, AWS Batch deve aceitar o valor ruim e tentar criar o ambiente. Após a falha do AWS Batch para criar o ambiente, o ambiente é movido para um estado INVALID
, 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 um perfil do IAM ao usar o AWS CLI ou os AWS SDKs, em vez do nome do recurso da Amazon (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 Usar perfis vinculados a serviço para o 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 nível de serviço do AWS Batch (AWSBatchServiceRole
) a um perfil 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 o perfil de serviço ao criar o ambiente de computação AWS Batch.
-
Especifique o perfil de serviço no seguinte formato:
arn:aws:iam::
.account_number
:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch
Quando você só especifica o nome do perfil do IAM ao usar a AWS CLI ou os SDKs de AWS, o AWS Batch presume que o ARN não usa o prefixo do caminho aws-service-role
. 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 console AWS Batch em https://console.aws.amazon.com/batch/
. -
Na barra de navegação, selecione Região da AWS a ser usada.
-
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.