Ec2Resource - AWS Data Pipeline

AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peuvent 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

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

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

Note

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

Pour plus d'informations sur les instances Amazon EC2 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-Classic

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 des objets EC2Resource pour un pipeline dans un réseau EC2-Classic plutôt qu'un VPC. Nous vous recommandons vivement de créer des ressources pour tous vos pipelines dans des VPC. En outre, si vous disposez de ressources existantes dans EC2-Classic, nous vous recommandons de les migrer vers un VPC.

L'exemple d'objet suivant lance une instance EC2 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 objet lance une instance EC2 dans un VPC personnalisé, avec quelques champs facultatifs.

{ "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 Rôle IAM qui contrôle les ressources auxquelles l'instance Amazon EC2 peut accéder. String
rôle Rôle IAM AWS Data Pipeline utilisé pour créer l'instance EC2. String

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". String
actionOnTaskDéfaillance Action effectuée après l'échec d'une tâche pour cette ressource. Les valeurs valides sont "continue" ou "terminate". String
associatePublicIpAdresse Indique si vous souhaitez attribuer une adresse IP publique à l'instance. Si l'instance se trouve dans Amazon EC2 ou Amazon VPC, la valeur par défaut est. true Sinon, la valeur par défaut est false. Booléen
attemptStatus État de l'activité à distance le plus récemment rapporté. String
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. Period
availabilityZone Zone de disponibilité dans laquelle lancer l'instance Amazon EC2. String
désactiver IMDSv1 La valeur par défaut est false et active à la fois IMDSv1 et IMDSv2. 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

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

String
initTimeout Délai d'attente pour le démarrage de la ressource. Period
instanceCount Obsolète. Entier
instanceType Type d'instance Amazon EC2 à démarrer. String
keyPair Nom de la paire de clés. Si vous lancez une instance Amazon EC2 sans spécifier de paire de clés, vous ne pouvez pas vous y connecter. String
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. Period
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'URI Amazon S3 (par exemple's3://BucketName/Key/') pour le téléchargement des journaux pour le pipeline. String
region Code de la région dans laquelle l'instance Amazon EC2 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. Period
retryDelay Délai entre deux nouvelles tentatives. Period
runAsUser L'utilisateur qui doit exécuter le TaskRunner. String
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 Les identifiants d'un ou de plusieurs groupes de sécurité Amazon EC2 à utiliser pour les instances du pool de ressources. String
securityGroups Un ou plusieurs groupes de sécurité Amazon EC2 à utiliser pour les instances du pool de ressources. String
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). String
subnetId ID du sous-réseau Amazon EC2 dans lequel démarrer l'instance. String
terminateAfter Nombre d'heures après lequel résilier la ressource. Period
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. String

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é. String
@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 d'activité Amazon EMR. String
errorId ID de l'erreur si l'objet a échoué. String
errorMessage Message d'erreur si l'objet a échoué. String
errorStackTrace Suivi de la pile d'erreurs si l'objet a échoué. String
@failureReason Raison de l'échec de la ressource. String
@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 Amazon EMR. String
@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é. String
@healthStatusFromInstanceId ID du dernier objet d'instance qui atteint un état résilié. String
@ 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. String
@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. String
@Version Version du pipeline avec laquelle l'objet été créé. String
@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é. String
@pipelineId ID du pipeline auquel l'objet appartient. String
@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 ». String