Azure Automation en un entorno híbrido

Automatización
Azure Portal
Monitor
Virtual Machines

Esta arquitectura de referencia muestra cómo ampliar la automatización a otros proveedores de servicios en la nube o en el entorno local. Describe los servicios que se deben implementar en Azure para proporcionar administración y configuración automatizadas en otros proveedores en el entorno local o la nube. La misma arquitectura se puede aplicar en las máquinas virtuales (VM) de Azure que residen detrás de un firewall, con conectividad saliente a través del puerto TCP 443.

Azure Automation en un entorno híbrido

Descargue un archivo Visio de esta arquitectura.

Los usos habituales de esta arquitectura incluyen:

  • Administración y configuración automatizadas en Azure, en el entorno local o en otros proveedores de nube.
  • Automatización de máquinas virtuales (VM) de Azure que residen detrás de un firewall, con conectividad saliente a través del puerto TCP 443.

Architecture

La arquitectura consta de los siguientes componentes:

  • Área de trabajo de Log Analytics: Un área de trabajo de Log Analytics es un repositorio de datos para los datos de registro que se recopilan de los recursos que se ejecutan en Azure, de forma local o en otro proveedor de nube.
  • Solución Automation Hybrid Worker: con ella, puede crear instancias de Hybrid Runbook Worker para ejecutar runbooks de Azure Automation en equipos de Azure y de otro tipo.
  • Cuenta de Automation: servicio en la nube que permite automatizar la configuración y la administración tanto en entornos de Azure como de otro tipo.
  • Hybrid Runbook Worker: se trata de un equipo configurado con la característica Hybrid Runbook Worker que puede ejecutar runbooks directamente en el equipo y en los recursos del entorno local.
  • Grupo de Hybrid Runbook Worker: agrupa varias instancias de Hybrid Runbook Worker para obtener una mayor disponibilidad y escalabilidad al ejecutar un conjunto de runbooks.
  • Runbook: una colección de una o varias actividades vinculadas que juntas automatizan un proceso o una operación.
  • Máquinas locales y máquinas virtuales. Los equipos locales y las máquinas virtuales con el sistema operativo Windows o Linux hospedado en una red de área local privada.

Recomendaciones

Las siguientes recomendaciones aplican para la mayoría de los escenarios. Sígalas a menos que tenga un requisito concreto que las invalide.

En los pasos siguientes se resalta la implementación real:

  • Creación de un área de trabajo de Log Analytics
  • Incorporación de una solución Automation Hybrid Worker
  • Creación de una cuenta de Automation
  • Vinculación de una cuenta de Automation con un área de trabajo de Log Analytics
  • Implementación de un agente de Log Analytics y conexión a un área de trabajo de Log Analytics
  • Implementación de un grupo de Hybrid Runbook Worker e instancia de Hybrid Runbook Worker en un equipo Windows local (máquina virtual Linux opcional)
  • Creación de un runbook en Azure Automation
  • Creación de una cuenta de ejecución para la autenticación (si es aplicable)
  • Implementación de un runbook en un grupo de Hybrid Runbook Worker

Creación de un área de trabajo de Log Analytics

Antes de crear un área de trabajo de Log Analytics, asegúrese de que tiene al menos los permisos del rol Colaborador de Log Analytics. Una suscripción de Azure puede incluir más de un área de trabajo de Log Analytics para el aislamiento de datos o para la ubicación geográfica del almacenamiento de datos, pero el agente de Log Analytics se puede configurar para informar a un área de trabajo de Log Analytics. Para obtener más información, consulte la guía de diseño de registros de Azure Monitor antes de crear el área de trabajo. Use los siguientes pasos para crear un área de trabajo de Log Analytics:

  1. Inicie sesión en Azure Portal en https://portal.azure.com.
  2. En Azure Portal, seleccione Crear un recurso. En el cuadro Buscar en Marketplace, escriba Log Analytics. Cuando comience a escribir, la lista se filtrará en función de la entrada. Seleccione Áreas de trabajo de Log Analytics.
  3. Seleccione Crear y, después, seleccione opciones para los elementos siguientes:
    1. Seleccione la Suscripción a la que vincularlo en la lista desplegable si la opción predeterminada seleccionada no es adecuada.
    2. En el caso del Grupo de recursos, use un grupo de recursos existente o cree uno nuevo.
    3. Proporcione el nombre único para la nueva área de trabajo de Log Analytics como, por ejemplo, Hybrid Workspace-su nombre.
    4. Seleccione la Ubicación de la implementación.
    5. Seleccione Plan de tarifa para continuar con las demás personalizaciones.
    6. Si va a crear un área de trabajo en una suscripción que ha creado después del 2 de abril de 2018, esta usará automáticamente el plan de tarifa Por GB. La opción para seleccionar un plan de tarifa no estará disponible. Si va a crear un área de trabajo para una suscripción existente creada antes del 2 de abril de 2018 o para una suscripción asociada a una inscripción de Contrato Enterprise existente, seleccione el plan de tarifa que prefiera. Para obtener más información sobre niveles de servicio concretos, consulte los detalles de precios de Log Analytics.
    7. Seleccione Etiquetas y, si quiere, proporcione un nombre/valor para la categorización de los recursos.
    8. Seleccione Revisar + crear.
  4. Después de proporcionar la información necesaria en el panel Área de trabajo de Log Analytics, seleccione Crear.

Incorporación de una solución Automation Hybrid Worker

A continuación, prepare el área de trabajo de Log Analytics con los componentes necesarios para la instancia de Hybrid Runbook Worker. Siga estos pasos para agregar la solución Automation Hybrid Worker:

  1. En Azure Portal, seleccione Crear un recurso.
  2. En el campo Buscar en Marketplace, escriba Automation Hybrid Worker. Cuando comience a escribir, la lista se filtrará en función de la entrada. Seleccione Automation Hybrid Worker.
  3. Seleccione crear y, a continuación, seleccione el área de trabajo de Log Analytics que creó en el paso anterior. Por ejemplo, HybridWorkspace-sunombre.
  4. Después de proporcionar la información necesaria en el panel Automation Hybrid Worker, seleccione Crear.

Creación de una cuenta de Automation

Cuando la solución Automation Hybrid Worker se haya agregado al área de trabajo de Log Analytics, continúe con la creación de la cuenta de Azure Automation. Es importante que cree la cuenta de Automation en la misma región y, preferiblemente, en el mismo grupo de recursos que el área de trabajo Log Analytics.

Para crear la cuenta de Automation, siga estos pasos:

  1. En Azure Portal, seleccione Crear un recurso.
  2. En Buscar en Marketplace, escriba Automation. Cuando comience, la lista se filtrará en función de la entrada. Seleccione Automation y después Crear.
  3. Seleccione Crear y, después, seleccione opciones para los elementos siguientes:
    • Proporcione el Nombre para la cuenta de Automation, como hybrid-auto.
    • Seleccione la Suscripción a la que vincularlo en la lista desplegable si la opción predeterminada seleccionada no es adecuada.
    • En el caso de un Grupo de recursos, elija el mismo grupo de recursos en el que ha creado el área de trabajo de Log Analytics.
    • Seleccione la Ubicación para que sea la misma que la del área de trabajo de Log Analytics.
    • La característica Crear cuenta de ejecución de Azure es opcional, ya que solo proporciona autenticación con Azure para administrar los recursos de Azure desde los runbooks de Automation.
  4. Después de proporcionar la información necesaria en el panel Agregar cuenta de Automation, seleccione Crear.

Las cuentas de Automation usan los componentes de Hybrid Runbook Worker que están implementados en el área de trabajo de Log Analytics. Integre esos servicios antes de implementar un agente de Log Analytics en una máquina local. Si tiene previsto usar la misma cuenta de Automation para Update Management y Change Tracking, debe asignar el área de trabajo de Log Analytics y la cuenta de Automation. Actualmente, las asignaciones entre el área de trabajo de Log Analytics y la cuenta de Automation se admiten en varias regiones. Para más información, consulte Regiones admitidas para el área de trabajo de Log Analytics vinculada.

Use los siguientes pasos para vincular la cuenta de Automation a un área de trabajo de Log Analytics:

  1. En Azure Portal, seleccione Todos los servicios y, después, escriba automation. Cuando comience a escribir, la lista se filtrará en función de la entrada. Seleccione Cuenta de Automation y, a continuación, seleccione la cuenta de Automation que creó en el paso anterior.
  2. En el panel Cuenta de Automation, en la sección Update Management, seleccione Update Management.
  3. En el panel Update Management, seleccione las opciones para los siguientes elementos:
    • Seleccione la Suscripción a la que vincularlo en la lista desplegable si la opción predeterminada seleccionada no es adecuada.
    • En Área de trabajo de Log Analytics, seleccione el área de trabajo de Log Analytics que creó. Por ejemplo, HybridWorkspace-Marjan.
  4. Después de proporcionar la información necesaria en el panel Update Management, seleccione Habilitar.

Implementación de un agente de Log Analytics y conexión a un área de trabajo de Log Analytics

La implementación de un componente de Hybrid Runbook Worker forma parte de la implementación del agente de Log Analytics.

Si prueba la solución con una VM de Azure, instale el agente de Log Analytics e inscriba la VM en un área de trabajo de Log Analytics existente con una extensión de VM para Linux y Windows. Implemente el agente mediante Desired State Configuration (DSC) de Azure Automation, un script de PowerShell o use una plantilla de Resource Manager para las VM. Para obtener más información, consulte el siguiente artículo: Conexión de equipos Windows a Azure Monitor.

En el caso de las VM que no son de Azure, implemente el agente en equipos Windows y Linux ya sean físicos o máquinas virtuales, mediante un proceso manual o automatizado.

En el caso de las máquinas Windows, configure el agente para que se comunique el área de trabajo de Log Analytics mediante el protocolo TLS 1.2. El procedimiento de implementación se explica detalladamente en el siguiente artículo: Conexión de equipos Windows a Azure Monitor.

El agente de Log Analytics para Linux se puede implementar de las siguientes maneras:

  • Manualmente con un conjunto de scripts de shell que contiene los paquetes de Debian y de Red Hat Package Manager (RPM) para cada uno de los componentes del agente. Esta opción se recomienda cuando una máquina Linux no tiene conectividad a Internet y se comunicará con el servicio Log Analytics a través de la puerta de enlace de Log Analytics.
  • Con un script contenedor hospedado en GitHub cuando el equipo tiene conectividad a Internet.

El agente de Log Analytics debe estar configurado para comunicarse con un área de trabajo de Log Analytics mediante el id. de área de trabajo y la clave del área de trabajo de Log Analytics.

Use los pasos siguientes para implementar un agente de Log Analytics y conectarlo a un área de trabajo de Log Analytics:

  1. En Azure Portal, busque y seleccione Áreas de trabajo de Log Analytics.
  2. En la lista de áreas de trabajo de Log Analytics, seleccione la que quiere configurar para que reciba los informes del agente.
  3. Seleccione Administración de agentes.
  4. En su editor favorito, copie y pegue el Id. del área de trabajo y la Clave principal.
  5. En el área de trabajo de Log Analytics, en la página Servidores Windows a la que navegó anteriormente, use Descargar el agente para Windows para seleccionar la versión que quiera descargar según la arquitectura del procesador del sistema operativo Windows.
  6. Ejecute el programa de instalación para instalar al agente en el equipo.
  7. En la página Principal, seleccione Siguiente.
  8. En la página Términos de licencia, lea la licencia y después seleccione Acepto.
  9. En la página Carpeta de destino, cambie o mantenga la carpeta de instalación predeterminada y después seleccione Siguiente.
  10. En la página Opciones de instalación del agente, elija la opción para conectar el agente a Azure Log Analytics y, luego, seleccione Siguiente.
  11. En la página Azure Log Analytics, haga lo siguiente:
    • Pegue el Id. del área de trabajo y la Clave del área de trabajo (clave principal) que copió anteriormente. Si el equipo tiene que notificar a un área de trabajo de Log Analytics en Azure Government Cloud, seleccione Azure Gobierno de EE.UU. desde la lista desplegable Azure Cloud.
    • Si el equipo necesita comunicarse a través de un servidor proxy con el servicio de Log Analytics, seleccione Avanzado y proporcione la dirección URL y el número de puerto del servidor proxy. Si el servidor proxy requiere autenticación, escriba el nombre de usuario y la contraseña para autenticarlos con el servidor proxy y, luego, seleccione Siguiente.
  12. Seleccione Siguiente cuando termine de proporcionar las opciones de configuración necesarias.

Implementación de un grupo de Hybrid Runbook Worker e instancia de Hybrid Runbook Worker en una máquina Windows local (máquina virtual Linux opcional)

El rol de Hybrid Runbook Worker requiere el agente de Log Analytics para el sistema operativo Linux compatible.

Implemente un rol de Hybrid Worker en una máquina con Windows mediante la implementación manual y automática.

En el caso de la implementación automatizada, Microsoft proporciona scripts de PowerShell New-OnPremiseHybridWorker.ps1 que se pueden descargar de la Galería de PowerShell.

En el caso de la implementación manual, el agente de Log Analytics descargará los componentes necesarios para Hybrid Runbook Worker en el área de trabajo de Log Analytics. El vínculo que existe entre el área de trabajo de Log Analytics y la cuenta de Azure Automation insertará el módulo de PowerShell HybridRegistration, que contiene el cmdlet Add-HybridRunbookWorker.

Use el siguiente procedimiento para implementar manualmente un grupo de Hybrid Runbook Worker e instancia de Hybrid Runbook Worker en una máquina Windows local:

  1. En Azure Portal, busque y seleccione Cuenta de Automation.
  2. En la lista de cuentas de Automation, seleccione la que quiere configurar para que reciba los informes del agente.
  3. En la sección Configuración de la cuenta, seleccione Claves.
  4. En su editor favorito, copie y pegue la Clave de acceso principal y la URL.
  5. Encienda la máquina Windows, abra una sesión de PowerShell en modo Administrador y después ejecute los siguientes comandos para importar el módulo:
cd "C:\Program Files\Microsoft Monitoring Agent\Agent\AzureAutomation\\<version>\HybridRegistration"

Import-Module .\HybridRegistration.psd1
  1. Ahora ejecute el cmdlet Add-HybridRunbookWorker con la siguiente sintaxis:
Add-HybridRunbookWorker –GroupName <String> -Url <Url> -Key <String>

Nota

En el caso de la URL, use la URL registrada previamente y, en el caso de la Clave, use la Clave de acceso principal copiada anteriormente.

Creación de un runbook en Azure Automation

Para administrar los recursos en un equipo local o en recursos en el entorno local en el que se implementó la instancia de Hybrid Worker, debe crear un runbook. Agregue un runbook a Azure Automation; para ello, puede crear uno o importar otro existente desde un archivo o desde la Galería de runbooks.

Nota

Cuando la máquina host de Hybrid Runbook Worker se reinicia, todos los trabajos de runbook en ejecución se reinician desde el principio o desde el último punto de comprobación, en el caso de los runbooks de Flujo de trabajo de PowerShell. Esto sucede un máximo de tres veces y, a continuación, se suspende.

Siga estos pasos para crear o importar un runbook en Azure Automation:

  1. En Azure Portal, busque y, después, seleccione Cuenta de Automation.
  2. En la lista de cuentas de Automation, seleccione la que quiere configurar para que reciba los informes del agente.
  3. En la sección Automatización de procesos, seleccione Runbooks.
  4. Seleccione Crear un Runbook o Importar un runbook para configurar la tarea de automatización que se ejecutará en los equipos locales.

Creación de una cuenta de ejecución para la autenticación (según corresponda)

Las instancias de Hybrid Runbook Worker en VM de Azure pueden usar identidades administradas de Azure Active Directory para autenticarse en los recursos de Azure.

Un runbook que pueda crear trabajos en Hybrid Runbook Worker opera de manera predeterminada en la cuenta del sistema local en Windows, o en la cuenta nxautomation en Linux.

Para obtener acceso a los recursos locales mediante una autenticación diferente, especifique una cuenta de ejecución para un grupo de Hybrid Runbook Worker. La cuenta de ejecución se define mediante un recurso de credencial que tiene permisos suficientes para acceder a los recursos locales.

Siga estos pasos para crear una cuenta de ejecución para la autenticación:

  1. En Azure Portal, busque y, después, seleccione Cuenta de Automation.
  2. En la lista de cuentas de Automation, seleccione la que creó anteriormente.
  3. En la sección Recursos compartidos, seleccione Credenciales.
  4. Seleccione Agregar una credencial para crear un recurso de credencial con acceso a los recursos locales.
  5. En el panel Cuenta de Automation de la sección Automatización de procesos, seleccione Grupos de Hybrid Worker y, a continuación, seleccione el grupo específico.
  6. En la configuración del grupo de Hybrid Worker, seleccione Configuración del grupo de Hybrid Worker.
  7. Cambie el valor de Ejecutar como de Predeterminado a Personalizado.
  8. Seleccione la credencial Ejecutar como creada antes y, a continuación, seleccione Guardar.

Implementación de un runbook en un grupo de Hybrid Runbook Worker

El paso final consiste en implementar un runbook para ejecutarlo en un grupo de Hybrid Runbook Worker. El runbook debe publicarse e iniciarse con uno de los métodos siguientes:

  • Azure portal
  • PowerShell
  • API de Azure Automation
  • webhooks
  • Programación
  • Respuesta a una alerta de Azure
  • Desde otro Runbook

Consulte el siguiente artículo Inicio de un runbook en Azure Automation para determinar el método para iniciar un runbook en Azure Automation.

Pruebe el runbook en una versión de borrador, pero imagine que se ejecutará con normalidad y realizará las acciones correspondientes en los recursos del entorno.

Para probar e implementar el runbook en un grupo de Hybrid Runbook Worker, siga estos pasos:

  1. En Azure Portal, busque y, después, seleccione Cuenta de Automation.
  2. En la lista de cuentas de Automation, seleccione la que haya creado anteriormente.
  3. En el panel Cuenta de Automation de la sección Automatización de procesos, seleccione Runbooks.
  4. Seleccione el runbook creado anteriormente y seleccione Editar.
  5. En la pantalla Editar runbook, seleccione el panel Prueba.
  6. En el panel Prueba, cambie el valor de Ejecutar en de "Azure" a Hybrid Worker.
  7. En Elija un grupo de Hybrid Worker, seleccione el grupo que creó en el paso anterior.
  8. Inicie la prueba para observar el resultado del runbook.
  9. Cierre el panel Prueba para volver a la sección Editar.
  10. Seleccione Publicar para guardar la versión final del runbook.
  11. En el panel Runbooks, seleccione Vincular a una programación.
  12. En Programación, cree o vincule una programación existente para definir el entorno de inicio del runbook.
  13. En el panel Programar runbook, seleccione Configuración de ejecución y parámetros y cambie el valor de Ejecutar en de "Azure" a Hybrid Worker.
  14. En Elija un grupo de Hybrid Worker, seleccione el grupo que creó en el paso anterior.
  15. Seleccione Aceptar para confirmar las opciones para terminar de publicar el runbook en la instancia de Hybrid Runbook Worker.

Consideraciones sobre escalabilidad

  • El agente de Log Analytics para Windows y Linux está tiene un impacto mínimo en el rendimiento de la máquina. Escale verticalmente los trabajos al configurar máquinas más eficaces con un rendimiento mayor, incluidos la memoria, la CPU y la E/S por segundo.

  • La mayor demanda para procesar un gran número de trabajos se puede solucionar al organizar varias instancias de Hybrid Worker en grupos de Hybrid Worker. Los runbooks se ejecutan en cada instancia de Hybrid Worker mediante mecanismos de puesta en cola. La instancia de Hybrid Worker comprueba la cuenta de Automation una vez cada 30 segundos y selecciona cuatro trabajos para ejecutarlos.

  • Varios grupos de Hybrid Worker pueden ejecutar tareas de automatización de runbooks con cuentas de ejecución diferentes.

Consideraciones sobre disponibilidad

  • Actualmente, las asignaciones entre el área de trabajo de Log Analytics y la cuenta de Automation se admiten en varias regiones. Para más información, consulte Regiones admitidas para el área de trabajo de Log Analytics vinculada.
  • Un grupo de Hybrid Runbook Worker con más de una máquina configurada con el rol de Hybrid Worker proporciona una alta disponibilidad, ya que los runbooks se iniciarán solo en servidores que estén en ejecución y sean correctos.

Consideraciones sobre la manejabilidad

  • Para agilizar la implementación del agente de Log Analytics con el rol de Hybrid Worker que se ejecuta en una máquina Windows, use el script de PowerShell New-OnPremiseHybridWorker.ps1. El script sigue los pasos a continuación:
    • Instala los módulos necesarios.
    • Inicia sesión con su cuenta de Azure.
    • Comprueba la existencia de un grupo de recursos especificado y de la cuenta de Automation.
    • Crea referencias a los atributos de la cuenta de Automation.
    • Crea un área de trabajo de Log Analytics en Azure Monitor si no se especifica una.
    • Habilita la solución Azure Automation en el área de trabajo.
    • Descarga e instala el agente de Log Analytics para Windows.
    • Registra la máquina como una instancia de Hybrid Runbook Worker.
  • La implementación de varios agentes en una infraestructura local se puede organizar mediante scripts de línea de comandos e implementar mediante la directiva de grupo o System Center Configuration Manager.

Consideraciones sobre la seguridad

  • Cifrado de recursos confidenciales en Automation: una cuenta de Azure Automation puede contener recursos confidenciales, tales como credenciales, certificados, conexiones y variables cifradas que los runbooks pueden usar. Cada recurso seguro se cifra de forma predeterminada mediante una clave de cifrado de datos que se genera para cada cuenta de Automation. Estas claves se cifran y almacenan en Azure Automation con una clave de cifrado de cuenta (AEK) que se puede almacenar en Key Vault para los clientes que quieren administrar el cifrado con sus propias claves. De manera predeterminada, la clave AEK se cifra con claves administradas por Microsoft. Use las siguientes directrices para aplicar el cifrado de recursos seguros en Azure Automation.
  • Permiso de runbook: de manera predeterminada, los permisos de runbook para una instancia de Hybrid Runbook Worker se ejecutan en un contexto del sistema en la máquina en la que se implementan. Un runbook proporciona su propia autenticación a los recursos locales. La autenticación se puede configurar mediante identidades administradas para los recursos de Azure o mediante la especificación de una cuenta de ejecución para proporcionar un contexto de usuario para todos los runbooks.
  • Planeamiento de red: Hybrid Runbook Worker requiere el acceso saliente a Internet a través del puerto TCP 443 para comunicarse con Automation. En el caso de los equipos con acceso restringido a Internet, use la puerta de enlace de Log Analytics para configurar la comunicación con Azure Automation y un área de trabajo de Azure Log Analytics.
  • Base de referencia de seguridad de Azure para Automation: la base de referencia de seguridad de Azure para Automation contiene recomendaciones sobre cómo mejorar la configuración de seguridad general para proteger el recurso según la guía de procedimientos recomendados.

Consideraciones sobre DevOps

  • Azure Automation permite la integración en sistemas de control de código fuente conocidos, Azure DevOps y GitHub. Con el control de código fuente, puede integrar el entorno de desarrollo existente que contiene los scripts y el código personalizado que se ha probado previamente en un entorno aislado.
  • Para obtener información sobre cómo integrar Azure Automation con el entorno de control de código fuente, consulte: Uso de la integración del control de código fuente.

Consideraciones sobre el costo

  • Puede usar la calculadora de precios de Azure para calcular los costos. Los modelos de precios para Azure Automation se explican aquí.
  • Los costos de Azure Automation se calculan para la ejecución de trabajos por minuto o para la administración de configuración por nodo. Cada mes, los primeros 500 minutos de la automatización de procesos y la administración de configuración en cinco nodos son gratuitos.
  • El área de trabajo de Azure Log Analytics puede generar costos adicionales relacionados con la cantidad de datos de registro que se almacenan en Azure Log Analytics. El modelo de precios está en función del consumo. Los costos se asignan según la ingesta de datos y la retención de datos. Para la ingesta de datos en Azure Log Analytics, use el modelo de reserva de capacidad o de pago por uso que incluye 5 gigabytes (GB) gratis para cada cuenta de facturación al mes. La retención de datos de los primeros 31 días es gratuita.
  • Puede usar la calculadora de precios de Azure para calcular los costos. Los modelos de precios para Log Analytics se explican aquí.

Pasos siguientes

Más información sobre Azure Automation: