Ec2Resource - AWS Data Pipeline

AWS Data Pipeline 신규 고객은 더 이상 이용할 수 없습니다. 의 기존 고객 AWS Data Pipeline 정상적으로 서비스를 계속 사용할 수 있습니다. 자세히 알아보기

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Ec2Resource

파이프라인 활동으로 정의된 작업을 수행하는 Amazon EC2 인스턴스입니다.

AWS Data Pipeline 이제 Amazon 인스턴스를 지원합니다IMDSv2. Amazon EC2 인스턴스는 세션 지향 방법을 사용하여 인스턴스에서 메타데이터 정보를 검색할 때 인증을 더 잘 처리합니다. 세션은 Amazon 인스턴스에서 실행되는 소프트웨어가 로컬에 저장된 EC2 Amazon EC2 인스턴스 메타데이터 및 자격 증명에 액세스하는 데 사용하는 일련의 요청을 시작하고 종료합니다. 소프트웨어는 간단한 HTTP PUT 요청으로 세션을 시작합니다. IMDSv2 IMDSv2Amazon EC2 인스턴스에서 실행되는 소프트웨어에 비밀 토큰을 반환합니다. 그러면 암호로 토큰을 사용하여 메타데이터 및 자격 증명을 요청합니다. IMDSv2

참고

Amazon IMDSv2 EC2 인스턴스에 사용하려면 기본값이 AMI 호환되지 않으므로 설정을 수정해야 IMDSv2 합니다. 다음 SSM 파라미터를 통해 검색할 수 있는 새 AMI 버전을 지정할 수 /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs 있습니다.

EC2인스턴스를 지정하지 않을 경우 AWS Data Pipeline 생성되는 기본 Amazon 인스턴스에 대한 자세한 내용은 을 참조하십시오 AWS 리전에 의한 기본 Amazon EC2 인스턴스.

예시

EC2-클래식

중요

2013년 12월 4일 이전에 생성한 AWS 계정만 EC2 -Classic 플랫폼을 지원합니다. 이러한 계정 중 하나가 있는 경우 a가 아닌 EC2 -Classic 네트워크에서 파이프라인에 대한 EC2Resource 객체를 생성할 수 있는 옵션이 있을 수 있습니다. VPC 에서 모든 파이프라인의 리소스를 생성하는 것이 좋습니다. VPCs 또한 EC2 -Classic에 기존 리소스가 있는 경우 해당 리소스를 a로 마이그레이션하는 것이 좋습니다. VPC

다음 예제 객체는 일부 선택적 필드를 EC2 설정하여 EC2 -Classic으로 인스턴스를 시작합니다.

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

EC2-VPC

다음 예제 객체는 일부 선택적 필드를 설정하여 기본이 아닌 EC2 VPC 인스턴스로 인스턴스를 시작합니다.

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

구문

필수 필드 설명 슬롯 유형
resourceRole Amazon EC2 인스턴스가 액세스할 수 있는 리소스를 제어하는 IAM 역할입니다. String
역할 EC2인스턴스를 생성하는 데 AWS Data Pipeline 사용하는 IAM 역할. String

액체 호출 필드 설명 슬롯 유형
schedule

이 객체는 예약 간격을 실행할 때 호출됩니다.

이 객체의 종속 실행 순서를 설정하려면 다른 객체로 일정 참조를 지정합니다. 이 작업을 다음 중 한 가지 방법으로 수행할 수 있습니다.

  • 파이프라인의 모든 객체가 일정을 상속받도록 하려면 명시 적으로 객체에 일정을 설정합니다. "schedule": {"ref": "DefaultSchedule"}. 대부분의 경우에서는 모든 객체가 상속할 수 있도록 일정 참조를 기본 파이프라인 객체에 두는 것이 유용합니다.

  • 파이프라인에 마스터 일정 내에서 중첩된 일정이 있는 경우, 일정 참조가 있는 부모 객체를 생성할 수 있습니다. 선택형 일정 구성 예제에 대한 자세한 내용은 https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html 단원을 참조하십시오.

참조 객체, 예: "schedule":{"ref":"myScheduleId"}

선택 필드 설명 슬롯 유형
actionOnResource실패 이 리소스의 리소스 실패 후 취한 조치입니다. 유효 값은 "retryall""retrynone"입니다. String
actionOnTask실패 이 리소스의 작업 실패 후 취한 조치입니다. 유효한 값은 "continue" 또는 "terminate"입니다. String
associatePublicIp주소 인터페이스로 퍼블릭 IP 주소를 할당할지 여부를 나타냅니다. 인스턴스가 Amazon EC2 VPC 또는 Amazon에 있는 경우 기본값은 입니다true. 그렇지 않은 경우 기본값은 false입니다.
attemptStatus 원격 활동에서 가장 최근에 보고된 상태입니다. String
attemptTimeout 원격 작업 완료의 제한 시간입니다. 이 필드를 설정하면 지정된 시작 시간 이내에 완료되지 않는 원격 활동을 재시도할 수 있습니다. 기간
availabilityZone Amazon EC2 인스턴스를 시작할 가용 영역입니다. String
disableIMDSv1. 기본값은 false이며 및 를 모두 IMDSv1 IMDSv2 활성화합니다. 이 값을 true로 설정하면 IMDSv1 비활성화되고 제공만 됩니다. IMDSv2s
failureAndRerun모드 종속 요소에 장애가 있거나 재시도될 때의 소비자 노드 거동을 설명합니다. 열거
httpProxy 클라이언트가 AWS 서비스에 연결하는 데 사용하는 프록시 호스트. 참조 객체, 예: "httpProxy":{"ref":"myHttpProxyId"}
imageId

AMI인스턴스에 사용할 의 ID. 기본적으로 HVM AMI 가상화 유형을 AWS Data Pipeline 사용합니다. 구체적인 AMI IDs 용도는 지역을 기반으로 합니다. 원하는 것을 AMI 지정하여 기본값을 덮어쓸 수 있습니다. HVM AMI AMI유형에 대한 자세한 내용은 Amazon EC2 사용 설명서의 Linux AMI 가상화 유형Linux AMI 찾기를 참조하십시오.

String
initTimeout 리소스가 시작되기 전까지의 대기 시간입니다. 기간
instanceCount 사용되지 않음. Integer
instanceType 시작할 Amazon EC2 인스턴스의 유형입니다. String
keyPair 키 페어 이름. 키 페어를 지정하지 않고 Amazon EC2 인스턴스를 시작하면 해당 인스턴스에 로그온할 수 없습니다. String
lateAfterTimeout 파이프라인 시작 후 객체가 완료되어야 하는 경과 시간입니다. 스케줄 유형이 ondemand(으)로 설정되지 않은 경우에만 트리거됩니다. 기간
maxActiveInstances 구성요소의 동시 활성 인스턴스 최대수입니다. 재실행은 활성 인스턴스의 수에 포함되지 않습니다. Integer
maximumRetries 장애 시 재시도 최대 횟수. Integer
minInstanceCount 사용되지 않음. Integer
onFail 현재 객체에 장애가 있을 때 실행할 작업입니다. 참조 객체, 예: "onFail":{"ref":"myActionId"}
onLateAction 객체가 아직 예약되지 않았거나 계속 실행 중인 경우에 트리거되어야 하는 작업입니다. 참조 객체, 예: "onLateAction":{"ref":"myActionId"}
onSuccess 현재 객체가 성공하면 실행할 작업입니다. 참조 객체, 예: "onSuccess":{"ref":"myActionId"}
parent 슬롯을 상속해 올 현재 객체의 상위 객체입니다. 참조 객체, 예: "parent":{"ref":"myBaseObjectId"}
pipelineLogUri 파이프라인 로그 업로드를 위한 Amazon S3 URI (예:'s3://BucketName/Key/'). String
region Amazon EC2 인스턴스를 실행해야 하는 지역의 코드입니다. 기본적으로 인스턴스는 파이프라인과 동일한 리전에서 실행됩니다. 종속 데이터 세트와 동일한 리전에서 인스턴스를 실행할 수 있습니다. 열거
reportProgressTimeout 원격 작업에서 reportProgress를 연속으로 호출하는 제한 시간입니다. 이것이 설정되면 지정 기간 동안 진행 상황을 보고하지 않는 원격 활동은 중단된 것으로 간주되어 재시도됩니다. 기간
retryDelay 두 번의 재시도 사이의 제한 시간 간격입니다. 기간
runAsUser 실행할 사용자 TaskRunner. String
runsOn 이 객체에서는 이 필드가 허용되지 않습니다. 참조 객체, 예:"runsOn":{"ref":"myResourceId"}
scheduleType

일정 유형을 사용하여 파이프라인 정의에 있는 객체의 일정을 간격 시작 시점으로, 종료 시점으로 또는 필요할 때 지정할 수 있습니다.

유효한 값:

  • timeseries. 각 간격이 종료될 때 인스턴스 일정이 지정됩니다.

  • cron. 각 간격이 시작할 때 인스턴스 일정이 지정됩니다.

  • ondemand. 활성화될 때마다 한 번씩 파이프라인을 실행할 수 있습니다. 그러므로 다시 실행하기 위해 파이프라인을 복제하거나 다시 생성할 필요가 없습니다. 온디맨드 일정을 사용하려면 기본 객체에서 지정해야 하며, 이것이 파이프라인의 객체에 지정된 유일한 scheduleType이어야 합니다. 온디맨드 파이프라인을 사용하려면 후속 실행마다 ActivatePipeline 작업을 호출하십시오.

열거
securityGroupIds 리소스 IDs 풀의 인스턴스에 사용할 하나 이상의 Amazon EC2 보안 그룹 중 하나입니다. String
securityGroups 리소스 풀의 인스턴스에 사용할 하나 이상의 Amazon EC2 보안 그룹. String
spotBidPrice 스팟 인스턴스의 시간당 최대 금액(달러)이며, 0 초과 20.00 미만의 십진수 값입니다. String
subnetId 인스턴스를 시작할 Amazon EC2 서브넷의 ID입니다. String
terminateAfter 이 숫자만큼의 시간이 지난 뒤 리소스를 종료합니다. 기간
useOnDemandOnLastAttempt 스팟 인스턴스를 마지막으로 요청할 때 스팟 인스턴스가 아니라 온디맨드 인스턴스를 요청합니다. 이렇게 하면 이전의 시도가 모두 실패했어도 마지막 시도가 중단되지 않습니다.
workerGroup 이 객체에서는 이 필드가 허용되지 않습니다. String

실행 시간 필드 설명 슬롯 유형
@activeInstances 현재 예약되어 있는 활성 인스턴스 객체의 목록입니다. 참조 객체, 예:"activeInstances":{"ref":"myRunnableObjectId"}
@actualEndTime 이 객체의 실행이 완료된 시간입니다. DateTime
@actualStartTime 이 객체의 실행이 시작된 시간입니다. DateTime
cancellationReason 이 객체가 취소된 경우의 cancellationReason입니다. String
@cascadeFailedOn 객체 실패가 발생한 종속 체인에 대한 설명입니다. 참조 객체, 예:"cascadeFailedOn":{"ref":"myRunnableObjectId"}
emrStepLog 단계 로그는 Amazon EMR 활동 시도에서만 사용할 수 있습니다. String
errorId 이 객체가 실패한 경우의 오류 ID입니다. String
errorMessage 이 객체가 실패한 경우의 오류 메시지입니다. String
errorStackTrace 이 객체가 실패한 경우의 오류 스택 트레이스입니다. String
@failureReason 리소스 실패 이유입니다. String
@finishedTime 이 객체의 실행이 완료된 시간입니다. DateTime
hadoopJobLog Amazon EMR 활동 시도 시 하둡 작업 로그를 확인할 수 있습니다. String
@healthStatus 종료 상태에 도달한 마지막 객체 인스턴스의 성공 또는 실패를 나타내는 객체의 상태입니다. String
@healthStatusFromInstanceId 종료 상태에 도달한 마지막 인스턴스 객체의 ID입니다. String
@ 시간 healthStatusUpdated 상태가 마지막으로 업데이트된 시간입니다. DateTime
hostname 작업 시도를 선택한 클라이언트의 호스트 이름입니다. String
@lastDeactivatedTime 이 객체가 마지막으로 비활성화된 시간입니다. DateTime
@ latestCompletedRun 시간 실행이 완료된 최근 실행 시간입니다. DateTime
@latestRunTime 실행이 예약된 최근 실행 시간입니다. DateTime
@nextRunTime 다음으로 예약된 실행 시간입니다. DateTime
reportProgressTime 원격 활동에서 진행 상황을 보고한 가장 최근 시간입니다. DateTime
@scheduledEndTime 객체의 일정 종료 시간. DateTime
@scheduledStartTime 객체의 일정 시작 시간. DateTime
@상태 이 객체의 상태입니다. String
@version 객체를 생성할 당시의 파이프라인 버전입니다. String
@waitingOn 이 객체가 대기 중인 종속 요소 목록에 대한 설명입니다. 참조 객체, 예: "waitingOn":{"ref":"myRunnableObjectId"}

시스템 필드 설명 슬롯 유형
@오류 잘못 형성된 객체를 설명하는 오류. String
@pipelineId 이 객체가 속하는 파이프라인의 ID. String
@sphere 수명 주기상 객체의 위치. 구성요소 객체가 인스턴스 객체를 트리거하고, 인스턴스 객체는 시도 객체를 실행합니다. String