Solución de problemas AWS OpsWorks for Chef Automate - AWS OpsWorks

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.

Solución de problemas AWS OpsWorks for Chef Automate

importante

AWS OpsWorks para Chef Automate llegó al final de su ciclo de vida el 5 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos que los clientes actuales migren a Chef SaaS o a una solución alternativa. Si tienes alguna pregunta, puedes ponerte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

Este tema contiene algunos AWS OpsWorks for Chef Automate problemas comunes y sugerencias de soluciones para esos problemas.

Consejos generales para la solución de problemas

Si no puede crear un servidor Chef o trabajar con un servidor Chef, los mensajes de error o los registros pueden serle útiles para solucionar el problema. En las tareas siguientes se describe por qué ubicaciones generales hay que comenzar para solucionar un problema relacionado con un servidor Chef. Para obtener más información sobre errores y soluciones concretos, consulte la sección Solución de problemas específicos de este tema.

  • Utilice la AWS OpsWorks for Chef Automate consola para ver los mensajes de error si un servidor Chef no se inicia. En la página de detalles del servidor Chef, en la parte superior de la página se muestran los mensajes de error relacionados con el lanzamiento y la ejecución del servidor. Los errores pueden provenir de AWS OpsWorks for Chef Automate los servicios de Amazon EC2 que se utilizan para crear un servidor Chef. AWS CloudFormation En la página de detalles, también podrá ver los eventos que se producen en un servidor que se está ejecutando y que pueden contener mensajes de eventos de error.

  • Para resolver problemas de EC2, conéctese a la instancia del servidor mediante SSH y consulte los registros. Los registros de las instancias EC2 se almacenan en el directorio /var/log/aws/opsworks-cm. Estos registros capturan los resultados de los comandos mientras se AWS OpsWorks for Chef Automate lanza un servidor Chef.

Solución de problemas específicos

El servidor está en un estado de Conexión Perdida

Problema: el estado de un servidor es conexión Perdida.

Causa: esto ocurre con mayor frecuencia cuando una entidad externa AWS OpsWorks realiza cambios en un AWS OpsWorks for Chef Automate servidor o en sus recursos de soporte. AWS OpsWorks no puede conectarse a los servidores de Chef Automate en estados de conexión perdida para realizar tareas de mantenimiento, como crear copias de seguridad, aplicar parches del sistema operativo o actualizar Chef Automate. Como resultado, es posible que al servidor le falten actualizaciones importantes, que se le presenten problemas de seguridad o que no funcione como se esperaba.

Solución: pruebe los siguientes pasos para restablecer la conexión del servidor.

  1. Asegúrese de que su rol de servicio tenga todos los permisos necesarios.

    1. En la página Configuración de su servidor, en Red y seguridad, seleccione el enlace correspondiente al rol de servicio que utiliza el servidor. Esto abre el rol de servicio para su visualización en la consola de IAM.

    2. En la pestaña Permisos, compruebe que AWSOpsWorksCMServiceRole se encuentra en la lista de Políticas de permisos. Si no aparece en la lista, agregue la política AWSOpsWorksCMServiceRole administrada manualmente al rol.

    3. En la pestaña Relaciones de confianza, compruebe que el rol de servicio tenga una política de confianza que confíe en que el opsworks-cm.amazonaws.com servicio asuma las funciones en su nombre. Para obtener más información sobre cómo usar las políticas de confianza con los roles, consulte Modificación de un rol (consola) o la entrada del blog de AWS seguridad, Cómo usar las políticas de confianza con los roles de IAM.

  2. Asegúrese de que el perfil de instancia tenga todos los permisos necesarios.

    1. En la página Configuración de su servidor, en Red y seguridad, elija el enlace para el perfil de instancia que está utilizando el servidor. Esto abre el perfil de instancia para su visualización en la consola de IAM.

    2. En la pestaña Permisos, compruebe que AmazonEC2RoleforSSM y AWSOpsWorksCMInstanceProfileRole se encuentran en la lista de políticas de permisos. Si una o ambas no aparecen en la lista, añada estas políticas administradas manualmente al rol.

    3. En la pestaña Relaciones de confianza, compruebe que el rol de servicio tenga una política de confianza que confíe en que el ec2.amazonaws.com servicio asuma las funciones en su nombre. Para obtener más información sobre cómo usar las políticas de confianza con los roles, consulte Modificación de un rol (consola) o la entrada del blog de AWS seguridad, Cómo usar las políticas de confianza con los roles de IAM.

  3. En la consola de Amazon EC2, asegúrese de que se encuentra en la misma región que la región del AWS OpsWorks for Chef Automate servidor y, a continuación, reinicie la instancia de EC2 que utiliza su servidor.

    1. Elija la instancia de EC2 denominada aws-opsworks-cm-instance-server-name.

    2. En el menu Estado de la instancia, elija Reiniciar instancia.

    3. Espere hasta 15 minutos para que el servidor se reinicie y esté completamente en línea.

  4. En la AWS OpsWorks for Chef Automate consola, en la página de detalles del servidor, compruebe que el estado del servidor es correcto.

Si el estado del servidor sigue siendo Conexión perdida tras realizar los pasos anteriores, intente una de las siguientes acciones.

El nodo administrado se muestra en el panel de Chef Automate, en la columna Missing.

Problema: se muestra un nodo administrado en la columna Missing (Faltante) del panel de Chef Automate.

Causa: cuando un nodo no se conecta al servidor Chef Automate durante más de 12 horas y chef-client no se puede ejecutar en el nodo, el nodo cambia el estado que tenía antes del período de 12 horas y se traslada a la columna Missing (Faltante) del panel de Chef Automate.

Solución: compruebe que el nodo esté online. Ejecute knife node show node_name --run-list para ver si chef-client puede ejecutarse en el nodo o knife node show -l node_name para mostrar toda la información sobre el nodo. El nodo puede estar sin conexión o desconectado de la red.

No se puede crear un almacén de Chef; el comando knife vault da error.

Problema: está intentando crear un almacén en el servidor Chef Automate (por ejemplo, un almacén para almacenar credenciales de nodos basados en Windows para unirse a dominios) ejecutando el comando knife vault. El comando devuelve un mensaje de error similar al siguiente.

WARN: Auto inflation of JSON data is deprecated. Please pass in the class to inflate or use #edit_hash (CHEF-1) at /opt/chefdk/embedded/lib/ruby/2.3.0/forwardable.rb:189:in `edit_data'.Please see https://docs.chef.io/deprecations_json_auto_inflate.html for further details and information on how to correct this problem. WARNING: pivotal not found in users, trying clients. ERROR: ChefVault::Exceptions::AdminNotFound: FATAL: Could not find pivotal in users or clients!

El usuario central no se devuelve cuando ejecuta knife user list de forma remota, pero puede verlo en los resultados cuando ejecuta el comando chef-server-ctl user-show localmente en su servidor Chef Automate. En otras palabras, el comando knife vault no puede encontrar al usuario central, pero usted sabe que existe.

Causa: aunque se considere que el usuario central es un superusuario en Chef y este tenga permisos totales, no es miembro de ninguna organización, incluida la organización default que se utiliza en AWS OpsWorks for Chef Automate. El comando knife user list devuelve todos los usuarios que están en la organización actual en su configuración de Chef. El comando chef-server-ctl user-show devuelve todos los usuarios sea cual sea la organización, incluido el usuario central.

Solución: para solucionar el problema, añada el usuario central a la organización predeterminada ejecutando knife opc.

Primero tendrá que instalar el complemento knife-opc.

chef gem install knife-opc

Después de instalar el complemento, ejecute el siguiente comando para añadir el usuario central a la organización predeterminada.

knife opc org user add default pivotal

Puede comprobar que el usuario central forme parte de la organización predeterminada volviendo a ejecutar knife user list. pivotal debería aparecer entre los resultados. A continuación, pruebe a ejecutar knife vault otra vez.

La creación del servidor da error con un mensaje parecido al siguiente "requested configuration is currently not supported".

Problema: está intentando crear un servidor Chef Automate, pero el proceso de creación del servidor da error, y aparece un mensaje parecido a "The requested configuration is currently not supported. Please check the documentation for supported configurations".

Causa: puede que se haya especificado un tipo de instancia no admitido en el servidor Chef Automate. Si decide crear el servidor Chef Automate en una VPC que tenga una tenencia no predeterminada, como una tenencia para instancias dedicadas, todas las instancias del interior de la VPC especificada tienen que estar asociadas a una tenencia dedicada o de host. Dado que algunos tipos de instancias, como las t2, solo están disponibles con tenencias predeterminadas, puede que la VPC especificada no admita el tipo de instancia de servidor Chef Automate y que se produzca un error en la creación del servidor.

Solución: si elige una VPC con tenencia no predeterminada, use un tipo de instancia m4, que admita tenencias dedicadas.

El servidor Chef no reconoce los nombres de organización agregados al panel de Chef Automate.

Problema: ha añadido nombres de organización de flujo de trabajo nuevos al panel de Chef Automate o ha especificado un valor CHEF_AUTOMATE_ORGANIZATION que no es "default" en el script de asociación sin vigilancia de los nodos, pero la asociación de nodos da un error. Su servidor de AWS OpsWorks for Chef Automate no reconoce los nombres de organización nuevos.

Causa: los nombres de organización de flujo de trabajo y los nombres de organización del servidor Chef no son los mismos. Puede crear nuevas organizaciones de flujo de trabajo en el panel de Chef Automate basado en la web, pero no nombres de organizaciones del servidor Chef. Puede usar el panel de Chef Automate solo para ver las organizaciones del servidor Chef ya existentes. Las organizaciones nuevas que crea en el panel de Chef Automate son organizaciones de flujo de trabajo y el servidor Chef no las reconoce. No puede crear nuevos nombres de organización especificándolos en el script de asociación de nodos. Si hace referencia a un nombre de organización en un script de asociación de nodos y la organización no se ha añadido al servidor Chef, la asociación de nodos generará un error.

Solución: para crear nuevas organizaciones que estén reconocidas en el servidor Chef, utilice el comando knife opc org create o ejecute chef-server-ctl org-create.

No se puede crear la instancia de Amazon EC2 del servidor.

Problema: la creación del servidor da un error con un mensaje parecido al siguiente: "The following resource(s) failed to create: [EC2Instance]. Failed to receive 1 resource signal(s) within the specified duration".

Causa: este error se debe probablemente a que la instancia EC2 no tiene acceso a la red.

Solución: asegúrese de que la instancia tenga acceso saliente a Internet y que el agente de AWS servicio pueda emitir comandos. Asegúrese de que su VPC (una VPC con una sola subred pública) tenga DNS resolution (Resolución de DNS) habilitada y que su subred tenga la configuración Auto-assign Public IP (Asignar automáticamente IP pública) habilitada.

Un error de rol de servicio impide la creación del servidor.

Problema: la creación del servidor falla y aparece un mensaje de error que indica: «No estoy autorizado para ejecutar sts:AssumeRole».

Causa: este caso puede darse cuando el rol del servicio que utiliza no tiene los permisos suficientes para crear un servidor nuevo.

Solución: abra la AWS OpsWorks for Chef Automate consola y utilícela para generar un nuevo rol de servicio y un rol de perfil de instancia. Si prefiere usar su propio rol de servicio, asocie la AWSOpsWorksCMServiceRolepolítica al rol. Verifique que opsworks-cm.amazonaws.com aparezca entre los servicios en la lista Relaciones de confianza del rol. Compruebe que la función de servicio asociada al servidor Chef tenga asociada la política AWSOpsWorksCMServiceRolegestionada.

Se ha superado el límite de direcciones IP elásticas.

Problema: la creación del servidor da un error con un mensaje parecido al siguiente "The following resource(s) failed to create: [EIP, EC2Instance]. Resource creation cancelled, the maximum number of addresses has been reached."

Causa: este error se produce cuando su cuenta ha utilizado la cantidad máxima de direcciones IP elásticas (EIP). El límite predeterminado de direcciones EIP es cinco.

Solución: puede liberar las direcciones EIP existentes o eliminar las que su cuenta no utilice activamente, o puede ponerse en contacto con AWS Customer Support para aumentar el límite de direcciones EIP asociadas a su cuenta.

No se puede iniciar sesión en el panel de Chef Automate

Problema: el panel de Chef Automate muestra un error similar al siguiente: "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://myserver-name.region.opsworks-cm.io/api/v0/e/default/verify-token. (Reason: CORS header 'Access-Control-Allow-Origin' missing)". El error también puede ser similar a "The User Id / Password combination entered is incorrect".

Causa: el panel de Chef Automate define explícitamente el FQDN y no acepta direcciones URL relativas. En estos momentos no puede iniciar sesión con la dirección IP del servidor Chef; solo puede iniciar sesión utilizando el nombre de DNS del servidor.

Solución: inicie sesión en el panel de Chef Automate solo con la entrada de nombre de DNS de servidor Chef y no su dirección IP. También puede intentar volver a establecer las credenciales del panel de Chef Automate ejecutando un comando de AWS CLI tal y como se describe en Restablecer las credenciales del panel de Chef Automatice.

Una asociación de nodo desatendida da error.

Problema: una asociación desatendida o automática de nodos de Amazon EC2 nuevos está fracasando. Los nodos que deberían haberse añadido al servidor Chef no aparecen en el panel de Chef Automate y no figuran en los resultados de los comandos knife client show o knife node show.

Causa: este error puede producirse cuando no se tiene configurado un rol de IAM como perfil de instancia que permita llamadas al API opsworks-cm para comunicar con las instancias EC2 nuevas.

Solución: adjunte a su perfil de instancia EC2 una política que permita que las llamadas al API AssociateNode y DescribeNodeAssociationStatus funcionen con EC2, tal y como se describe en Añada nodos automáticamente en AWS OpsWorks for Chef Automate.

Fallos en el mantenimiento del sistema

AWS OpsWorks CM realiza un mantenimiento semanal del sistema para garantizar que las últimas versiones secundarias de Chef Server y Chef Automate Server, incluidas las actualizaciones de seguridad, se ejecuten siempre en un servidor de AWS OpsWorks for Chef Automate. Si, por algún motivo, se produce un error en el mantenimiento del sistema, AWS OpsWorks CM se le notifica el fallo. Para obtener más información sobre el mantenimiento del sistema, consulte Mantenimiento del sistema en AWS OpsWorks for Chef Automate.

En esta sección se describen los posibles motivos del fallo y se sugieren soluciones.

Un error en el rol de servicio o en el perfil de instancia impide el mantenimiento del sistema

Problema: el mantenimiento del sistema no funciona y aparece un mensaje de error que indica «No estoy autorizado para ejecutar el comando sts:AssumeRole» o un mensaje de error similar sobre los permisos.

Causa: esto puede ocurrir cuando el rol de servicio o el perfil de instancia que está utilizando carecen de los permisos adecuados para realizar el mantenimiento del sistema en el servidor.

Solución: asegúrese de que el rol de servicio y el perfil de instancia tengan todos los permisos necesarios.

  1. Asegúrese de que su rol de servicio tenga todos los permisos necesarios.

    1. En la página Configuración de su servidor, en Red y seguridad, seleccione el enlace correspondiente al rol de servicio que utiliza el servidor. Esto abre el rol de servicio para su visualización en la consola de IAM.

    2. En la pestaña Permisos, verifique que AWSOpsWorksCMServiceRole esté asociada al rol de servicio. Si AWSOpsWorksCMServiceRole no aparece en la lista, añada esta política al rol.

    3. Verifique que opsworks-cm.amazonaws.com aparezca entre los servicios en la lista Relaciones de confianza del rol. Para obtener más información sobre cómo usar las políticas de confianza con los roles, consulte Modificación de un rol (consola) o la entrada del blog de AWS seguridad, Cómo usar las políticas de confianza con los roles de IAM.

  2. Asegúrese de que el perfil de instancia tenga todos los permisos necesarios.

    1. En la página Configuración de su servidor, en Red y seguridad, elija el enlace para el perfil de instancia que está utilizando el servidor. Esto abre el perfil de instancia para su visualización en la consola de IAM.

    2. En la pestaña Permisos, compruebe que AmazonEC2RoleforSSM y AWSOpsWorksCMInstanceProfileRole se encuentran en la lista de políticas de permisos. Si una o ambas no aparecen en la lista, añada estas políticas administradas manualmente al rol.

    3. En la pestaña Relaciones de confianza, compruebe que el rol de servicio tenga una política de confianza que confíe en que el ec2.amazonaws.com servicio asuma las funciones en su nombre. Para obtener más información sobre cómo usar las políticas de confianza con los roles, consulte Modificación de un rol (consola) o la entrada del blog de AWS seguridad, Cómo usar las políticas de confianza con los roles de IAM.

Ayuda y soporte adicional

Si no ve su problema específico descrito en este tema o ha aplicado las sugerencias de este tema y sigue teniendo problemas, visite los foros de AWS OpsWorks.

También puede visitar el Centro de AWS Support. El AWS Support Center es el centro donde se crean y gestionan los casos de AWS Support. El AWS Support Center también incluye enlaces a otros recursos útiles, como foros, preguntas frecuentes técnicas, estado del servicio y AWS Trusted Advisor.