¿Por qué mi instancia de AWS OpsWorks Stacks no se inicia y se atasca en el estado “start_failed”?

Última actualización: 29/12/2021

Una de mis instancias de Amazon Elastic Compute Cloud (Amazon EC2) que administra AWS OpsWorks Stacks está atascada en el estado “start_failed”. ¿Por qué mi instancia de OpsWorks Stacks no adopta el estado “en línea” y cómo puedo solucionar el problema?

Descripción corta

Una instancia de OpsWorks Stacks puede adoptar el estado start_failed y no iniciarse durante un evento del ciclo de vida de la configuración por diversos motivos. No obstante, suele deberse a un problema de red.

Para solucionarlo, primero verifique si la instancia EC2 se puede conectar al servicio de OpsWorks Stacks. Si no hay ninguna conexión, consulte la sección Si la instancia EC2 no se puede conectar al servicio de OpsWorks Stacks de este artículo. Si hay una conexión, consulte la sección Si la instancia EC2 se puede conectar al servicio de OpsWorks Stacks de este artículo.

Nota: En el caso de las instancias atascadas en el estado setup_failed, consulte Why is my AWS OpsWorks Stacks instance not starting and stuck in the "setup_failed" state?.

Resolución

Comprobar si la instancia EC2 se puede conectar al servicio de OpsWorks Stacks

1.    Inicie sesión en la instancia de Amazon EC2.

2.    Envíe una solicitud de prueba al punto de conexión de OpsWorks asociado de la instancia mediante la ejecución del siguiente comando netcat (nc) y la interfaz de línea de comandos (CLI) de Linux:

Importante: Reemplace opsworks.us-east-1.amazonaws.com por el punto de conexión de OpsWorks Stacks que esté utilizando.

nc -vz opsworks.us-east-1.amazonaws.com 443

Si la instancia EC2 se puede conectar al servicio de OpsWorks Stacks, la salida del comando es similar a la siguiente:

Ncat: Connected to <ipaddress>

Nota: Si netcat no está instalado en la instancia EC2, instale manualmente el paquete netcat en la instancia mediante la ejecución del siguiente comando:

sudo yum install -y nc

Si la instancia EC2 no se puede conectar al servicio de OpsWorks Stacks

Si una gateway de NAT proporciona acceso a Internet a la instancia EC2

Siga las instrucciones descritas en ¿Por qué mis instancias EC2 no pueden acceder a Internet con una gateway de NAT?

Si una puerta de enlace de Internet proporciona acceso a Internet a la instancia EC2

Siga las instrucciones descritas en ¿Por qué motivo mi instancia EC2 no puede conectarse a Internet mediante una gateway de Internet?

Si una instancia NAT proporciona acceso a Internet a la instancia EC2

Abra la consola de EC2 y compruebe lo siguiente:

  • La instancia NAT se encuentra en estado de ejecución.
    Nota: Si la instancia NAT no está en estado de ejecución, cámbiela a dicho estado.
  • La instancia NAT está superando las comprobaciones de estado.
    Nota: Si la instancia NAT no está superando las comprobaciones de estado, haga lo siguiente: cree una nueva instancia NAT. A continuación, asocie la nueva instancia NAT a la instancia EC2 en la tabla de enrutamiento de la instancia NAT.
  • La instancia EC2 se encuentra en una instancia predeterminada de Amazon Virtual Private Cloud (Amazon VPC).
    Nota: Una instancia EC2 administrada por OpsWorks Stacks siempre adopta el estado start_failed si se inicia fuera de una instancia predeterminada de Amazon VPC.

Para obtener más información, consulte Ver comprobaciones de estado.

Si un punto de enlace de la VPC proporciona acceso a Internet a la instancia EC2

  • Compruebe que los puntos de enlace de la VPC son correctos y se puede acceder a ellos dentro de la instancia de Amazon VPC que está utilizando. Para ello, haga lo siguiente:
    Abra la consola de Amazon VPC.
    En el panel de navegación, en Virtual Private Cloud (Nube virtual privada), elija Endpoints (Puntos de conexión).
    A continuación, revise los puntos de enlace de la VPC asociados a la instancia EC2 para asegurarse de que son correctos y se puede acceder a ellos.
  • Compruebe que los puntos de enlace de la VPC pueden llevar a cabo las acciones necesarias de Amazon Simple Storage Service (Amazon S3).

Si la instancia EC2 se puede conectar al servicio de OpsWorks Stacks

Compruebe los permisos de IAM de la instancia EC2

Compruebe que exista un rol de AWS Identity and Access Management (IAM) para el perfil de instancias y que incluya todos los permisos necesarios.

Si no hay un rol de IAM para el perfil de instancias, haga lo siguiente:

1.    Detenga la instancia.

2.    Desconecte el rol del perfil de instancias de la instancia EC2 de la siguiente forma:
En la consola de EC2, elija Instances (Instancias). A continuación, seleccione la instancia EC2.
Elija la pestaña Actions (Acciones), elija Security (Seguridad) y, a continuación, elija Modify IAM role (Modificar rol de IAM).
Elija No IAM Role (Ningún rol de IAM). A continuación, seleccione Save (Guardar).

3.    Reemplace el perfil de instancias con la instancia EC2 existente.
De forma alternativa, realice lo siguiente:
Reemplace la instancia EC2 en OpsWorks Stacks.

Nota: Para obtener más información sobre cómo reemplazar una instancia EC2 en OpsWorks Stacks, consulte Adding an instance to a Layer.

En el caso de las instancias EC2 respaldadas por Amazon Elastic Block Store (Amazon EBS), compruebe que el volumen de dispositivo raíz de la instancia no esté lleno

Para obtener instrucciones, consulte Ver espacio libre en disco para Linux o Ver espacio libre en disco para Windows.

Compruebe que la instancia EC2 utiliza IMDSv1

Para comprobar el servicio de metadatos que usa la instancia y volver a configurarla si es necesario, consulte Configurar las opciones de metadatos de instancia.

Nota: OpsWorks Stacks solo admite la versión 1 del servicio de metadatos de instancias (IMDSv1), no IMDSv2.

En el caso de las instancias EC2 respaldadas por una AMI personalizada, compruebe que la AMI esté configurada correctamente

Para obtener más información, consulte Create a custom Linux Amazon Machine Image (AMI) from an AWS OpsWorks Stacks instance.

Compruebe que el agente de OpsWorks Stacks instalado en la instancia EC2 se esté ejecutando

1.    Inicie sesión en la instancia de Amazon EC2.

2.    Compruebe que el agente de OpsWorks Stacks instalado en la instancia EC2 se esté ejecutando; para ello, ejecute el siguiente comando en la CLI de Linux:

sudo service opsworks-agent status

Si el agente de OpsWorks Stacks se está ejecutando, la salida del comando es similar a la siguiente:

Active: active (running)

Si el agente de OpsWorks Stacks no se está ejecutando, la salida del comando es similar a la siguiente:

Active: inactive (dead)

Si el agente de OpsWorks Stacks no se está ejecutando, ejecute el siguiente comando para iniciarlo:

sudo service opsworks-agent start

Compruebe los registros de CloudTrail de la instancia EC2 en busca de errores “Client.UnauthorizedOperation”

Revise las llamadas a la API de la instancia de OpsWorks Stacks registradas en AWS CloudTrail. Busque eventos RunInstances de EC2 que hayan devuelto el siguiente mensaje de error: Client.UnauthorizedOperation.

Si el mensaje de error aparece en los registros de CloudTrail de la instancia, consulte el siguiente artículo: ¿Cómo resuelvo el mensaje de error de autorización codificada al intentar restaurar una instancia de Amazon EC2 con AWS Backup?

Si la instancia EC2 está asignada a más de una capa, asegúrese de que todas tengan la misma configuración de red

Para obtener más información, consulte Adding an instance to a layer.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?