Uso de una política de finalización automática para la limpieza de clústeres de Amazon EMR. - Amazon EMR

Uso de una política de finalización automática para la limpieza de clústeres de Amazon EMR.

Una política de terminación automática le permite orquestar la limpieza de los clústeres sin necesidad de supervisar ni terminar manualmente los clústeres no utilizados. Cuando agrega una política de terminación automática a un clúster, debe especificar la cantidad de tiempo de inactividad tras el cual el clúster debe cerrarse automáticamente.

Según la versión de lanzamiento, Amazon EMR utiliza diferentes criterios para marcar un clúster como inactivo. En la siguiente tabla se describe cómo Amazon EMR determina la inactividad del clúster.

Cuando utiliza… Un clúster se considera inactivo cuando…
Amazon EMR, versiones 5.34.0 y posteriores, y 6.4.0 y posteriores
  • No hay aplicaciones de YARN activas

  • La utilización del HDFS es inferior al 10 %

  • No hay conexiones activas a cuadernos de EMR o a EMR Studio

  • No se utilizan interfaces de usuario de aplicaciones en el clúster

  • No hay pasos pendientes

Amazon EMR, versiones 5.30.0 a 5.33.0 y 6.1.0 a 6.3.0
  • No hay aplicaciones de YARN activas

  • El clúster no tiene trabajos de Spark activos

nota

Amazon EMR marca un clúster como inactivo y puede terminarlo automáticamente incluso si tiene un kernel de Python3 activo. Esto se debe a que al ejecutar un kernel de Python3 no se envía ningún trabajo de Spark al clúster. Para utilizar la terminación automática con un kernel de Python3, le recomendamos que utilice la versión 6.4.0 o posterior de Amazon EMR.

nota

Las versiones 6.4.0 y posteriores de Amazon EMR admiten un archivo en el clúster para detectar la actividad en el nodo principal: /emr/metricscollector/isbusy. Cuando utiliza un clúster para ejecutar scripts de intérprete de comandos o aplicaciones que no son de YARN, puede tocar o actualizar periódicamente isbusy para indicar a Amazon EMR que el clúster no está inactivo.

Puede asociar una política de terminación automática al crear un clúster o agregar una política a un clúster existente. Para cambiar o deshabilitar la terminación automática, puede actualizar o eliminar la política.

Consideraciones

Tenga en cuenta las siguientes características y limitaciones antes de utilizar una política de terminación automática:

  • La finalización automática de Amazon EMR está disponible con Amazon EMR 6.14.0 y versiones posteriores en las siguientes Regiones de AWS:

    • Asia Pacífico (Hyderabad) (ap-south-2)

    • Asia-Pacífico (Yakarta) (ap-southeast-3)

    • Europa (España) (eu-south-2)

  • La terminación automática de Amazon EMR está disponible con Amazon EMR 5.30.0, 6.1.0 y versiones posteriores en las siguientes Regiones de AWS:

    • Este de EE. UU. (Norte de Virginia) (us-east-1)

    • Este de EE. UU. (Ohio) (us-east-2)

    • Oeste de EE. UU. (Oregón) (us-west-2)

    • EE. UU. Oeste (Norte de California) (us-west-1)

    • África (Ciudad del Cabo) (af-south-1)

    • Asia-Pacífico (Hong Kong) (ap-east-1)

    • Asia Pacífico (Bombay) (ap-south-1)

    • Asia-Pacífico (Seúl) (ap-northeast-2)

    • Asia-Pacífico (Singapur) (ap-southeast-1)

    • Asia-Pacífico (Sídney) (ap-southeast-2)

    • Asia-Pacífico (Tokio) (ap-northeast-1)

    • Canadá (centro) (ca-central-1)

    • América del Sur (São Paulo) (sa-east-1)

    • Europa (Fráncfort) (eu-central-1)

    • Europa (Irlanda) (eu-west-1)

    • Europa (Londres) (eu-west-2)

    • UE (Milán) (eu-south-1)

    • UE (París) (eu-west-3)

    • Europa (Estocolmo) (eu-north-1)

    • China (Pekín) (cn-north-1)

    • China (Ningxia) (cn-northwest-1)

    • AWS GovCloud (EE. UU. Este) (us-gov-east-1)

    • AWS GovCloud (EE. UU. Oeste) (us-gov-west-1)

  • El tiempo de espera de inactividad se establece de forma predeterminada en 60 minutos (una hora) si no se especifica una cantidad. Puede especificar un tiempo de espera de inactividad mínimo de un minuto y un tiempo de espera de inactividad máximo de 7 días.

  • Con las versiones 6.4.0 y posteriores de Amazon EMR, la terminación automática se habilita de forma predeterminada al crear un clúster nuevo con la consola de Amazon EMR.

  • Amazon EMR publica métricas de Amazon CloudWatch de alta resolución cuando habilita la terminación automática de un clúster. Puede usar estas métricas para realizar un seguimiento de la actividad y la inactividad del clúster. Para obtener más información, consulte Métricas de capacidad del clúster.

  • La terminación automática no se admite cuando se utilizan aplicaciones que no están basadas en YARN, como Presto, Trino o HBase.

  • Para utilizar la terminación automática, el proceso de recopilación de métricas debe poder conectarse al punto de conexión de la API pública para la terminación automática en API Gateway. Si utiliza un nombre de DNS privado con Amazon Virtual Private Cloud, la terminación automática no funcionará correctamente. Para garantizar que la terminación automática funcione, se recomienda que realice una de las siguientes acciones:

  • (EMR 5.30.0 y versiones posteriores) Si quita la regla de salida predeterminada Permitir todo a 0.0.0.0/ para el grupo de seguridad principal, debe agregar una regla que permita la conectividad TCP de salida a su grupo de seguridad para el acceso al servicio en el puerto 9443. El grupo de seguridad para el acceso al servicio también debe permitir el tráfico TCP entrante en el puerto 9443 desde el grupo de seguridad principal. Para más información sobre la configuración de grupos de seguridad, consulte Grupo de seguridad administrado por Amazon EMR para la instancia principal (subredes privadas).

Permisos para utilizar la terminación automática

Antes de poder aplicar y administrar políticas de terminación automática para Amazon EMR, debe asociar los permisos que se enumeran en el siguiente ejemplo de política de permisos de IAM a los recursos de IAM que administran su clúster de EMR.

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAutoTerminationPolicyActions", "Effect": "Allow", "Action": [ "elasticmapreduce:PutAutoTerminationPolicy", "elasticmapreduce:GetAutoTerminationPolicy", "elasticmapreduce:RemoveAutoTerminationPolicy" ], "Resource": "<your-resources>" } }

Asociación, actualización o eliminación de una política de terminación automática

En esta sección se incluyen instrucciones que le ayudarán a asociar, actualizar o eliminar una política de terminación automática de un clúster de Amazon EMR. Antes de trabajar con políticas de terminación automática, asegúrese de tener los permisos de IAM necesarios. Consulte Permisos para utilizar la terminación automática.

Console
Para asociar una política de finalización automática al crear un clúster con la consola
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon EMR en https://console.aws.amazon.com/emr.

  2. En EMR en EC2 situado en el panel de navegación izquierdo, elija Clústeres y, a continuación, elija Crear clúster.

  3. En Terminación del clúster, seleccione Terminar el clúster después del tiempo de inactividad.

  4. Especifique el número de horas y minutos de inactividad que pueden transcurrir antes de que el clúster termine automáticamente. El tiempo de espera de inactividad predeterminado es de 1 hora.

  5. Elija cualquier otra opción que se aplique a su clúster.

  6. Para lanzar el clúster, elija Crear clúster.

Para asociar, actualizar o eliminar una política de finalización automática en un clúster en ejecución con la consola
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon EMR en https://console.aws.amazon.com/emr.

  2. En EMR en EC2, en el panel de navegación izquierdo, elija Clústeres y seleccione el clúster que desee actualizar.

  3. En la pestaña Propiedades de la página de detalles del clúster, busque Terminación del clúster y seleccione Editar.

  4. Seleccione o anule la selección de Habilitar la terminación automática para activar o desactivar la característica. Si activa la terminación automática, especifique el número de horas y minutos de inactividad que pueden transcurrir antes de que el clúster termine automáticamente. A continuación, seleccione Guardar cambios para confirmar.

AWS CLI

Antes de comenzar

Antes de trabajar con políticas de terminación automática, se recomienda que actualice a la versión más reciente de la AWS CLI. Para obtener instrucciones, consulte Instalación, actualización y desinstalación de la AWS CLI.

Para asociar o actualizar una política de terminación automática mediante AWS CLI
  • Puede utilizar el comando aws emr put-auto-termination-policy para asociar o actualizar una política de terminación automática en un clúster.

    El siguiente ejemplo especifica 3600 segundos para IdleTimeout. Si no especifica IdleTimeout, el valor predeterminado es de una hora.

    aws emr put-auto-termination-policy \ --cluster-id <your-cluster-id> \ --auto-termination-policy IdleTimeout=3600
    nota

    Se incluyen caracteres de continuación de línea de Linux (\) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

    También puede especificar un valor para --auto-termination-policy cuando utilice el comando aws emr create-cluster. Para obtener más información acerca del uso de los comandos de Amazon EMR en la AWS CLI, consulte la Referencia de los comandos de la AWS CLI.

Para eliminar una política de terminación automática con AWS CLI
  • Utilice el comando aws emr remove-auto-termination-policy para eliminar una política de terminación automática de un clúster. Para obtener más información acerca del uso de los comandos de Amazon EMR en la AWS CLI, consulte la Referencia de los comandos de la AWS CLI.

    aws emr remove-auto-termination-policy --cluster-id <your-cluster-id>