Skip to main content

Estado deseado y estado actual

Lee current_state para ver dónde está la instancia. desired_state registra lo que usted ha pedido: running, stopped o deleted. Mientras una petición se está aplicando, los dos pueden diferir: un stop establece desired_state=stopped y current_state=stopping hasta que el huésped se apaga. current_state también reporta las condiciones observadas en el huésped:
  • crashed: el invitado se estrelló. Si aún se desea ejecutar, la recuperación automática intenta un reinicio, como máximo una vez cada 60 segundos. El bloqueo se informa antes de la recuperación, por lo que este estado puede ser breve.
  • paused: la ejecución del invitado está en pausa.
  • suspended: el invitado entró en suspensión de administración de energía.
Los invitados pausados y suspendidos no se reinician automáticamente. Puedes detener una instancia bloqueada, en pausa o suspendida y, a continuación, volver a iniciarla. Al detener también se cancela la recuperación automática de fallos. Para un huésped que se ha bloqueado, lea la salida de consola para investigar la causa, incluso si la recuperación automática ya lo ha devuelto a running.

Lo que cada fracaso te está diciendo

Lee faults. Cada entrada lleva un code, una severity, un message y details del paso que falló. Puede haber más de un código activo a la vez. Vea Resource faults para el array en sí.POST /v1/instances/{instance_id}/start acepta una instancia en error, por lo que un error que ocurrió mientras el invitado estaba llegando puede ser reintentado sin recrear nada. Un reintento de inicio resuelve START_FAILED y LEGACY_FAILURE_STATE solamente. No borra los códigos de propiedad de aprovisionamiento.No reconstruye lo que nunca se construyó. Un fallo anterior a eso —el volumen de arranque o las interfaces— no deja nada para un inicio, y la instancia se elimina y se crea de nuevo una vez que se soluciona la causa. Las causas habituales están en la solicitud: una subred que no enruta a una puerta de enlace de Internet mientras una NIC solicita una dirección pública, un documento user_data que no es YAML válido, o un tamaño de arranque por debajo del piso de la imagen.
Compruebe current_state. Un huésped running puede tener un problema de red o de configuración de huésped; running no significa que SSH esté listo.Lea la siguiente console output — funciona en un invitado que nunca llegó a la red, que es precisamente el caso en el que SSH no puede diagnosticar.
Dos causas, ambas silenciosas.Tu user_data tiene que decodificarse a un documento que comienza con #cloud-config. Un script de shell no se fusiona y no se ejecuta — ponga los comandos en runcmd.Los valores de cloud-init de nivel superior reemplazan los valores base. Comprueba los registros de init de tu documento y del invitado cuando un comando personalizado falla.
Para IAM SSH, usa el nombre de usuario de Linux de tu perfil o cuenta de servicio. Compruebe su clave pública, el rol de cuenta actual y el permiso de inicio de sesión, y que IAM SSH esté habilitado en el invitado.Compruebe que el grupo de seguridad de la NIC admite su fuente en el puerto 22. Confirme la dirección de GET /v1/instances/{instance_id}/nics: inspeccione las addresses de cada NIC y el floating_ips anidado. El objeto de instancia no tiene campos de resumen de IP.
Una instancia no mueve hosts cuando cambia de tamaño, por lo que el crecimiento tiene que caber donde ya está. Un tipo de instancia dedicated necesita hilos libres enteros, no solo un host con poca suscripción.La solución es lanzar una nueva instancia en la versión de destino (el programador puede colocarla en cualquier lugar) y mover la carga de trabajo, o reinstalar en una instancia nueva y volver a conectar los volúmenes de datos.
Cada acción acepta un conjunto limitado de estados: start necesita stopped o error; stop acepta running, crashed, paused o suspended; reboot necesita running; resize y reinstall necesitan stopped. Cualquier cosa en medio de la transición — pending, building, stopping, rebooting, deleting — es rechazada hasta que se asiente. Sonda current_state y vuelve a intentarlo.
Marque managed_by. Una instancia propiedad de un balanceador de carga o un clúster de base de datos es de solo lectura a través de esta API, y cada mutación responde 404 en lugar de 403 — la superficie del cliente no admite que sea procesable.Un 403 es el otro caso, y uno diferente: la instancia es tuya y la comprobación de IAM en esa acción específica falló. Las acciones son por operación, por lo que un principal puede leer una instancia y aún así no se le permite detenerla.

Cuotas

Una instancia tiene tres contadores regionales a la vez, todos reservados juntos en crear y liberados en eliminar: instances, vcpus y ram_mb. Es por eso que un pequeño límite de instances no es la historia completa — un puñado de grandes tipos de instancia pueden agotar vcpus primero. volumes_per_instance limita el disco de arranque más todos los volúmenes de datos en una instancia, y se comprueba antes de que exista la fila de instancia, por lo que excederlo es un 4xx simple en lugar de una instancia que provee parcialmente y se estaciona en error. Las IP flotantes salen de floating_ips del servicio de red.
instances es raramente el límite que alcanzas primero. Tres contadores se reservan juntos en crear y se liberan juntos en borrar, por lo que un puñado de tipos de instancia grandes agota vcpus o ram_mb mientras que el recuento de instancias todavía se ve cómodo. Un rechazo de cuota nombra lo que uno se quedó sin — léelo en lugar de asumir.
Las IP flotantes salen de la asignación floating_ips del servicio de red, que las puertas de enlace NAT también utilizan.

Siguiente

Acceso a consola

Las tres formas de entrar, incluyendo la que funciona sin red.

Permisos

Cuando el rechazo es un 403 en lugar de un error de estado.