Ec2Resource - AWS Data Pipeline

AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. Saiba mais

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ec2Resource

Uma EC2 instância da Amazon que executa o trabalho definido por uma atividade de pipeline.

AWS Data Pipeline agora é compatível com a EC2 instância Amazon, que usa um método orientado IMDSv2 por sessão para lidar melhor com a autenticação ao recuperar informações de metadados das instâncias. Uma sessão inicia e encerra uma série de solicitações que o software executado em uma EC2 instância da Amazon usa para acessar os metadados e as credenciais da instância EC2 Amazon armazenados localmente. O software inicia uma sessão com uma simples HTTP PUT solicitação paraIMDSv2. IMDSv2retorna um token secreto para o software executado na EC2 instância da Amazon, que usará o token como senha para fazer solicitações de metadados e credenciais. IMDSv2

nota

IMDSv2Para usar em sua EC2 instância Amazon, você precisará modificar as configurações, pois o padrão não AMI é compatível comIMDSv2. Você pode especificar uma nova AMI versão que pode ser recuperada por meio do seguinte SSM parâmetro:/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs.

Para obter informações sobre EC2 instâncias padrão da Amazon que são AWS Data Pipeline criadas se você não especificar uma instância, consulte Instâncias do Amazon EC2 padrão por região da AWS.

Exemplos

EC2-Clássico

Importante

Somente AWS contas criadas antes de 4 de dezembro de 2013 oferecem suporte à plataforma EC2 -Classic. Se você tiver uma dessas contas, poderá ter a opção de criar EC2Resource objetos para um pipeline em uma rede EC2 -Classic em vez de umaVPC. É altamente recomendável que você crie recursos para todos os seus pipelines emVPCs. Além disso, se você tiver recursos existentes no EC2 -Classic, recomendamos que você os migre para um. VPC

O objeto de exemplo a seguir inicia uma EC2 instância em EC2 -Classic, com alguns campos opcionais definidos.

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

EC2-VPC

O objeto de exemplo a seguir inicia uma EC2 instância em uma instância não padrãoVPC, com alguns campos opcionais definidos.

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

Sintaxe

Campos obrigatórios Descrição Tipo de slot
resourceRole A IAM função que controla os recursos que a EC2 instância da Amazon pode acessar. String
role (perfil) A IAM função AWS Data Pipeline usada para criar a EC2 instância. String

Campos de invocação de objetos Descrição Tipo de slot
schedule

Esse objeto é invocado durante a execução de um intervalo de programação.

Para definir a ordem de execução de dependência desse objeto, especifique uma referência de programação para outro objeto. Você pode fazer isso por meio de uma das seguintes maneiras:

  • Para garantir que todos os objetos no pipeline herdem a programação, defina uma programação no objeto explicitamente: "schedule": {"ref": "DefaultSchedule"}. Na maioria dos casos, é útil colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação.

  • Se o pipeline tiver programações aninhadas na programação principal, você poderá criar um objeto pai que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html.

Objeto de referência. Por exemplo "schedule":{"ref":"myScheduleId"}

Campos opcionais Descrição Tipo de slot
actionOnResourceFalha A ação executada após uma falha de recurso para este recurso. Os valores válidos são "retryall" e "retrynone". String
actionOnTaskFalha A ação executada após uma falha de tarefa para este recurso. Os valores válidos são "continue" ou "terminate". String
associatePublicIpEndereço Indica se um endereço IP público deve ou não ser atribuído à instância. Se a instância estiver na Amazon EC2 ou na AmazonVPC, o valor padrão serátrue. Caso contrário, o valor padrão será false. Booleano
attemptStatus Status mais recente da atividade remota. String
attemptTimeout O tempo limite para a conclusão do trabalho remoto. Se definido, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. Período
availabilityZone A zona de disponibilidade na qual iniciar a EC2 instância da Amazon. String
disableIMDSv1 O valor padrão é falso e ativa tanto IMDSv1 IMDSv2 e. Se você defini-lo como verdadeiro, ele desativará IMDSv1 e fornecerá apenas IMDSv2s Booleano
failureAndRerunModo Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. Enumeração
httpProxy O host proxy que os clientes usam para se conectar aos AWS serviços. Objeto de referência. Por exemplo: "httpProxy":{"ref":"myHttpProxyId"}
imageId

O ID do AMI a ser usado para a instância. Por padrão, AWS Data Pipeline usa o tipo de HVM AMI virtualização. Os específicos AMI IDs usados são baseados em uma região. Você pode substituir o padrão AMI especificando o HVM AMI de sua escolha. Para obter mais informações sobre AMI tipos, consulte Tipos de AMI virtualização Linux e Como encontrar um Linux AMI no Guia do EC2 usuário da Amazon.

String
initTimeout A quantidade de tempo de espera antes da inicialização do recurso. Período
instanceCount Suspenso. Inteiro
instanceType O tipo de EC2 instância da Amazon a ser iniciada. String
keyPair O nome do par de chaves. Se você iniciar uma EC2 instância da Amazon sem especificar um par de chaves, não poderá fazer login nela. String
lateAfterTimeout O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. Período
maxActiveInstances O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. Inteiro
maximumRetries A quantidade máxima de novas tentativas após uma falha. Inteiro
minInstanceCount Suspenso. Inteiro
onFail Uma ação a ser executada quando há falha no objeto atual. Objeto de referência. Por exemplo "onFail":{"ref":"myActionId"}
onLateAction Ações que devem ser acionadas se um objeto ainda não foi programado ou ainda está em execução. Objeto de referência. Por exemplo "onLateAction":{"ref":"myActionId"}
onSuccess Uma ação a ser executada quando o objeto atual é executado com êxito. Objeto de referência. Por exemplo: "onSuccess":{"ref":"myActionId"}
parent O pai do objeto atual a partir do qual os slots são herdados. Objeto de referência. Por exemplo: "parent":{"ref":"myBaseObjectId"}
pipelineLogUri O Amazon S3 URI (como's3://BucketName/Key/') para fazer o upload de registros para o pipeline. String
região O código da região na qual a EC2 instância da Amazon deve ser executada. Por padrão, a instância é executada na mesma região que o pipeline. Você pode executar a instância na mesma região como um conjunto de dados dependente. Enumeração
reportProgressTimeout O tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e serão executadas novamente. Período
retryDelay A duração do tempo limite entre duas novas tentativas. Período
runAsUser O usuário que executará TaskRunner o. String
runsOn Esse campo não é permitido neste objeto. Objeto de referência. Por exemplo: "runsOn":{"ref":"myResourceId"}
scheduleType

O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início do intervalo, no final do intervalo ou sob demanda.

Os valores são:

  • timeseries. As instâncias são programadas no final de cada intervalo.

  • cron. As instâncias são programadas no início de cada intervalo.

  • ondemand. Permite que você execute um pipeline uma vez por ativação. Você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela deverá ser especificada no objeto padrão, além de ser o único scheduleType especificado para objetos no pipeline. Para usar pipelines sob demanda, chame a operação ActivatePipeline para cada execução subsequente.

Enumeração
securityGroupIds O IDs de um ou mais grupos de EC2 segurança da Amazon a serem usados para as instâncias no pool de recursos. String
securityGroups Um ou mais grupos EC2 de segurança da Amazon para usar nas instâncias no pool de recursos. String
spotBidPrice O valor máximo por hora para sua instância spot em dólares, que é um valor decimal entre 0 e 20,00, exclusivos. String
subnetId O ID da EC2 sub-rede da Amazon na qual iniciar a instância. String
terminateAfter O número de horas após o qual encerrar o recurso. Período
useOnDemandOnLastAttempt Na última tentativa de solicitar uma instância spot, faça um pedido para instâncias sob demanda em vez de uma instância spot. Isso garante que, se todas as tentativas anteriores falharam, a última tentativa não será interrompida. Booleano
workerGroup Esse campo não é permitido neste objeto. String

Campos de tempo de execução Descrição Tipo de slot
@activeInstances Lista dos objetos da instância ativa agendados no momento. Objeto de referência. Por exemplo: "activeInstances":{"ref":"myRunnableObjectId"}
@actualEndTime Hora em que a execução deste objeto foi concluída. DateTime
@actualStartTime Hora em que a execução deste objeto foi iniciada. DateTime
cancellationReason O cancellationReason se esse objeto foi cancelado. String
@cascadeFailedOn Descrição da cadeia de dependências na qual o objeto apresentou falha. Objeto de referência. Por exemplo: "cascadeFailedOn":{"ref":"myRunnableObjectId"}
emrStepLog Os registros de etapas estão disponíveis somente nas tentativas de EMR atividade da Amazon. String
errorId O ID do erro se esse objeto apresentou falha. String
errorMessage A mensagem de erro se esse objeto apresentou falha. String
errorStackTrace O rastreamento de pilha com erro se esse objeto apresentou falha. String
@failureReason O motivo da falha de recurso. String
@finishedTime A hora em que esse objeto terminou a execução. DateTime
hadoopJobLog Registros de tarefas do Hadoop disponíveis sobre tentativas de atividades na AmazonEMR. String
@healthStatus O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. String
@healthStatusFromInstanceId ID do último objeto da instância concluído. String
@ healthStatusUpdated Hora Hora em que o status de integridade foi atualizado pela última vez. DateTime
hostname O nome do host do cliente que capturou a tentativa da tarefa. String
@lastDeactivatedTime A hora em que esse objeto foi desativado pela última vez. DateTime
@ latestCompletedRun Hora Hora da última execução concluída. DateTime
@latestRunTime Hora da última execução programada. DateTime
@nextRunTime Hora da próxima execução a ser programada. DateTime
reportProgressTime A última vez em que a atividade remota relatou progresso. DateTime
@scheduledEndTime O horário de término programado para o objeto. DateTime
@scheduledStartTime O horário de início programado para o objeto. DateTime
@status O status deste objeto. String
@version A versão do pipeline com que o objeto foi criado. String
@waitingOn Descrição da lista de dependências em que este objeto está aguardando. Objeto de referência. Por exemplo: "waitingOn":{"ref":"myRunnableObjectId"}

Campos do sistema Descrição Tipo de slot
@error Erro ao descrever o objeto malformado. String
@pipelineId ID do pipeline ao qual este objeto pertence. String
@sphere O local de um objeto no ciclo de vida. Objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. String