

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.

# Guía de depuración y solución de problemas
<a name="troubleshoot"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Si necesita depurar una receta o solucionar un problema de servicio, el mejor enfoque, por lo general, suele ser realizar los siguientes pasos para:

1. Comprobar [Depuración y resolución de problemas comunes](common-issues.md) el problema concreto.

1. Realizar búsquedas en el [foro de OpsWorks Stacks](https://forums.aws.amazon.com/forum.jspa?forumID=153#) para ver si el problema ya se ha tratado.

   El foro incluye a muchos usuarios experimentados y es supervisado por el equipo de OpsWorks Stacks.

1. Si tiene problemas con las recetas, consulte [Depuración de recetas](troubleshoot-debug.md). 

1. Ponte en contacto con el equipo de soporte de OpsWorks Stacks o publica tu problema en el foro de [OpsWorks Stacks](https://forums.aws.amazon.com/forum.jspa?forumID=153#).

La siguiente sección ofrece orientación si tuviera que depurar recetas. La última sección describe los problemas de depuración y solución de problemas comunes y sus soluciones.

**nota**  
Cada ejecución de Chef genera un registro que ofrece una descripción detallada de la ejecución y que constituye un valioso recurso para la solución de problemas. Para especificar el grado de detalle del registro, añada una declaración [https://docs.chef.io/resource_log.html](https://docs.chef.io/resource_log.html) a una receta personalizada que especifique el nivel de registro deseado. El valor predeterminado es `:info`. El siguiente ejemplo muestra cómo definir el nivel de registro de Chef en `:debug`, lo que proporciona la descripción más detallada de la ejecución.   

```
Chef::Log.level = :debug
```
Para obtener más información sobre cómo consultar e interpretar los registros de Chef, consulte [Registros de Chef](troubleshoot-debug-log.md).

**Topics**
+ [Depuración de recetas](troubleshoot-debug.md)
+ [Depuración y resolución de problemas comunes](common-issues.md)

# Depuración de recetas
<a name="troubleshoot-debug"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Cuando se produce un evento del ciclo de vida o si [ejecuta el comando de pila Execute Recipes](workingstacks-commands.md), OpsWorks Stacks envía un comando al [agente](troubleshoot-debug-cli.md) para que inicie una [ejecución de Chef Solo](https://docs.chef.io/ctl_chef_solo.html) en las instancias especificadas para ejecutar las recetas adecuadas, incluidas las recetas personalizadas. Esta sección describe diferentes maneras de depurar las recetas erróneas.

**Topics**
+ [Inicio de sesión en una instancia que presenta errores](troubleshoot-debug-login.md)
+ [Registros de Chef](troubleshoot-debug-log.md)
+ [Uso de la CLI OpsWorks de Stacks Agent](troubleshoot-debug-cli.md)

# Inicio de sesión en una instancia que presenta errores
<a name="troubleshoot-debug-login"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Si una receta da error, la instancia terminará con el estado `setup_failed` en lugar de online. Aunque la instancia no esté en línea en lo que respecta a OpsWorks Stacks, se está ejecutando y, a menudo, resulta útil iniciar sesión para solucionar el problema. EC2 Por ejemplo, puede comprobar si una aplicación o un libro de recetas personalizado se ha instalado correctamente. El soporte integrado de OpsWorks Stacks para el inicio de sesión [mediante SSH](workinginstances-ssh.md) y [RDP](workinginstances-rdp.md) solo está disponible para las instancias que están en línea. Sin embargo, si ha asignado un par de claves SSH a la instancia, puede iniciar sesión, tal y como se indica a continuación:
+ Instancias de Linux: utilice la clave privada del par de claves de SSH para iniciar sesión con un cliente SSH de terceros como, por ejemplo, OpenSSH o PuTTY.

  Para ello, puede utilizar un par de EC2 claves o su [par de claves SSH personal](security-ssh-access.md).
+ Instancias de Windows: usa la EC2 clave privada del par de claves para recuperar la contraseña de administrador de la instancia.

  Use la contraseña para iniciar sesión con su cliente RDP preferido. Para obtener más información, consulte [Inicio de sesión como administrador](workinginstances-rdp.md#workinginstances-rdp-admin). No puede utilizar un [par de claves SSH personales](security-ssh-access.md) para recuperar una contraseña de administrador.

# Registros de Chef
<a name="troubleshoot-debug-log"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Los registros de Chef son uno de sus principales recursos de solución de problemas, especialmente para depurar recetas. OpsWorks Stacks captura el registro de Chef de cada comando y conserva los registros de los 30 comandos más recientes de una instancia. Dado que la ejecución se encuentra en modo de depuración, el registro contiene una descripción detallada de la ejecución de Chef, incluyendo el texto que se envía a `stdout` y `stderror`. Si una receta da error, el registro incluye el rastro de pila de Chef.

OpsWorks Stacks te ofrece varias formas de ver los registros de Chef. En cuanto tenga la información del registro, puede utilizarla para depurar las recetas que dan error.

**nota**  
También puede ver la cola de un registro especificado utilizando SSH para conectarse a la instancia y ejecutar el comando `show_log` de la CLI del agente. Para obtener más información, consulte [Mostrar los registros de Chef](troubleshoot-debug-cli.md#troubleshoot-debug-cli-log).

**Topics**
+ [Visualizar un registro de Chef con la consola](#troubleshoot-debug-log-console)
+ [Visualizar un registro de Chef con la CLI o la API](#troubleshoot-debug-log-cli)
+ [Visualizar un registro de Chef en una instancia](#troubleshoot-debug-log-instance)
+ [Interpretar un registro de Chef](#troubleshoot-debug-log-interpret)
+ [Errores comunes del registro de Chef](#troubleshoot-debug-log-errors)

## Visualizar un registro de Chef con la consola
<a name="troubleshoot-debug-log-console"></a>

La forma más sencilla de ver un registro de Chef es ir a la página de detalles de la instancia. La sección **Logs (Registros)** incluye una entrada para cada evento y el comando [Execute Recipes](workingstacks-commands.md). A continuación se muestra una sección **Logs (Registros)** de la instancia, con los comandos **configure (configurar)** y **setup (configurar)**, que corresponden a los eventos del ciclo de vida de Configure y Setup. 

![\[Logs section showing configure and setup commands with timestamps and durations.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/gs11.png)


Haga clic en **show (mostrar)** en la columna **Log (Registro)** del comando adecuado para ver el registro de Chef correspondiente. Si se produce un error, OpsWorks Stacks abre automáticamente el registro del error, que normalmente se encuentra al final del archivo.

## Visualizar un registro de Chef con la CLI o la API
<a name="troubleshoot-debug-log-cli"></a>

Puede usar el [https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html)comando CLI de OpsWorks Stacks o la acción de la [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html)API para ver los registros, que están almacenados en un bucket de Amazon S3. A continuación se muestra cómo utilizar la CLI para ver cualquiera de los conjuntos de archivos de registro actuales de una determinada instancia. El procedimiento para utilizar `DescribeCommands` es básicamente igual.

**Para usar los OpsWorks Stacks para ver los registros de Chef de una instancia**

1. Abre la página de detalles de la instancia y copia su valor de **OpsWorksID**.

1. Utilice el valor del ID para ejecutar el comando de la CLI `describe-commands`, tal como se indica a continuación:

   ```
   aws opsworks describe-commands --instance-id 67bf0da2-29ed-4217-990c-d895d51812b9
   ```

   El comando devuelve un objeto JSON con un objeto incrustado para cada comando que OpsWorks Stacks haya ejecutado en la instancia, con el más reciente primero. El parámetro `Type` contiene el tipo de comando para cada objeto incrustado, en este ejemplo, un comando `configure` y un comando `setup`.

   ```
   {
       "Commands": [
           {
               "Status": "successful",
               "CompletedAt": "2013-10-25T19:38:36+00:00",
               "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9",
               "AcknowledgedAt": "2013-10-25T19:38:24+00:00",
               "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/b6c402df-5c23-45b2-a707-ad20b9c5ae40?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Expires=1382731518&Signature=YkqS5IZN2P4wixjHwoC3aCMbn5s%3D&response-cache-control=private&response-content-encoding=gzip&response-content-
   type=text%2Fplain",
               "Type": "configure",
               "CommandId": "b6c402df-5c23-45b2-a707-ad20b9c5ae40",
               "CreatedAt": "2013-10-25T19:38:11+00:00",
               "ExitCode": 0
           },
           {
               "Status": "successful",
               "CompletedAt": "2013-10-25T19:31:08+00:00",
               "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9",
               "AcknowledgedAt": "2013-10-25T19:29:01+00:00",
               "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/2a90e862-f974-42a6-9342-9a4f03468358?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Expires=1382731518&Signature=cxKYHO8mCCd4MvOyFb6ywebeQtA%3D&response-cache-control=private&response-content-encoding=gzip&response-content-
   type=text%2Fplain",
               "Type": "setup",
               "CommandId": "2a90e862-f974-42a6-9342-9a4f03468358",
               "CreatedAt": "2013-10-25T19:26:01+00:00",
               "ExitCode": 0
           }
       ]
   }
   ```

1. Copie el valor `LogUrl` en su navegador para ver el registro.

Si la instancia tiene más que unos pocos comandos, puede agregar parámetros a `describe-commands` para filtrar los comandos que se incluyen en el objeto de respuesta. Para obtener más información, consulte [describe-commands](https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html).

## Visualizar un registro de Chef en una instancia
<a name="troubleshoot-debug-log-instance"></a>

**nota**  
Los temas en esta sección hacen referencia a Chef 12. Para obtener información sobre la ubicación de los registros de Chef 11.10 y versiones anteriores, consulte [Resolución de problemas de Chef 11.10 y versiones anteriores para Linux](https://docs.aws.amazon.com/opsworks/latest/userguide/troubleshooting-chef-11-linux.html).

### Instancias de Linux
<a name="troubleshoot-debug-log-instance-linux"></a>

OpsWorks Stacks almacena los registros de Chef de cada instancia en su `/var/chef/runs` directorio. (Para las instancias de Linux, este directorio también incluye las [bolsas de datos](data-bags.md) asociadas, almacenadas como archivos con formato JSON). Necesita [privilegios de sudo](opsworks-security-users.md) para obtener acceso a este directorio. El registro de cada ejecución se encuentra en un archivo denominado `chef.log` dentro de cada subdirectorio de la ejecución individual.

OpsWorks Stacks almacena sus registros internos en la carpeta de la `/var/log/aws/opsworks` instancia. La información no suele ser muy útil para solucionar problemas. Sin embargo, estos registros son útiles para el soporte de OpsWorks Stacks, y es posible que se te pida que los proporciones si tienes algún problema con el servicio. A veces los registros de Linux también pueden proporcionar datos útiles para la resolución de problemas.

### instancias de Windows
<a name="troubleshoot-debug-log-instance-windows"></a>

**Registros del agente**  
En las instancias de Windows, OpsWorks los registros se almacenan en una `ProgramData` ruta como la siguiente. El número incluye una marca de tiempo. 

```
C:\ProgramData\OpsWorksAgent\var\logs\number
```

**nota**  
De forma predeterminada, `ProgramData` es una carpeta oculta. Para mostrarla, vaya a **Folder Options (Opciones de carpeta)**. En **View (Ver)**, seleccione la opción para mostrar los archivos ocultos.

El siguiente ejemplo muestra los registros de agente en una instancia de Windows.

```
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         5/24/2015  11:59 PM     127277 command.20150524.txt
-a---         5/25/2015  11:59 PM     546772 command.20150525.txt
-a---         5/26/2015  11:59 PM     551514 command.20150526.txt
-a---         5/27/2015   9:43 PM     495181 command.20150527.txt
-a---         5/24/2015  11:59 PM      24353 keepalive.20150524.txt
-a---         5/25/2015  11:59 PM     106232 keepalive.20150525.txt
-a---         5/26/2015  11:59 PM     106208 keepalive.20150526.txt
-a---         5/27/2015   8:54 PM      92593 keepalive.20150527.txt
-a---         5/24/2015   7:19 PM       3891 service.20150524.txt
-a---         5/27/2015   8:54 PM       1493 service.20150527.txt
-a---         5/24/2015  11:59 PM     112549 wire.20150524.txt
-a---         5/25/2015  11:59 PM     501501 wire.20150525.txt
-a---         5/26/2015  11:59 PM     499640 wire.20150526.txt
-a---         5/27/2015   8:54 PM     436870 wire.20150527.txt
```

**Registros de Chef**  
En instancias de Windows, los registros de Chef se almacenan en una ruta `ProgramData` similar a la siguiente. El número incluye una marca de tiempo.

```
C:\ProgramData\OpsWorksAgent\var\commands\number
```

**nota**  
Este directorio contiene solo el resultado de la primera ejecución (OpsWorks propia) de Chef.

El siguiente ejemplo muestra los registros OpsWorks de Chef propiedad de una instancia de Windows.

```
 Mode                LastWriteTime            Name
 ----                -------------            ----
 d----         5/24/2015   7:23 PM            configure-7ecb5f47-7626-439b-877f-5e7cb40ab8be
 d----         5/26/2015   8:30 PM            configure-8e74223b-d15d-4372-aeea-a87b428ffc2b
 d----         5/24/2015   6:34 PM            configure-c3980a1c-3d08-46eb-9bae-63514cee194b
 d----         5/26/2015   8:32 PM            grant_remote_access-70dbf834-1bfa-4fce-b195-e50e85402f4c
 d----         5/26/2015  10:30 PM            revoke_remote_access-1111fce9-843a-4b27-b93f-ecc7c5e9e05b
 d----         5/24/2015   7:21 PM            setup-754ec063-8b60-4cd4-b6d7-0e89d7b7aa78
 d----         5/26/2015   8:27 PM            setup-af5bed36-5afd-4115-af35-5766f88bc039
 d----         5/24/2015   6:32 PM            setup-d8abeffa-24d4-414b-bfb1-4ad07319f358
 d----         5/24/2015   7:13 PM            shutdown-c7130435-9b5c-4a95-be17-6b988fc6cf9a
 d----         5/26/2015   8:25 PM            sync_remote_users-64c79bdc-1f6f-4517-865b-23d2def4180c
 d----         5/26/2015   8:48 PM            update_custom_cookbooks-2cc59a94-315b-414d-85eb-2bdea6d76c6a
```

**Registros de Chef de usuario**  
Los registros de las ejecuciones de Chef están en archivos denominados `logfile.txt` en una carpeta que se denomina según el comando de Chef numerado, como en el siguiente diagrama.

 C:/chef └── `runs` └── `command-12345` ├── `attribs.json` ├── `client.rb` └── `logfile.txt` 

## Interpretar un registro de Chef
<a name="troubleshoot-debug-log-interpret"></a>

El principio del registro contiene principalmente inicios de sesión internos de Chef.

```
# Logfile created on Thu Oct 17 17:25:12 +0000 2013 by logger.rb/1.2.6
[2013-10-17T17:25:12+00:00] INFO: *** Chef 11.4.4 ***
[2013-10-17T17:25:13+00:00] DEBUG: Building node object for php-app1.localdomain
[2013-10-17T17:25:13+00:00] DEBUG: Extracting run list from JSON attributes provided on command line
[2013-10-17T17:25:13+00:00] INFO: Setting the run_list to ["opsworks_custom_cookbooks::load", "opsworks_custom_cookbooks::execute"] from JSON
[2013-10-17T17:25:13+00:00] DEBUG: Applying attributes from json file
[2013-10-17T17:25:13+00:00] DEBUG: Platform is amazon version 2013.03
[2013-10-17T17:25:13+00:00] INFO: Run List is [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2013-10-17T17:25:13+00:00] INFO: Run List expands to [opsworks_custom_cookbooks::load, opsworks_custom_cookbooks::execute]
[2013-10-17T17:25:13+00:00] INFO: Starting Chef Run for php-app1.localdomain
[2013-10-17T17:25:13+00:00] INFO: Running start handlers
[2013-10-17T17:25:13+00:00] INFO: Start handlers complete.
[2013-10-17T17:25:13+00:00] DEBUG: No chefignore file found at /opt/aws/opsworks/releases/20131015111601_209/cookbooks/chefignore no files will be ignored
[2013-10-17T17:25:13+00:00] DEBUG: Cookbooks to compile: ["gem_support", "packages", "opsworks_bundler", "opsworks_rubygems", "ruby", "ruby_enterprise", "dependencies", "opsworks_commons", "scm_helper", :opsworks_custom_cookbooks]
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook gem_support's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/gem_support/libraries/current_gem_version.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook packages's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/packages/libraries/packages.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook dependencies's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/dependencies/libraries/current_gem_version.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/activesupport_blank.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/monkey_patch_chefgem_resource.rb
...
```

Esta parte del archivo es muy útil para los expertos de Chef. Tenga en cuenta que la lista de ejecución incluye dos recetas, aunque la mayoría de comandos incluyen muchas más. Estas dos recetas gestionan la tarea de cargar y ejecutar todas las demás recetas integradas y personalizadas.

La parte más interesante del archivo suele estar al final. Si una ejecución finaliza correctamente, debería ver algo parecido a lo siguiente:

```
...
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: STDERR: 
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: ---- End output of /sbin/service mysqld restart ----
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Ran /sbin/service mysqld restart returned 0
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: service[mysql]: restarted successfully
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Chef Run complete in 84.07096 seconds
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: cleaning the checksum cache
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-8wef7e-0
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-1xpwyb6-0
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--etc-monit-conf
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Running report handlers
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Report handlers complete
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Exiting
```

**nota**  
Puede utilizar la CLI del agente para mostrar la cola del registro durante o después de la ejecución. Para obtener más información, consulte [Mostrar los registros de Chef](troubleshoot-debug-cli.md#troubleshoot-debug-cli-log).

Si una receta da error, debe buscar una salida en el nivel de ERROR, que incluirá una excepción seguida de una pila de rastreo de Chef, similar a la siguiente:

```
...
Please report any problems with the /usr/scripts/mysqlbug script!

[  OK  ]
MySQL Daemon failed to start.
Starting mysqld:  [FAILED]STDERR: 130611 15:07:55 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
130611 15:07:56 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
---- End output of /sbin/service mysqld start ----

/opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:184:in `handle_command_failures'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:131:in `run_command'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service/init.rb:37:in `start_service'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service.rb:60:in `action_start'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `send'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `run_action'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:53:in `run_action'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `each'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:84:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:268:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:158:in `run'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:190:in `run_application'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `loop'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `run_application'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application.rb:62:in `run'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/chef-solo:25
  /opt/aws/opsworks/current/bin/chef-solo:16:in `load'
  /opt/aws/opsworks/current/bin/chef-solo:16
```

El final del archivo es la pila de rastreo de Chef. También debería examinar la salida justo antes de la excepción, que a menudo contiene un error del sistema como, por ejemplo, `package not available`, que también puede ser útil a la hora de determinar la causa del error. En este caso, el daemon de MySQL no se ha iniciado.

## Errores comunes del registro de Chef
<a name="troubleshoot-debug-log-errors"></a>

A continuación presentamos algunos errores comunes del registro de Chef y cómo abordarlos.

No se encuentra el registro  
Al comienzo de una ejecución de Chef, las instancias reciben una dirección URL de Amazon S3 prefirmada que le permite ver el registro en una página web cuando ha finalizado la ejecución de Chef. Dado que esta dirección URL vence después de dos horas, no se carga ningún registro en el sitio de Amazon S3 si una ejecución de Chef tarda más de dos horas, incluso si no ha habido problemas durante la ejecución de Chef. El comando para crear un registro ha funcionado, pero el registro solo puede visualizarse en la instancia, no en la dirección URL prefirmada.

El registro finaliza bruscamente  
Si un registro de Chef finaliza bruscamente sin indicar que se ha ejecutado correctamente ni mostrar información de error, probablemente se deba a que dispone de poca memoria, cosa que evitó que Chef completara el registro. La mejor opción es intentarlo de nuevo con una instancia más grande.

Falta la receta o el libro de recetas  
Si la ejecución de Chef se encuentra con un libro de recetas o receta que no está en la memoria caché del libro de recetas, aparecerá algo parecido a lo siguiente:  

```
DEBUG: Loading Recipe mycookbook::myrecipe via include_recipe  
ERROR: Caught exception during execution of custom recipe: mycookbook::myrecipe:
   Cannot find a cookbook named mycookbook; did you forget to add metadata to a cookbook?
```
Esta entrada indica que el libro de recetas `mycookbook` no está en la memoria caché del libro de recetas. Con Chef 11.4, también puede encontrar este error si no declara las dependencias correctamente en `metadata.rb`.  
OpsWorks Stacks ejecuta recetas desde la caché de libros de cocina de la instancia. Descarga libros de recetas del repositorio a esta memoria caché cuando se inicia la instancia. Sin embargo, OpsWorks Stacks no actualiza automáticamente la caché de una instancia en línea si posteriormente modificas los libros de cocina de tu repositorio. Si ha modificado sus libros de recetas o añadido nuevos libros de recetas desde el inicio de la instancia, siga estos pasos:  

1. Asegúrese de que ha confirmado los cambios en el repositorio.

1. Ejecute el [comando de pila Update Cookbooks](workingstacks-commands.md) para actualizar la memoria caché del libro de recetas con la versión más reciente del repositorio.

Error de comandos locales  
Si se produce un error en un recurso `execute` de Chef para ejecutar el comando especificado, se mostrará algo parecido a lo siguiente:  

```
DEBUG: ---- End output of ./configure --with-config-file-path=/ returned 2 
ERROR: execute[PHP: ./configure] (/root/opsworks-agent/site-cookbooks/php-fpm/recipes/install.rb line 48) had an error:
   ./configure --with-config-file-path=/
```
Desplácese hacia arriba en el registro para ver las salidas `stderr` y `stdout` del comando, lo que debería ayudarle a determinar porqué ha fallado el comando.

Error del paquete  
Si la instalación del paquete da error, se mostrará algo parecido a lo siguiente:  

```
ERROR: package[zend-server-ce-php-5.3] (/root/opsworks-agent/site-cookbooks/zend_server/recipes/install.rb line 20)
   had an error: apt-get -q -y --force-yes install zend-server-ce-php-5.3=5.0.4+b17 returned 100, expected 0
```
Desplácese hacia arriba en el registro para ver las salidas STDOUT y STDERROR del comando, lo que debería ayudarle a determinar porqué ha fallado la instalación del paquete.

# Uso de la CLI OpsWorks de Stacks Agent
<a name="troubleshoot-debug-cli"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

**nota**  
La CLI del agente solo está disponible en instancias Linux.

En cada instancia en línea, OpsWorks Stacks instala un agente que se comunica con el servicio. El servicio OpsWorks Stacks, a su vez, envía comandos al agente para que realice tareas como iniciar las ejecuciones de Chef en la instancia cuando se produce un evento del ciclo de vida. En instancias de Linux, el agente expone una interfaz de línea de comandos (CLI) que es muy útil para la resolución de problemas. Para ejecutar comandos de la CLI del agente, utilice [SSH para conectarse a una instancia](workinginstances-ssh.md). A continuación, se pueden ejecutar los comandos de la CLI del agente para realizar diversas tareas, entre las que se incluyen las siguientes: 
+ Ejecutar recetas
+ Mostrar los registros de Chef
+ Mostrar [el JSON de la implementación y la configuración de la pila](workingcookbook-json.md).

Para obtener más información acerca de cómo configurar una conexión de SSH a una instancia, consulte [Inicio de sesión con SSH](workinginstances-ssh.md). También debe contar con los [permisos SSH y sudo](opsworks-security-users.md) para la pila.

En esta sección se describe cómo utilizar la CLI del agente para la resolución de problemas. Para obtener más información y una referencia de comandos completa, consulte [OpsWorks CLI de Stacks Agent](agent.md).

**Topics**
+ [Ejecución de recetas](#troubleshoot-debug-cli-recipes)
+ [Mostrar los registros de Chef](#troubleshoot-debug-cli-log)
+ [Mostrar el archivo JSON de la implementación y la configuración de la pila](#troubleshoot-debug-cli-json)

## Ejecución de recetas
<a name="troubleshoot-debug-cli-recipes"></a>

El comando [`run_command`](agent-run.md) de la CLI del agente ordena al agente que vuelva a ejecutar un comando que ha ejecutado anteriormente. La mayoría de comandos útiles para la resolución de problemas (`setup`, `configure`, `deploy` y `undeploy`) se corresponde con un evento del ciclo de vida. Los comandos ordenan al agente que inicie una ejecución de Chef para ejecutar las recetas asociadas.

**nota**  
El comando `run_command` se limita a ejecutar el grupo de recetas que está asociado con un comando específico, normalmente son las recetas que están asociadas con un evento del ciclo de vida. No puede utilizarlo para ejecutar una receta determinada. Para ejecutar una o varias recetas específicas, utilice el [comando de pila Execute Recipes](workingstacks-commands.md) o las acciones de la CLI o la API equivalentes ([https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html) y [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html)).

El comando `run_command` es muy útil para la depuración de recetas personalizadas, especialmente recetas que se asignan a los eventos del ciclo de vida Setup y Configure, que no puede disparar directamente desde la consola. Al utilizar `run_command`, puede ejecutar las recetas de un evento determinado siempre que se necesiten sin tener que iniciar o finalizar instancias.

**nota**  
OpsWorks Stacks ejecuta las recetas desde la caché de libros de cocina de la instancia, no desde el repositorio de libros de cocina. OpsWorks Stacks descarga libros de cocina a esta caché cuando se inicia la instancia, pero no actualiza automáticamente la caché en las instancias en línea si posteriormente modificas tus libros de cocina. Si ha modificado sus libros de recetas después de iniciar la instancia, asegúrese de ejecutar el [comando de pila Update Cookbooks](workingstacks-commands.md) para actualizar la memoria caché del libro de recetas con la versión más reciente del repositorio.

El agente solo graba en caché los comandos más recientes. Puede enumerarlos ejecutando [`list_commands`](agent-list.md), que devuelve una lista de comandos almacenados en caché y el momento en que se han llevado a cabo.

```
sudo opsworks-agent-cli list_commands
2013-02-26T19:08:26        setup
2013-02-26T19:12:01        configure
2013-02-26T19:12:05        configure
2013-02-26T19:22:12        deploy
```

Para volver a ejecutar el comando más reciente, ejecute lo siguiente:

```
sudo opsworks-agent-cli run_command
```

Para volver a ejecutar la instancia más reciente de un comando especificado, ejecute lo siguiente:

```
sudo opsworks-agent-cli run_command command
```

Por ejemplo, para volver a ejecutar las recetas Setup, puede ejecutar el siguiente comando:

```
sudo opsworks-agent-cli run_command setup
```

Cada comando tiene un [JSON de la implementación y la configuración de la pila](workingcookbook-json.md) asociado que representa el estado de la implementación y de la pila en el momento en que se ha ejecutado el comando. Dado que los datos pueden cambiar de un comando a otro, una instancia más antigua de un comando podría utilizar datos ligeramente distintos que los que utiliza la más reciente. Para volver a ejecutar una instancia determinada de un comando, copie la hora de la salida `list_commands` y ejecute los siguiente:

```
sudo opsworks-agent-cli run_command time
```

Todos los ejemplos anteriores vuelven a ejecutar el comando utilizando el JSON predeterminado, que es el JSON que se instaló para dicho comando. Puede volver a ejecutar un comando en un archivo JSON arbitrario de la siguiente manera:

```
sudo opsworks-agent-cli run_command -f /path/to/valid/json.file
```

## Mostrar los registros de Chef
<a name="troubleshoot-debug-cli-log"></a>

El comando [`show_log`](agent-show.md) de la CLI del agente muestra un registro específico. Una vez finalizado el comando, verá el final del archivo. El comando `show_log`, por tanto, proporciona una manera cómoda de consultar la cola del registro, que suele ser donde se encuentra la información de error. Puede desplazarse hacia arriba para ver las partes antiguas del registro.

Para visualizar el registro del comando actual, ejecute lo siguiente:

```
sudo opsworks-agent-cli show_log
```

También puede mostrar los registros de un comando determinado, pero debe saber que el agente almacena en caché los registros de únicamente los últimos treinta comandos. Puede enumerar los comandos de la instancia ejecutando [`list_commands`](agent-list.md), que devuelve una lista de comandos almacenados en caché y la hora en que se llevaron a cabo. Para ver un ejemplo, consulta [Ejecución de recetas](#troubleshoot-debug-cli-recipes).

Para mostrar el registro de la ejecución más reciente de un determinado comando, ejecute lo siguiente:

```
sudo opsworks-agent-cli show_log command
```

El parámetro del comando puede fijarse en `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop` o `restart`. Muchos de estos comandos se corresponden con los eventos del ciclo de vida y ordenan al agente que ejecute las recetas asociadas.

Para visualizar el registro de una ejecución de comandos determinada, copie la fecha de la salida `list_commands` y ejecute:

```
sudo opsworks-agent-cli show_log date
```

Si un comando sigue ejecutándose, `show_log` mostrará el estado actual del registro.

**nota**  
Una forma de `show_log` solucionar errores y out-of-memory problemas es guardar un registro durante la ejecución, de la siguiente manera:  
Use `run_command` para disparar el evento del ciclo de vida adecuado. Para obtener más información, consulte [Ejecución de recetas](#troubleshoot-debug-cli-recipes).
Ejecute `show_log` varias veces para ver la cola del registro tal como se escribe.
Si Chef se queda sin memoria o se cierra de forma inesperada, el registro finalizará bruscamente. Si una receta da error, el registro finalizará con una excepción y un rastro de pila. 

## Mostrar el archivo JSON de la implementación y la configuración de la pila
<a name="troubleshoot-debug-cli-json"></a>

La mayor parte de los datos que utilizan las recetas proviene del [JSON de la implementación y la configuración de la pila](workingcookbook-json.md), que define un conjunto de atributos de Chef que proporcionan una descripción detallada de la configuración de la pila, las implementaciones y los atributos personalizados y opcionales que pueden añadir los usuarios. Para cada comando, OpsWorks Stacks instala un JSON que representa el estado de la pila y del despliegue en el momento del comando. Para obtener más información, consulte [Atributos de configuración e implementación de pilas](workingcookbook-json.md).

Si la receta personalizada obtiene datos del JSON de la configuración e implementación de la pila, puede verificar los datos examinando el JSON. La forma más sencilla de visualizar el JSON de configuración e implementación de la pila consiste en ejecutar el comando [`get_json`](agent-json.md) de la CLI del agente, que muestra una versión formateada del objeto JSON. A continuación se muestran las primeras líneas de algunas salidas típicas:

```
{
  "opsworks": {
    "layers": {
      "php-app": {
        "id": "4a2a56c8-f909-4b39-81f8-556536d20648",
        "instances": {
          "php-app2": {
            "elastic_ip": null,
            "region": "us-west-2",
            "booted_at": "2013-02-26T20:41:10+00:00",
            "ip": "10.112.235.192",
            "aws_instance_id": "i-34037f06",
            "availability_zone": "us-west-2a",
            "instance_type": "c1.medium",
            "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal",
            "private_ip": "10.252.0.203",
            "created_at": "2013-02-26T20:39:39+00:00",
            "status": "online",
            "backends": 8,
            "public_dns_name": "ec2-10-112-235-192.us-west-2.compute.amazonaws.com"
...
```

Puede visualizar el JSON de configuración e implementación de la pila más reciente de la siguiente manera:

```
sudo opsworks-agent-cli get_json
```

Puede visualizar el JSON de configuración e implementación de la pila más reciente para un comando especificado mediante la ejecución de lo siguiente:

```
sudo opsworks-agent-cli get_json command
```

El parámetro del comando puede fijarse en `setup`, `configure`, `deploy`, `undeploy`, `start`, `stop` o `restart`. Muchos de estos comandos se corresponden con los eventos del ciclo de vida y ordenan al agente que ejecute las recetas asociadas.

Puede visualizar el JSON de configuración e implementación de la pila para una ejecución de comando determinada especificando la fecha del comando de la siguiente manera:

```
sudo opsworks-agent-cli get_json date
```

La forma más sencilla de utilizar este comando es la siguiente:

1. Ejecute `list_commands`, que devuelve una lista de comandos que se ha ejecutado en la instancia, y la fecha en que se ha ejecutado cada comando.

1. Copia la fecha del comando correspondiente y úsala como argumento. `get_json` *date*

# Depuración y resolución de problemas comunes
<a name="common-issues"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

En esta sección se describen algunos de los problemas más comunes y sus soluciones.

**Topics**
+ [Stacks de solución de problemas OpsWorks](common-issues-troubleshoot.md)
+ [Solución de problemas de registro de instancias](#common-issues-instance-registration)

# Stacks de solución de problemas OpsWorks
<a name="common-issues-troubleshoot"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Esta sección contiene algunos de los problemas más frecuentes de OpsWorks Stacks y sus soluciones.

**Topics**
+ [No se pueden administrar instancias](#w2ab1c14c77c17b9b9)
+ [Después de ejecutar Chef, las instancias no arrancan](#w2ab1c14c77c17b9c11)
+ [Todas las instancias de una capa dan error en la comprobación de estado del equilibrador de carga elástica](#common-issues-troubleshoot-health)
+ [No se puede comunicar con un equilibrador de carga](#w2ab1c14c77c17b9c15)
+ [Una instancia on-premises importada no consigue finalizar la configuración de volumen tras un reinicio](#w2ab1c14c77c17b9c17)
+ [Un volumen de EBS no vuelve a adjuntarse tras reiniciar](#common-issues-troubleshoot-ebs)
+ [No se pueden eliminar grupos de seguridad de OpsWorks Stacks](#common-issues-troubleshoot-booting-secgroup)
+ [Eliminó accidentalmente un grupo de seguridad de OpsWorks Stacks](#common-issues-troubleshoot-booting-secgroup-delete)
+ [El registro de Chef terminada bruscamente](#common-issues-troubleshoot-log-terminates)
+ [El libro de recetas no se actualiza](#common-issues-troubleshoot-update)
+ [Las instancias se bloquean en el estado de arranque](#common-issues-troubleshoot-booting)
+ [Reinicio inesperado de las instancias](#common-issues-troubleshoot-restart)
+ [Los procesos `opsworks-agent` se ejecutan en instancias](#common-issues-troubleshoot-agent)
+ [Comandos execute\$1recipes inesperados](#common-issues-troubleshoot-unexpected)

## No se pueden administrar instancias
<a name="w2ab1c14c77c17b9b9"></a>

**Problema:** ya no puede administrar una instancia que anteriormente había podido administrar. En algunos casos, los registros pueden mostrar un error similar al siguiente.

```
Aws::CharlieInstanceService::Errors::UnrecognizedClientException - The security token included in the request is invalid.
```

**Causa:** esto puede ocurrir si se ha editado o eliminado un recurso externo a OpsWorks del que depende la instancia. A continuación se proporcionan ejemplos de cambios de recursos que pueden interrumpir la comunicación con una instancia.
+ Se ha eliminado accidentalmente un usuario o rol de IAM asociado a la instancia, fuera de OpsWorks Stacks. Esto provoca un error de comunicación entre el OpsWorks agente que está instalado en la instancia y el servicio OpsWorks Stacks. Los usuarios de que estén asociados con una instancia deben existir durante toda la vida de la instancia.
+ Si se edita la configuración de volumen o de almacenamiento mientras la instancia está sin conexión puede que esta deje de poder administrarse.
+ Añadir EC2 instancias a un ELB de forma manual. OpsWorks reconfigura un balanceador de cargas de Elastic Load Balancing asignado cada vez que una instancia entra o sale del estado en línea. OpsWorks solo considera las instancias que conoce como miembros válidos; las instancias que se agregan fuera del OpsWorks proceso o mediante algún otro proceso se eliminan. Las demás instancias se eliminan.

**Solución:** no elimine los usuarios o los roles de IAM de los que dependen sus instancias. Si es posible, edite las configuraciones de volumen o de almacenamiento mientras se ejecutan las instancias dependientes. Se usa OpsWorks para administrar el balanceador de carga o las membresías a EIP de las instancias. OpsWorks Cuando se registra una instancia, para evitar problemas de administración de las instancias registradas en caso de que el usuario se elimine por error, añada el parámetro `--use-instance-profile` al comando `register` para utilizar en su lugar el perfil de instancia integrada de la instancia.

## Después de ejecutar Chef, las instancias no arrancan
<a name="w2ab1c14c77c17b9c11"></a>

**Problema:** en Chef 11.10 o en pilas más antiguas configuradas para utilizar libros de recetas personalizados, después de ejecutar Chef con libros de recetas de la comunidad, las instancias no arrancan. Los mensajes de registro pueden indicar que las recetas no se han compilado (error de compilación de recetas) o que no se pueden cargar porque no encuentran ninguna dependencia.

**Causa:** la causa más probable es que el libro de recetas personalizado o de la comunidad no admita la versión de Chef que utiliza su pila. Algunos libros de recetas populares de la comunidad, como `[apt](https://supermarket.chef.io/cookbooks/apt)` y `[build-essential](https://supermarket.chef.io/cookbooks/build-essential/versions/3.2.0)`, tienen problemas de compatibilidad con Chef 11.10.

**Solución:** en las OpsWorks pilas de pilas que tengan activada la opción **Usar libros de cocina personalizados de Chef, los libros de cocina** personalizados o comunitarios siempre deben ser compatibles con la versión de Chef que utilice la pila. Adjunte los libros de recetas de la comunidad a una versión (es decir, defina el número de versión del libro de recetas con una versión concreta) que sea compatible con la versión de Chef que está configurada en la configuración de la pila. Para encontrar una versión de libro de recetas de la comunidad compatible, consulte el registro de cambios de un libro de recetas cuya compilación haya fallado y utilice solo la versión más reciente del libro de recetas que admita su pila. Para adjuntar una versión de libro de recetas, especifique un número de versión exacto en el archivo Berksfile del repositorio de su libro de recetas personalizado. Por ejemplo, `cookbook 'build-essential', '= 3.2.0'`.

## Todas las instancias de una capa dan error en la comprobación de estado del equilibrador de carga elástica
<a name="common-issues-troubleshoot-health"></a>

**Problema:** adjunta un equilibrador de carga de a una capa de servidor de aplicaciones, pero todas las instancias dan error en la comprobación de estado.

**Causa:** al crear un equilibrador de carga de debe especificar la ruta de ping que llama el equilibrador de carga para determinar si el estado de la instancia es correcto. Asegúrese de especificar una ruta de ping adecuada para su aplicación. El valor predeterminado es /index.html. Si la aplicación no incluye un valor `index.html`, debe especificar una ruta adecuada o la comprobación de estado fallará. Por ejemplo, la PHPApp aplicación Simple utilizada en [Introducción a las pilas de Linux en Chef 11](gettingstarted.md) no usa index.html; la ruta de ping adecuada para esos servidores es /. 

**Solución:** edite la ruta de ping del balanceador de carga. Para obtener más información, consulte [Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/gs-ec2classic.html)

## No se puede comunicar con un equilibrador de carga
<a name="w2ab1c14c77c17b9c15"></a>

**Problema:** crea un equilibrados de carga de y lo adjunta a una capa de servidor de aplicaciones, pero al hacer clic en el nombre de DNS o en la dirección IP del equilibrador de carga para ejecutar la aplicación recibe un error que indica que el servidor remoto no responde.

**Causa:** si la pila se ejecuta en una VPC predeterminada, al crear un equilibrador de carga de en la región, debe especificar un grupo de seguridad. El grupo de seguridad debe tener reglas de entrada que permitan el tráfico entrante desde su dirección IP. Si especifica **default VPC security group (grupo de seguridad de VPC predeterminado)**, la regla de entrada predeterminada no aceptará el tráfico entrante. 

**Solución:** edite las reglas de entrada del grupo de seguridad para que permitan el tráfico entrante desde direcciones IP adecuadas.

1. Haz clic en **Grupos de seguridad** en el panel [de navegación de la EC2 consola de Amazon](https://console.aws.amazon.com/ec2/).

1. Seleccione el grupo de seguridad del balanceador de carga.

1. Haga clic en **Edit (Editar)** en la pestaña **Inbound (Entrada)**.

1. Añada una regla de entrada con el campo **Source (Fuente)** establecido en un CIDR adecuado.

   Por ejemplo, si se especifica **Anywhere (Cualquier lugar)**, el CIDR se establece en 0.0.0.0/0, lo que hace que el balanceador de carga acepte el tráfico entrante desde cualquier dirección IP. 

## Una instancia on-premises importada no consigue finalizar la configuración de volumen tras un reinicio
<a name="w2ab1c14c77c17b9c17"></a>

**Problema:** reinicias una EC2 instancia que has importado a OpsWorks Stacks y la consola de OpsWorks Stacks muestra el estado de la instancia como **error**. Esto puede ocurrir en instancias de Chef 11 o Chef 12.

**Causa: **es posible que OpsWorks Stacks no pueda adjuntar un volumen a la instancia durante el proceso de configuración. Un motivo de ello puede ser que OpsWorks Stacks sobrescriba la configuración de volumen en la instancia al ejecutar el comando `setup`.

**Solución:** abra la página **Details (Detalles)** de la instancia y compruebe la configuración del volumen en el área **Volumes (Volúmenes)**. Tenga en cuenta que solo puede cambiar la configuración de volumen cuando la instancia está en estado **stopped (detenido)**. Asegúrese de que cada volumen tiene un punto de montaje y un nombre especificados. Confirma que proporcionaste el punto de montaje correcto en tu configuración de OpsWorks Stacks antes de reiniciar la instancia.

## Un volumen de EBS no vuelve a adjuntarse tras reiniciar
<a name="common-issues-troubleshoot-ebs"></a>

**Problema:** utilizas la EC2 consola de Amazon para adjuntar un volumen de Amazon EBS a una instancia, pero cuando reinicias la instancia, el volumen deja de estar conectado. 

**Causa:** OpsWorks Stacks solo puede volver a adjuntar los volúmenes de Amazon EBS que conozca, que se limitan a lo siguiente:
+ Volúmenes creados por Stacks. OpsWorks 
+ Los volúmenes de su cuenta y que ha registrado de forma explícita con una pila desde la página **Resources (Recursos)**. 

**Solución:** administre sus volúmenes de Amazon EBS únicamente mediante la consola, la API o la CLI de OpsWorks Stacks. Si desea utilizar uno de los volúmenes de de su cuenta con una pila, utilice la página **Recursos** de la pila para registrar el volumen y adjuntarlo a una instancia. Para obtener más información, consulte [Administración de recursos](resources.md).

## No se pueden eliminar grupos de seguridad de OpsWorks Stacks
<a name="common-issues-troubleshoot-booting-secgroup"></a>

**Problema:** después de eliminar una pila, quedan varios grupos de seguridad de OpsWorks Stacks que no se pueden eliminar.

**Causa:** los grupos de seguridad deben eliminarse en un orden concreto.

**Solución:** en primer lugar, asegúrese de que ninguna instancia utilice los grupos de seguridad. A continuación, elimine cualquiera de los siguientes grupos de seguridad, si existen, en el orden que se indica a continuación: 

1. Servidor AWS- OpsWorks -Blank-Server

1. Servidor maestro de monitoreo OpsWorks de AWS

1. Servidor AWS OpsWorks -DB-Master

1. Servidor AWS - OpsWorks Memcache

1. AWS: servidor OpsWorks personalizado

1. Servidor de aplicaciones AWS - OpsWorks NodeJS

1. Servidor de aplicaciones PHP OpsWorks de AWS

1. Servidor de aplicaciones AWS- OpsWorks -Rails

1. Servidor web OpsWorks AWS

1. Servidor predeterminado de OpsWorks AWS

1. Servidor AWS- OpsWorks -LB

## Eliminó accidentalmente un grupo de seguridad de OpsWorks Stacks
<a name="common-issues-troubleshoot-booting-secgroup-delete"></a>

**Problema:** has eliminado uno de los grupos de seguridad de OpsWorks Stacks y necesitas volver a crearlo.

**Causa:** estos grupos de seguridad suelen eliminarse por error.

**Solución:** el grupo que se cree de nuevo debe ser un duplicado exacto del original, usando las mismas mayúsculas y minúsculas en el nombre del grupo. En lugar de volver a crear el grupo manualmente, se recomienda que OpsWorks Stacks realice esta tarea. Solo tiene que crear una pila nueva en la misma región de AWS (y en la VPC, si existe OpsWorks ) y Stacks volverá a crear automáticamente todos los grupos de seguridad integrados, incluido el que haya eliminado. Después podrá borrar la pila si ya no la va a usar más; los grupos de seguridad permanecerán.

## El registro de Chef terminada bruscamente
<a name="common-issues-troubleshoot-log-terminates"></a>

**Problema:** un registro de Chef termina bruscamente. El final del registro no indica si se ha ejecutado correctamente ni muestra una excepción ni un rastro de la pila.

**Causa:** esto suele ocurrir cuando falta memoria.

**Solución:** cree una instancia más grande y utilice el comando `run_command` del agente de la CLI para ejecutar las recetas de nuevo. Para obtener más información, consulte [Ejecución de recetas](troubleshoot-debug-cli.md#troubleshoot-debug-cli-recipes).

## El libro de recetas no se actualiza
<a name="common-issues-troubleshoot-update"></a>

**Problema:** actualizó su libro de recetas, pero las instancias de la pila siguen ejecutándose con las recetas antiguas.

**Causa:** OpsWorks Stacks almacena en caché los libros de cocina en cada instancia y ejecuta las recetas desde la caché, no desde el repositorio. Cuando inicias una nueva instancia, OpsWorks Stacks descarga tus libros de cocina del repositorio a la caché de la instancia. No obstante, si posteriormente modifica sus libros de recetas personalizados, OpsWorks Stacks no actualizará automáticamente las memorias caché de las instancias online. 

**Solución:** ejecuta el [comando Update Cookbooks stack](workingstacks-commands.md) para indicar explícitamente a OpsWorks Stacks que actualice las cachés de libros de cocina de tus instancias online.

## Las instancias se bloquean en el estado de arranque
<a name="common-issues-troubleshoot-booting"></a>

**Problema:** al reiniciar una instancia o si la recuperación automática la reinicia automáticamente, la operación de reinicio se bloquea en el estado `booting`.

**Causa:** una posible causa de este problema es la configuración de la VPC, también la de una VPC predeterminada. Las instancias deben poder comunicarse siempre con el servicio OpsWorks Stacks, Amazon S3 y los repositorios de paquetes, libros de cocina y aplicaciones. Si, por ejemplo, eliminas una puerta de enlace predeterminada de una VPC predeterminada, las instancias pierden la conexión con el servicio OpsWorks Stacks. Como OpsWorks Stacks ya no puede comunicarse con el [agente](troubleshoot-debug-cli.md) de instancias, trata la instancia como fallida y la [cura automáticamente](workinginstances-autohealing.md). Sin embargo, sin una conexión, OpsWorks Stacks no puede instalar un agente de instancias en la instancia reparada. Sin un agente, OpsWorks Stacks no puede ejecutar las recetas de configuración en la instancia, por lo que la operación de inicio no puede avanzar más allá del estado de «arranque». 

**Solución:** modifique la configuración de la VPC de modo que las instancias tengan la conectividad necesaria.

## Reinicio inesperado de las instancias
<a name="common-issues-troubleshoot-restart"></a>

**Problema:** una instancia detenida se reinicia de forma inesperada. 

**Causa 1:** Si has activado la [reparación automática](workinginstances-autohealing.md) de tus instancias, OpsWorks Stacks comprueba periódicamente el estado de las EC2 instancias de Amazon asociadas y reinicia las que están en mal estado. Si detienes o cancelas una instancia OpsWorks gestionada por Stacks mediante la EC2 consola, la API o la CLI de Amazon, OpsWorks Stacks no recibirá ninguna notificación. En lugar de ello, entenderá que el estado de la instancia detenida es incorrecto y la reiniciará automáticamente.

**Solución:** administre sus instancias solo con la consola de OpsWorks Stacks, la API o CLI. Si utilizas OpsWorks Stacks para detener o eliminar una instancia, no se reiniciará. Para obtener más información, consulte [Proceso manual de inicio, paro y reinicio de instancias de funcionamiento ininterrumpido](workinginstances-starting.md) y [Eliminar instancias OpsWorks de Stacks](workinginstances-delete.md).

**Causa 2:** las instancias pueden fallar por diversas razones. Si tienes habilitada la reparación automática, OpsWorks Stacks reinicia automáticamente las instancias fallidas.

**Solución:** esta es una operación normal; no hay necesidad de hacer nada a menos que quieras que OpsWorks Stacks reinicie las instancias fallidas. En ese caso, deberá desactivar la recuperación automática.

## Los procesos `opsworks-agent` se ejecutan en instancias
<a name="common-issues-troubleshoot-agent"></a>

**Problema:** se ejecutan varios procesos `opsworks-agent` en las instancias. Por ejemplo:

```
aws 24543 0.0 1.3 172360 53332 ? S Feb24 0:29 opsworks-agent: master 24543
aws 24545 0.1 2.0 208932 79224 ? S Feb24 22:02 opsworks-agent: keep_alive of master 24543
aws 24557 0.0 2.0 209012 79412 ? S Feb24 8:04 opsworks-agent: statistics of master 24543
aws 24559 0.0 2.2 216604 86992 ? S Feb24 4:14 opsworks-agent: process_command of master 24
```

**Causa:** son procesos legítimos necesarios para el funcionamiento normal del agente. Realizan tareas como la gestión de las implementaciones y el reenvío de mensajes keep-alive al servicio.

**Solución:** es normal. No detenga estos procesos. Si lo hace, interferirá en el buen funcionamiento del agente.

## Comandos execute\$1recipes inesperados
<a name="common-issues-troubleshoot-unexpected"></a>

**Problema:** la sección **Logs (Registros)** de la página de detalles de una instancia incluye comandos `execute_recipes` inesperados. Los comandos `execute_recipes` inesperados también pueden aparecer en las páginas **Stack (Pila)** y **Deployments (Implementaciones)**.

**Causa:** este problema suele producirse por cambios en los permisos. Cuando cambias los permisos SSH o sudo de un usuario o grupo, OpsWorks Stacks se ejecuta `execute_recipes` para actualizar las instancias de la pila y también activa un evento de configuración. Otro origen de aparición de comandos `execute_recipes` es la actualización del agente de instancia por parte de OpsWorks Stacks.

**Solución:** esto es normal. No es necesario hacer nada.

Para ver qué acciones ha realizado un comando `execute_recipes`, vaya a la página **Deployments (Implementaciones)** y haga clic en la marca temporal del comando. Esto abre la página de detalles del comando, que enumera las principales recetas que se han ejecutado. Por ejemplo, la siguiente página de detalles es de un comando `execute_recipes` que ha ejecutado `ssh_users` para actualizar los permisos de SSH.

![\[Command details page showing successful execution of Recipes and ssh_users on php-app1.\]](http://docs.aws.amazon.com/es_es/opsworks/latest/userguide/images/command_details.png)


Para ver todos los detalles, haga clic en **show (mostrar)** en la columna **Log (Registro)** del comando para consultar el registro de Chef asociado. Busca en el registro. **Run List** OpsWorks Las recetas de mantenimiento de Stacks estarán debajo`OpsWorks Custom Run List`. Por ejemplo, a continuación se ve la lista para ejecutar el comando `execute_recipes` que aparece en la imagen anterior y que muestra cada receta asociada con el comando.

```
[2014-02-21T17:16:30+00:00] INFO: OpsWorks Custom Run List: ["opsworks_stack_state_sync",
  "ssh_users", "test_suite", "opsworks_cleanup"]
```

## Solución de problemas de registro de instancias
<a name="common-issues-instance-registration"></a>

Esta sección contiene algunos de los problemas más comunes de registro de instancias y sus soluciones.

**nota**  
Si tiene problemas de registro, ejecute `register` con el argumento `--debug`, que proporciona información de depuración adicional.

**Topics**
+ [EC2El usuario no está autorizado a realizar:...](#common-issues-instance-registration-ec2user)
+ [Las credenciales deben limitarse a una región válida](#common-issues-instance-registration-valid-region)

### EC2El usuario no está autorizado a realizar:...
<a name="common-issues-instance-registration-ec2user"></a>

**Problema:** un comando `register` devuelve algo parecido a lo siguiente:

```
A client error (AccessDenied) occurred when calling the CreateGroup operation: 
User: arn:aws:iam::123456789012:user/ImportEC2User is not authorized to
perform: iam:CreateGroup on resource: 
arn:aws:iam::123456789012:group/AWS/OpsWorks/OpsWorks-b583ce55-1d01-4695-b3e5-ee19257d1911
```

**Causa:** el comando `register` se ejecuta con unas credenciales que no otorgan los permisos necesarios. La política del usuario debe permitir la acción `iam:CreateGroup`, entre otras.

**Solución:** proporcionar a `register` las credenciales de usuario de IAM que disponen de los permisos necesarios. Para obtener más información, consulte [Instalación y configuración de la AWS CLI](registered-instances-register-registering-cli.md).

### Las credenciales deben limitarse a una región válida
<a name="common-issues-instance-registration-valid-region"></a>

**Problema:** un comando `register` devuelve lo siguiente:

```
A client error (InvalidSignatureException) occurred when calling the
DescribeStacks operation: Credential should be scoped to a valid region, not 'cn-north-1'.
```

**Causa:** la región del comando debe ser una región de OpsWorks Stacks válida. Para obtener una lista de las regiones compatibles, consulte [Compatibilidad de la región](gettingstarted_intro.md#gettingstarted-intro-region). Este error suele deberse a una de las razones siguientes:
+ La pila está en otra región y ha asignado una región de la pila al argumento `--region` del comando.

  No necesitas especificar una región de pila; OpsWorks Stacks la determina automáticamente a partir del ID de pila.
+ Ha omitido el argumento `--region`, que especifica de forma implícita la región predeterminada, pero su región predeterminada no es compatible con OpsWorks Stacks.

**Solución:** establece `--region` explícitamente una región `` de OpsWorks Stacks compatible o edita tu AWS CLI `config` archivo para cambiar la región predeterminada a una región de OpsWorks Stacks compatible. Para obtener más información, consulte el tema sobre [configuración de la interfaz de línea de comandos de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).