Entorno de computación INVALID - AWS Batch

Entorno de computación INVALID

Es posible que haya configurado incorrectamente un entorno de computación gestionado. Si lo ha hecho, el entorno de computación entra en un estado INVALID y no puede aceptar trabajos para ubicarlos. En las siguientes secciones se describen las posibles causas y cómo solucionar los problemas en función de la causa.

Nombre de rol o ARN incorrectos

La causa más común por la que un entorno de computación entra en un estado INVALID es que el rol de servicio AWS Batch o el rol de Amazon EC2 de flota de spot tienen un nombre o un nombre de recurso de Amazon (ARN) incorrectos. Esto es más común en los entornos de computación que se crean con el AWS CLI o los AWS de SDK. Cuando crea un entorno de computación en AWS Management Console, AWS Batch ayuda a elegir el servicio o las funciones correctas de flota de spot. Sin embargo, supongamos que introduce manualmente el nombre o el ARN y los introduce de forma incorrecta. Luego, el entorno de computación resultante también es INVALID.

Sin embargo, supongamos que introduce manualmente el nombre o el ARN de un recurso de IAM en un comando de AWS CLI o en el código del SDK. En este caso, AWS Batch no puede validar la cadena. En su lugar, AWS Batch debe aceptar el valor incorrecto e intentar crear el entorno. Si AWS Batch intenta crear el entorno sin éxito, este pasará al estado INVALID y se mostrarán los siguientes errores.

Si se trata de un rol de servicio inválido:

CLIENT_ERROR - Not authorized to perform sts:AssumeRole (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: dc0e2d28-2e99-11e7-b372-7fcc6fb65fe7)

Si se trata de un rol de flota de spot no válido:

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

Una causa común de este problema es el siguiente escenario. Al utilizar el AWS CLI o los AWS de SDK, solo se especifica el nombre de un rol de IAM, en lugar del nombre de recursos de Amazon (ARN) completo. En función de cómo se haya creado el rol de servicio, el ARN puede contener un prefijo de ruta aws-service-role. Por ejemplo, si crea manualmente el rol de servicio de AWS Batch utilizando los procedimientos de Uso de roles vinculados a servicios para AWS Batch, el ARN del rol de servicio debería ser similar al siguiente.

arn:aws:iam::123456789012:role/AWSBatchServiceRole

Sin embargo, si creó el rol de servicio como parte del asistente de primera ejecución de la consola hoy, el ARN de su rol de servicio podría tener el siguiente aspecto.

arn:aws:iam::123456789012:role/aws-service-role/AWSBatchServiceRole

Este problema también puede producirse si asocia la política de nivel de servicio de AWS Batch (AWSBatchServiceRole) a un rol que no sea de servicio. Por ejemplo, es posible que reciba un mensaje de error similar al siguiente en este escenario:

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 este problema, siga uno de estos pasos.

  • Utilice una cadena vacía para el rol de servicio al crear el entorno de computación AWS Batch.

  • Especifique el rol de servicio en el siguiente formato: arn:aws:iam::account_number:role/aws-service-role/batch.amazonaws.com/AWSServiceRoleForBatch.

Al especificar solo el nombre de un rol de IAM al usar la AWS CLI o los SDK AWS, AWS Batch asume que el ARN no utiliza el prefijo de ruta aws-service-role. Por eso se recomienda especificar el ARN completo para los roles de IAM al crear entornos de computación.

Para reparar un entorno de computación configurado de forma incorrecta, consulte Reparar un entorno de computación de INVALID.

Reparar un entorno de computación de INVALID

Si el entorno de computación se encuentra en estado INVALID, actualícelo para reparar el parámetro no válido. Para un Nombre de rol o ARN incorrectos, actualice el entorno de computación con el rol de servicio correcto.

Para reparar un entorno de computación mal configurado
  1. Abra la consola AWS Batch en https://console.aws.amazon.com/batch/.

  2. En la barra de navegación, elija la Región de AWS a utilizar.

  3. En el panel de navegación, elija Entornos de computación.

  4. En la página Entornos de computación, marque el botón de opción que se encuentre junto al entorno de computación a editar y, a continuación, seleccione Editar.

  5. En la página Actualizar entornos de computación, en Rol de servicio, elija el rol de IAM a utilizar con su entorno de computación. La consola AWS Batch solo muestra roles con la relación de confianza adecuada para entornos de computación.

  6. Seleccione Guardar para actualizar el entorno de computación.