¿Cómo puedo enviar el resultado de los datos de usuario a los registros de la consola en una instancia de EC2 en Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023?

3 minutos de lectura
0

Quiero registrar la invocación de los datos de usuario y enviarla a los registros de la consola en mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2).

Descripción corta

Para solucionar problemas con la instancia de EC2, modifique el script bash de datos de usuario para redirigir todos los resultados a la consola. Redirija el resultado a /var/log/user-data.log y /dev/console. Cuando se ejecuta el script, puede ver los registros de invocación de datos de usuario directamente en la consola.

Nota: Esta solución solo es válida para Amazon Linux 1, Amazon Linux 2 y Amazon Linux 2023. Para obtener información sobre las instancias que ejecutan RHEL 7 o RHEL 8, consulte ¿Cómo puedo enviar los resultados de los datos de usuario a los registros de la consola en una instancia de EC2 que ejecuta RHEL 7 o RHEL 8?

Resolución

Siga estos pasos:

  1. Detenga la instancia.

  2. Elija Acciones, Configuración de la instancia y, a continuación, Editar datos de usuario.

  3. Agregue el siguiente script y, a continuación, seleccione Guardar.

    Content-Type: multipart/mixed; boundary="//
    "MIME-Version: 1.0
    
    --//
    Content-Type: text/cloud-config; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment; filename="cloud-config.txt"
    
    #cloud-config
    cloud_final_modules:
    - [scripts-user, always]
    
    --//
    Content-Type: text/x-shellscript; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Disposition: attachment; filename="userdata.txt"
    
    #!/bin/bash -xe
    
    exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
    cat /etc/os-release | grep PRETTY_NAME
    echo "Hello from user-data!"
    
    --//--

    Nota: El script para redirigir el resultado de los datos de usuario comienza con la línea #!/bin/bash -xe. El script anterior contiene datos de configuración de cloud-init que ejecutan un script de shell cada vez que se inicia la instancia. Para obtener más información, consulte ¿Cómo puedo utilizar los datos del usuario para ejecutar automáticamente un script con cada reinicio de mi instancia de Amazon EC2 Linux? En el comando anterior, la línea siguiente redirige el resultado de los datos de usuario:

    exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1

    A continuación se muestra un ejemplo de resultado de la consola de una instancia de Amazon Linux 2023:

    <13>Aug 13 18:43:39 user-data: + cat /etc/os-release
    <13>Aug 13 18:43:39 user-data: + grep PRETTY_NAME
    <13>Aug 13 18:43:39 user-data: PRETTY_NAME="Amazon Linux 2023.5.20240805"
    <13>Aug 13 18:43:39 user-data: + echo 'Hello from user-data!'
    <13>Aug 13 18:43:39 user-data: Hello from user-data!

    Nota: El resultado del registro del sistema publicado (consola) no se actualiza continuamente. Las instancias integradas en el sistema Nitro admiten la recuperación del último resultado de la consola serie. Para obtener más información, consulte Salida de la consola de instancias.

Información relacionada

Ejecución de comandos al iniciar una instancia de EC2 con la entrada de datos de usuario

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 7 meses