Ec2Resource - AWS Data Pipeline

AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peut continuer à utiliser le service normalement. En savoir plus

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ec2Resource

Une EC2 instance Amazon qui exécute le travail défini par une activité de pipeline.

AWS Data Pipeline prend désormais en charge l'EC2instance Amazon, qui utilise une méthode orientée session IMDSv2 pour mieux gérer l'authentification lors de la récupération d'informations de métadonnées à partir d'instances. Une session commence et termine une série de demandes utilisées par le logiciel exécuté sur une EC2 instance Amazon pour accéder aux métadonnées et aux informations d'identification de l'EC2instance Amazon stockées localement. Le logiciel démarre une session par une simple HTTP PUT demande àIMDSv2. IMDSv2renvoie un jeton secret au logiciel exécuté sur l'EC2instance Amazon, qui utilisera le jeton comme mot de passe IMDSv2 pour effectuer des demandes de métadonnées et d'informations d'identification.

Note

IMDSv2Pour l'utiliser pour votre EC2 instance Amazon, vous devez modifier les paramètres, car la valeur par défaut n'AMIest pas compatible avecIMDSv2. Vous pouvez spécifier une nouvelle AMI version que vous pouvez récupérer via le SSM paramètre suivant :/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs.

Pour plus d'informations sur EC2 les instances Amazon par défaut AWS Data Pipeline créées si vous ne spécifiez aucune instance, consultez Instances Amazon EC2 par défaut par région AWS.

Exemples

EC2-Classique

Important

Seuls AWS les comptes créés avant le 4 décembre 2013 sont compatibles avec la plateforme EC2 -Classic. Si vous possédez l'un de ces comptes, vous pouvez avoir la possibilité de créer EC2Resource des objets pour un pipeline dans un réseau EC2 -Classic plutôt qu'unVPC. Nous vous recommandons vivement de créer des ressources pour tous vos pipelines dansVPCs. De plus, si vous disposez de ressources existantes dans EC2 -Classic, nous vous recommandons de les migrer vers unVPC.

L'exemple d'objet suivant lance une EC2 instance dans EC2 -Classic, avec certains champs facultatifs définis.

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

EC2-VPC

L'exemple d'objet suivant lance une EC2 instance dans un objet autre que celui par défautVPC, avec certains champs facultatifs définis.

{ "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" }

Syntaxe

Champs obligatoires Description Type d'option
resourceRole IAMRôle qui contrôle les ressources auxquelles l'EC2instance Amazon peut accéder. Chaîne
rôle IAMRôle AWS Data Pipeline utilisé pour créer l'EC2instance. Chaîne

Champs d'invocation de l'objet Description Type d'option
schedule

Cet objet est appelé dans le cadre de l'exécution d'un intervalle de planification.

Pour définir l'ordre d'exécution des dépendances de cet objet, spécifiez une référence de planification à un autre objet. Vous pouvez effectuer cette opération de différentes manières :

  • Pour vous assurer que tous les objets dans le pipeline héritent de la planification, définissez explicitement une planification sur l'objet : "schedule": {"ref": "DefaultSchedule"}. Dans la plupart des cas, il s'avère utile de placer la planification de référence sur l'objet de pipeline par défaut de manière à ce que tous les objets héritent cette planification.

  • Si le pipeline dispose d'une arborescence de planifications imbriquées dans la planification maître, vous pouvez créer un objet parent ayant une référence de planification. Pour plus d'informations sur les exemples de configurations de planification facultatives, consultez https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html.

Objet de référence, par exemple, "schedule":{"ref":"myScheduleId"}

Champs facultatifs Description Type d'option
actionOnResourceDéfaillance Action effectuée après une défaillance de ressource pour cette ressource. Les valeurs valides sont "retryall" et "retrynone". Chaîne
actionOnTaskDéfaillance Action effectuée après l'échec d'une tâche pour cette ressource. Les valeurs valides sont "continue" ou "terminate". Chaîne
associatePublicIpAdresse Indique si vous souhaitez attribuer une adresse IP publique à l'instance. Si l'instance se trouve dans Amazon EC2 ou AmazonVPC, la valeur par défaut esttrue. Sinon, la valeur par défaut est false. Booléen
attemptStatus État de l'activité à distance le plus récemment rapporté. Chaîne
attemptTimeout Délai d'achèvement de la tâche à distance. Si une valeur est définie, une activité à distance qui n'est pas exécutée dans la période de départ définie peut être retentée. Période
availabilityZone Zone de disponibilité dans laquelle lancer l'EC2instance Amazon. Chaîne
disableIMDSv1 La valeur par défaut est false et active à la fois IMDSv1 etIMDSv2. Si vous le définissez sur true, il est désactivé IMDSv1 et fournit uniquement IMDSv2s Booléen
failureAndRerunMode Décrit le comportement du nœud de consommateurs lorsque les dépendances échouent ou sont à nouveau exécutées. Énumération
httpProxy L'hôte proxy que les clients utilisent pour se connecter aux AWS services. Objet de référence, par exemple, "httpProxy":{"ref":"myHttpProxyId"}
imageId

L'ID du AMI à utiliser pour l'instance. Par défaut, AWS Data Pipeline utilise le type HVM AMI de virtualisation. Les spécificités AMI IDs utilisées sont basées sur une région. Vous pouvez remplacer la valeur AMI par défaut en spécifiant celle HVM AMI de votre choix. Pour plus d'informations sur les AMI types, consultez les sections Types de AMI virtualisation Linux et Trouver un Linux AMI dans le guide de EC2 l'utilisateur Amazon.

Chaîne
initTimeout Délai d'attente pour le démarrage de la ressource. Période
instanceCount Obsolète. Entier
instanceType Type d'EC2instance Amazon à démarrer. Chaîne
keyPair Nom de la paire de clés. Si vous lancez une EC2 instance Amazon sans spécifier de paire de clés, vous ne pouvez pas vous y connecter. Chaîne
lateAfterTimeout Temps écoulé après le début du pipeline pendant lequel l'objet doit être terminé. Il est déclenché uniquement lorsque le type de planification n'est pas défini surondemand. Période
maxActiveInstances Nombre maximal d'instances actives simultanées d'un composant. Les réexécutions ne sont pas comptabilisées dans le nombre d'instances actives. Entier
maximumRetries Nombre maximal de nouvelles tentatives en cas d'échec. Entier
minInstanceCount Obsolète. Entier
onFail Action à exécuter en cas d'échec de l'objet actuel. Objet de référence, par exemple, "onFail":{"ref":"myActionId"}
onLateAction Actions à déclencher si un objet n'a pas encore été planifié ou est toujours en cours d'exécution. Objet de référence, par exemple, "onLateAction":{"ref":"myActionId"}
onSuccess Action à exécuter en cas de réussite de l'objet actuel. Objet de référence, par exemple, "onSuccess":{"ref":"myActionId"}
parent Parent de l'objet actuel à partir duquel les emplacements sont hérités. Objet de référence, par exemple, "parent":{"ref":"myBaseObjectId"}
pipelineLogUri L'Amazon S3 URI (tel que's3://BucketName/Key/') pour le téléchargement des journaux pour le pipeline. Chaîne
region Le code de la région dans laquelle l'EC2instance Amazon doit s'exécuter. Par défaut, l'instance s'exécute dans la même région que le pipeline. Vous pouvez exécuter l'instance dans la même région qu'un ensemble de données dépendantes. Énumération
reportProgressTimeout Délai pour les appels successifs de travail à distance adressés à reportProgress. Si une valeur est définie, les activités à distance qui ne font pas état d'avancement pour la période spécifiée doivent être considérées comme bloquées et feront l'objet d'une nouvelle tentative. Période
retryDelay Délai entre deux nouvelles tentatives. Période
runAsUser L'utilisateur qui doit exécuter le TaskRunner. Chaîne
runsOn Ce champ n'est pas autorisé sur cet objet. Objet de référence, par exemple, "runsOn":{"ref":"myResourceId"}
scheduleType

Le type de planification vous permet de spécifier si les objets de votre définition de pipeline doivent être planifiés au début ou à la fin d'un intervalle, ou à la demande.

Les valeurs sont les suivantes :

  • timeseries. Les instances sont planifiées à la fin de chaque intervalle.

  • cron. Les instances sont planifiées au début de chaque intervalle.

  • ondemand. Vous permet d'exécuter un pipeline une fois par activation. Vous n'avez pas à cloner ou à recréer le pipeline pour l'exécuter à nouveau. Si vous utilisez une planification à la demande, elle doit être spécifiée dans l'objet par défaut et être le seul scheduleType pour les objets du pipeline. Pour utiliser des pipelines à la demande, vous devez appeler l'opération ActivatePipeline pour chaque exécution suivante.

Énumération
securityGroupIds Celui IDs d'un ou de plusieurs groupes EC2 de sécurité Amazon à utiliser pour les instances du pool de ressources. Chaîne
securityGroups Un ou plusieurs groupes EC2 de sécurité Amazon à utiliser pour les instances du pool de ressources. Chaîne
spotBidPrice Montant maximum par heure pour votre instance Spot en dollars, qui est une valeur décimale comprise entre 0 et 20,00 (non incluse). Chaîne
subnetId L'ID du EC2 sous-réseau Amazon dans lequel démarrer l'instance. Chaîne
terminateAfter Nombre d'heures après lequel résilier la ressource. Période
useOnDemandOnLastAttempt Lors de la dernière tentative de demande d'une instance Spot, effectuez une demande pour les instances à la demande au lieu d'une instance Spot. Cela garantit que si toutes les tentatives précédentes ont échoué, la dernière tentative n'est pas interrompue. Booléen
workerGroup Ce champ n'est pas autorisé sur cet objet. Chaîne

Champs liés à l'exécution Description Type d'option
@activeInstances Liste des objets d'instances actives actuellement planifiés. Objet de référence, par exemple, "activeInstances":{"ref":"myRunnableObjectId"}
@actualEndTime Heure à laquelle l'exécution de l'objet s'est terminée. DateTime
@actualStartTime Heure à laquelle l'exécution de l'objet a démarré. DateTime
cancellationReason cancellationReason si l'objet a été annulé. Chaîne
@cascadeFailedOn Description de la chaîne de dépendances sur laquelle l'objet a échoué. Objet de référence, par exemple, "cascadeFailedOn":{"ref":"myRunnableObjectId"}
emrStepLog Les journaux d'étapes ne sont disponibles que pour les tentatives EMR d'activité d'Amazon. Chaîne
errorId ID de l'erreur si l'objet a échoué. Chaîne
errorMessage Message d'erreur si l'objet a échoué. Chaîne
errorStackTrace Suivi de la pile d'erreurs si l'objet a échoué. Chaîne
@failureReason Raison de l'échec de la ressource. Chaîne
@finishedTime Heure à laquelle l'objet a terminé son exécution. DateTime
hadoopJobLog Des journaux de tâches Hadoop sont disponibles en cas de tentative d'activité sur AmazonEMR. Chaîne
@healthStatus État de santé de l'objet qui reflète la réussite ou l'échec de la dernière instance qui a atteint un état résilié. Chaîne
@healthStatusFromInstanceId ID du dernier objet d'instance qui atteint un état résilié. Chaîne
@ healthStatusUpdated Heure Heure à laquelle l'état de santé a été mis à jour pour la dernière fois. DateTime
hostname Nom d'hôte du client qui a sélectionné la tentative de tâche. Chaîne
@lastDeactivatedTime Heure à laquelle l'objet a été désactivé pour la dernière fois. DateTime
@ latestCompletedRun Heure Heure de la dernière exécution pour laquelle l'exécution s'est terminée. DateTime
@latestRunTime Heure de la dernière exécution pour laquelle l'exécution a été planifiée. DateTime
@nextRunTime Prochaine heure d'exécution planifiée. DateTime
reportProgressTime Heure la plus récente pour laquelle l'activité distante a signalé une progression. DateTime
@scheduledEndTime Heure de fin planifiée pour l'objet. DateTime
@scheduledStartTime Heure de début planifiée pour l'objet. DateTime
@État État de l'objet. Chaîne
@Version Version du pipeline avec laquelle l'objet été créé. Chaîne
@waitingOn Description de la liste des dépendances sur laquelle l'objet est en attente. Objet de référence, par exemple, "waitingOn":{"ref":"myRunnableObjectId"}

Champs système Description Type d'option
@error Erreur décrivant l'objet mal formé. Chaîne
@pipelineId ID du pipeline auquel l'objet appartient. Chaîne
@sphere Emplacement d'un objet dans le cycle de vie. Les objets de composant entraînent des objets d'instance, qui exécutent des objets « tentatives ». Chaîne