Ambiente de computação do INVALID - AWS Batch

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
  1. Abra o console AWS Batch em https://console.aws.amazon.com/batch/.

  2. Na barra de navegação, selecione Região da AWS a ser usada.

  3. No painel de navegação, escolha Ambientes de computação.

  4. 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.

  5. 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.

  6. Escolha Salvar para atualizar seu ambiente de computação.