View a markdown version of this page

Entorno de computación de INVALID - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Entorno de computación de 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.

importante

AWS Batch crea y administra varios AWS recursos en su nombre y dentro de su cuenta, incluidas las plantillas de lanzamiento de Amazon EC2, los grupos de Auto Scaling de Amazon EC2, las flotas puntuales de Amazon EC2 y los clústeres de Amazon ECS. Estos recursos administrados están configurados específicamente para garantizar un funcionamiento óptimo de AWS Batch . La modificación manual de estos Batch-managed recursos, a menos que se indique de forma explícita en la AWS Batch documentación, puede provocar un comportamiento inesperado que provoque un entorno de INVALID cómputo, un comportamiento de escalado de instancias subóptimo, un retraso en el procesamiento de la carga de trabajo o costes inesperados. El servicio no puede respaldar estas modificaciones manuales de forma determinista. AWS Batch Utilice siempre las API de Batch compatibles o la consola de Batch para administrar los entornos de computación.

Nombre de rol o ARN incorrectos

La causa más común por la que un entorno informático entra en un INVALID estado es que el rol de AWS Batch servicio o el rol de Amazon EC2 Spot Fleet tienen un nombre o un nombre de recurso de Amazon (ARN) incorrectos. Esto es más común en los entornos informáticos que se crean con el AWS CLI o los AWS SDK. Cuando crea un entorno informático en Consola de administración de AWS, le AWS Batch ayuda a elegir el servicio o las funciones correctas de Spot Fleet. 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, no AWS Batch se puede validar la cadena. En su lugar, AWS Batch debe aceptar el valor incorrecto e intentar crear el entorno. Si AWS Batch no se crea el entorno, el entorno pasa a un INVALID estado y aparecen 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. Solo se especifica el nombre de una función de IAM cuando se utilizan el AWS CLI o los AWS SDK, en lugar del nombre completo del recurso de Amazon (ARN). 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 Utilizar funciones vinculadas al servicio 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 adjuntas la política de AWS Batch nivel de servicio (AWSBatchServiceRole) a una función 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 la función de servicio al crear el AWS Batch entorno de procesamiento.

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

Si solo especificas el nombre de una función de IAM al usar el AWS CLI o los AWS SDK, se AWS Batch supone que tu ARN no usa 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 Reparación de un entorno de computación de INVALID.

Reparación de 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. Abre la consola en. AWS Batch https://console.aws.amazon.com/batch/

  2. En la barra de navegación, seleccione la Región de AWS que desee 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.

    sugerencia

    Para obtener instrucciones sobre cómo crear un rol vinculado al servicio, consulte Uso de roles para AWS Batch.

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