> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Cuotas y solución de problemas

> Por qué un lanzamiento falló, qué le dicen los dos campos de estado, los tres contadores que tiene una instancia a la vez y los rechazos que vale la pena reconocer.

<a id="desired-state-and-current-state" />

## 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](/es/compute/console) para investigar la causa, incluso si la recuperación automática ya lo ha devuelto a `running`.

<a id="what-each-failure-is-telling-you" />

## Lo que cada fracaso te está diciendo

<AccordionGroup>
  <Accordion title="current_state es un error justo después de crear" icon="triangle-alert">
    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](/es/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.

    | Código | Significado y recuperación |
    | - | - |
    | `PROVISION_START_FAILED` | La saga del aprovisionamiento no comenzó. Eliminar y crear de nuevo una vez que la causa se ha arreglado. Un reintento de inicio no borra esto. |
    | `BOOT_VOLUME_FAILED` | El disco de arranque no se construyó. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `DATA_VOLUME_FAILED` | No se ha adjuntado un volumen de datos durante el aprovisionamiento. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `NIC_PROVISION_FAILED` | No se ha aprovisionado una interfaz de red. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `PUBLIC_IP_FAILED` | No se ha asignado una dirección pública. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `SEED_ISO_FAILED` | La semilla de cloud-init no se ha creado. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `VMSPEC_PUBLISH_FAILED` | La especificación de la instancia no se publicó. Eliminar y crear de nuevo. Un reintento de inicio no borra esto. |
    | `START_FAILED` | Un inicio no alcanzó `running`. Vuelva a intentar iniciar o espere a que se reconcilian. |
    | `STOP_FAILED` | Una parada no alcanzó `stopped`. Vuelva a intentar detener o espere a que se concilie. |
    | `REBOOT_FAILED` | Un reinicio no se completó. Intente reiniciar o espere a que se reconcilia. |
    | `RECONCILE_FAILED` | El host no converge la generación actual. Una conciliación coincidente o un reintento de energía lo borra. |
    | `MIGRATION_FAILED` | Un movimiento en vivo no se completó. Esto es una `warning` — la instancia sigue sirviendo en su host de origen. |
    | `RESIZE_PENDING_RESTART` | El tipo de instancia creció, pero el huésped que corre mantiene su antiguo tamaño. Esto es una `warning` — detenga e inicie la instancia para aplicarlo. |
  </Accordion>

  <Accordion title="La instancia dice running pero no responde nada" icon="activity">
    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](/es/compute/console) — funciona en un invitado que nunca llegó a la red, que es precisamente el caso en el que SSH no puede diagnosticar.
  </Accordion>

  <Accordion title="Mi cloud-init nunca se ejecutó" icon="file-code">
    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.
  </Accordion>

  <Accordion title="No puedo iniciar sesión con SSH" icon="key-round">
    Para [IAM SSH](/es/compute/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.
  </Accordion>

  <Accordion title="El cambio de tamaño se rechaza con un error de capacidad" icon="cpu">
    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.
  </Accordion>

  <Accordion title="Un 409 en el inicio, parada o reinicio" icon="circle-x">
    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.
  </Accordion>

  <Accordion title="Una operación en una instancia responde 404 pero puedo verlo" icon="lock">
    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.
  </Accordion>
</AccordionGroup>

<a id="quotas" />

## 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.

<Warning>
  `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.
</Warning>

Las IP flotantes salen de la asignación `floating_ips` del servicio de red, que [las puertas de enlace NAT también utilizan](/es/networking/troubleshooting#quotas).

<a id="next" />

## Siguiente

<CardGroup cols={2}>
  <Card title="Acceso a consola" icon="terminal" href="/es/compute/console">
    Las tres formas de entrar, incluyendo la que funciona sin red.
  </Card>

  <Card title="Permisos" icon="key" href="/es/compute/permissions">
    Cuando el rechazo es un `403` en lugar de un error de estado.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.