

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`
<a name="invalid_compute_environment"></a>

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
<a name="invalid_service_role_arn"></a>

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](using-service-linked-roles.md), 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`](#repairing_invalid_compute_environment).

## Reparación de un entorno de computación de `INVALID`
<a name="repairing_invalid_compute_environment"></a>

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](#invalid_service_role_arn), 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/](https://console.aws.amazon.com/batch/)

1. En la barra de navegación, seleccione la Región de AWS que desee utilizar.

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

1. 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**.

1. 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](using-service-linked-roles-batch-general.md).

1. Seleccione **Guardar** para actualizar el entorno de computación.