Ec2Resource - AWS Data Pipeline

AWS Data Pipeline ya no está disponible para los nuevos clientes. Los clientes existentes de AWS Data Pipeline pueden seguir utilizando el servicio con normalidad. Más información

Ec2Resource

Una instancia Amazon EC2 que realiza el trabajo definido por una actividad de canalización.

AWS Data Pipeline ahora es compatible con IMDSv2 para la instancia Amazon EC2, que utiliza un método orientado a la sesión para gestionar mejor la autenticación al recuperar la información de metadatos de las instancias. Una sesión inicia y finaliza una serie de solicitudes que el software que se ejecuta en una instancia de Amazon EC2 utiliza para acceder a los metadatos y las credenciales de la instancia de Amazon EC2 almacenados localmente. El software inicia una sesión con una simple solicitud HTTP PUT a IMDSv2. IMDSv2 devuelve un token secreto al software que se ejecuta en la instancia Amazon EC2, que utilizará el token como contraseña para realizar solicitudes de metadatos y credenciales a IMDSv2.

nota

Para usar IMDSv2 para su instancia de Amazon EC2, tendrá que modificar la configuración, ya que la AMI predeterminada no es compatible con IMDSv2. Puede especificar una nueva versión de AMI que puede recuperar mediante el siguiente parámetro SSM: /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs.

Para obtener información sobre las instancias predeterminadas Amazon EC2 que AWS Data Pipeline crea si no se especifica ninguna instancia, consulte Instancias Amazon EC2 predeterminadas por región de AWS.

Ejemplos

EC2-Classic

importante

Las cuentas de AWS creadas antes del 4 de diciembre de 2013 son las únicas que admiten EC2-Classic. Si tiene una de estas cuentas, puede que tenga la opción de crear objetos EC2Resource para una canalización en una red clásica de EC2 en lugar de una VPC. Le recomendamos encarecidamente que cree recursos para todas sus canalizaciones en VPC. Además, si tiene recursos existentes en EC2-Classic, le recomendamos que los migre a una VPC.

El siguiente objeto de ejemplo lanza una instancia EC2 en EC2-Classic, con algunos campos opcionales configurados.

{ "id" : "MyEC2Resource", "type" : "Ec2Resource", "actionOnTaskFailure" : "terminate", "actionOnResourceFailure" : "retryAll", "maximumRetries" : "1", "instanceType" : "m5.large", "securityGroups" : [ "test-group", "default" ], "keyPair" : "my-key-pair" }

EC2-VPC

En el siguiente objeto de ejemplo se ejecuta una instancia EC2 en una VPC no predeterminada, con algunos campos opcionales establecidos.

{ "id" : "MyEC2Resource", "type" : "Ec2Resource", "actionOnTaskFailure" : "terminate", "actionOnResourceFailure" : "retryAll", "maximumRetries" : "1", "instanceType" : "m5.large", "securityGroupIds" : [ "sg-12345678", "sg-12345678" ], "subnetId": "subnet-12345678", "associatePublicIpAddress": "true", "keyPair" : "my-key-pair" }

Sintaxis

Campos obligatorios Descripción Tipo de slot
resourceRole El rol de IAM que controla los recursos a los que puede acceder la instancia Amazon EC2. Cadena
rol El rol de IAM que utiliza AWS Data Pipeline para crear la instancia EC2. Cadena

Campos de invocación de objetos Descripción Tipo de slot
horario

Este objeto se invoca dentro de la ejecución de un intervalo de programación.

Para establecer el orden de ejecución de dependencia para este objeto, especifique una referencia de programación a otro objeto. Puedes hacerlo de una de las siguientes formas:

  • Para garantizar que todos los objetos de la canalización heredan la programación, establezca una programación en el objeto explícitamente: "schedule": {"ref": "DefaultSchedule"}. En la mayoría de los casos, resulta útil poner la referencia de programación en el objeto de la canalización predeterminado de modo que todos los objetos hereden esa programación.

  • Si la canalización tiene programaciones anidadas en la programación maestra, puede crear un objeto principal que tenga una referencia de programación. Para obtener más información acerca de las configuraciones de programación opcionales de ejemplo, consulte https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html

Objeto de referencia, por ejemplo, "schedule":{"ref":"myScheduleId"}

Campos opcionales Descripción Tipo de slot
actionOnResourceFailure La acción realizada después de un error de este recurso. Los valores válidos son "retryall" y "retrynone". Cadena
actionOnTaskFailure La acción realizada después de un error de tarea de este recurso. Los valores válidos son "continue" o "terminate". Cadena
associatePublicIpAddress Indica si se va a asignar una dirección IP pública a la instancia. Si la instancia está en Amazon EC2 o Amazon VPC, el valor predeterminado es true. De lo contrario, el valor predeterminado es false. Booleano
attemptStatus Estado más reciente notificado por la actividad remota. Cadena
attemptTimeout Tiempo de espera para que se complete el trabajo remoto. Si se establece, se puede reintentar una actividad remota que no se complete dentro del tiempo de inicio especificado. Periodo
availabilityZone La zona de disponibilidad en la que se va a lanzar la instancia Amazon EC2. Cadena
Deshabilite IMDS V1 El valor predeterminado es falso y habilita IMDSv1 e IMDSv2. Si lo estableces en verdadero, inhabilita IMDSv1 y solo proporciona IMDSv2s Booleano
failureAndRerunMode failureAndRerunMode. Enumeración
httpProxy El host proxy que usan los clientes para conectarse a los servicios de AWS. Objeto de referencia, por ejemplo,, "httpProxy":{"ref":"myHttpProxyId"}
imageId

El ID de la AMI que se va a utilizar para la instancia. De forma predeterminada, AWS Data Pipeline utiliza el tipo de virtualización de AMI HVM. Los ID de AMI específicos utilizados se basan en una región. Puede sobrescribir la AMI predeterminada especificando la AMI HVM que desee. Para obtener más información acerca de los tipos de AMI, consulte Tipos de virtualización de una AMI de Linux y Cómo buscar una AMI de Linux en la Guía del usuario de Amazon EC2.

Cadena
initTimeout El tiempo que se debe esperar a que se inicie el recurso. Periodo
instanceCount Obsoleto. Entero
instanceType El tipo de instancia de Amazon EC2 que se va a utilizar. Cadena
keyPair El nombre del par de claves. Si lanza una instancia Amazon EC2 sin especificar un par de claves, no podrá conectarse a ella. Cadena
lateAfterTimeout El tiempo transcurrido desde el inicio de la canalización dentro del cual el objeto debe completarse. Solo se activa cuando el tipo de programación no está establecido en ondemand. Periodo
maxActiveInstances El número máximo de instancias activas simultáneas de un componente. Las nuevas ejecuciones no cuentan para el número de instancias activas. Entero
maximumRetries El número máximo de intentos en caso de error. Entero
minInstanceCount Obsoleto. Entero
onFail Acción que se debe ejecutar cuando el objeto actual produzca un error. Objeto de referencia, por ejemplo, "onFail":{"ref":"myActionId"}
onLateAction Acciones que deben iniciarse si un objeto no se ha programado o sigue ejecutándose. Objeto de referencia, por ejemplo,"onLateAction":{"ref":"myActionId"}
onSuccess Acción que se debe ejecutar cuando el objeto actual se complete correctamente. Objeto de referencia, por ejemplo,, "onSuccess":{"ref":"myActionId"}
parent El elemento principal del objeto actual del que se heredan las ranuras. Objeto de referencia, por ejemplo,, "parent":{"ref":"myBaseObjectId"}
pipelineLogUri El URI de Amazon S3 (como 's3://BucketName/Key/') para cargar registros para la canalización. Cadena
region El código de la región en la que debe ejecutarse la instancia Amazon EC2. De forma predeterminada, la instancia se ejecuta en la misma región que la canalización. Puede ejecutar la instancia en la misma región que un conjunto de datos dependiente. Enumeración
reportProgressTimeout El tiempo de espera para llamadas sucesivas del trabajo remoto a reportProgress. Si se establece, las actividades remotas que no informen de su progreso durante el período especificado pueden considerarse estancadas y se reintentarán. Periodo
retryDelay Duración del tiempo de espera entre dos reintentos. Periodo
runAsUser El usuario que va a ejecutar TaskRunner. Cadena
runsOn Este campo no está permitido en este objeto. Objeto de referencia, por ejemplo,, "runsOn":{"ref":"myResourceId"}
scheduleType

El tipo de programación le permite especificar si los objetos de la definición de la canalización deben programarse al principio o al final del intervalo, o bajo demanda.

Valores son los siguientes:

  • timeseries. Las instancias se programan al final de cada intervalo.

  • cron. Las instancias se programan al comienzo de cada intervalo.

  • ondemand. Le permite ejecutar una canalización una vez por activación. No tiene que clonar o recrear la canalización para ejecutarla de nuevo. Si usa un programa bajo demanda, debe especificarse en el objeto predeterminado y debe ser el único scheduleType especificado para los objetos de la canalización. Para usar canalizaciones bajo demanda, solo tiene que llamar a la operación ActivatePipeline para cada ejecución posterior.

Enumeración
securityGroupIds Los ID de uno o varios grupos de seguridad de Amazon EC2 que se van a utilizar para las instancias del grupo de recursos. Cadena
securityGroups Uno o varios grupos de seguridad de Amazon EC2 que se van a utilizar para las instancias del grupo de recursos. Cadena
spotBidPrice La cantidad máxima por hora para su instancia de spot en dólares, que es un valor decimal entre 0 y 20,00 (no incluidos). Cadena
subnetId El ID de la subred de Amazon EC2 en la que iniciar la instancia. Cadena
terminateAfter El número de horas después de las cuales se ha de finalizar el recurso. Periodo
useOnDemandOnLastAttempt En el último intento de solicitar una instancia de spot, realice una solicitud de instancias bajo demanda en lugar de instancias de spot. De este modo, se garantiza que si todos los intentos anteriores han fallado, el último intento no se verá interrumpido. Booleano
workerGroup Este campo no está permitido en este objeto. Cadena

Campos de tiempo de ejecución Descripción Tipo de slot
@activeInstances Lista de los objetos de instancias activas programados actualmente. Objeto de referencia, por ejemplo,, "activeInstances":{"ref":"myRunnableObjectId"}
@actualEndTime La hora a la que finalizó la ejecución de este objeto. DateTime
@actualStartTime La hora a la que comenzó la ejecución de este objeto. DateTime
cancellationReason El cancellationReason de este objeto se ha cancelado. Cadena
@cascadeFailedOn Descripción de la cadena de dependencias en la que ha fallado el objeto. Objeto de referencia, por ejemplo,, "cascadeFailedOn":{"ref":"myRunnableObjectId"}
emrStepLog Los registros de pasos solo están disponibles en los intentos de actividad de Amazon EMR. Cadena
errorId El ID de error si este objeto ha fallado. Cadena
errorMessage El mensaje de error si este objeto ha fallado. Cadena
errorStackTrace El seguimiento de la pila de error si este objeto ha fallado. Cadena
@failureReason El motivo del error del recurso. Cadena
@finishedTime La hora a la que este objeto finalizó su ejecución. DateTime
hadoopJobLog Los registros de trabajo de Hadoop disponibles sobre intentos de actividades de Amazon EMR. Cadena
@healthStatus El estado de salud del objeto que refleja el éxito o el fracaso de la última instancia de objeto que alcanzó un estado terminado. Cadena
@healthStatusFromInstanceId ID del último objeto de instancia que alcanzó un estado terminado. Cadena
@healthStatusUpdatedTime Hora a la que el estado de salud se actualizó la última vez. DateTime
hostname El nombre de host del cliente que recogió el intento de tarea. Cadena
@lastDeactivatedTime La hora a la que este objeto se desactivó la última vez. DateTime
@latestCompletedRunTime Hora de la última ejecución para la que se completó la ejecución. DateTime
@latestRunTime Hora de la última ejecución para la que se programó la ejecución. DateTime
@nextRunTime Hora de ejecución que se va a programar a continuación. DateTime
reportProgressTime La hora más reciente a la que la actividad remota notificó algún progreso. DateTime
@scheduledEndTime La hora de finalización programada para el objeto. DateTime
@scheduledStartTime La hora de comienzo programada para el objeto. DateTime
@status El estado de este objeto. Cadena
@version La versión de la canalización con la que se creó el objeto. Cadena
@waitingOn Descripción de la lista de dependencias para la que este objeto está a la espera. Objeto de referencia, por ejemplo,, "waitingOn":{"ref":"myRunnableObjectId"}

Campos del sistema Descripción Tipo de slot
@error Error al describir el objeto mal estructurado. Cadena
@pipelineId ID de la canalización a la que pertenece este objeto. Cadena
@sphere El lugar de un objeto en el ciclo de vida. Los objetos de componente dan lugar a objetos de instancia, que ejecutan objetos de intento. Cadena