Ec2Resource - AWS Data Pipeline

AWS Data Pipeline 不再提供給新客戶。現有客戶 AWS Data Pipeline 可繼續正常使用此服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Ec2Resource

執行管道活動定義之工作的 Amazon EC2 執行個體。

AWS Data Pipeline 現在支援 Amazon 執IMDSv2行個EC2體,Amazon 執行個體使用工作階段導向方法,在從執行個體擷取中繼資料資訊時,更有效地處理身份驗 工作階段會開始和結束 Amazon 執行個體上執行的軟體用來存取本機儲存的 Amazon EC2 執行個體中繼資料和登入資料的一系列請求。EC2軟體會以簡單的HTTPPUT要求啟動工作階段IMDSv2。IMDSv2會將秘密權杖傳回至 Amazon EC2 執行個體上執行的軟體,這會使用該權杖做為密碼,向中繼資料和登入IMDSv2資料發出要求。

注意

若要用IMDSv2於 Amazon 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 平台。如果您有其中一個帳戶,您可以選擇在 EC2-Classic 網路中為管線建立EC2Resource物件,而不是建立VPC。強烈建議您為中的所有管道建立資源VPCs。此外,如果您在 EC2-Classic 中有現有資源,我們建議您將它們遷移到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角色。 字串
role AWS Data Pipeline 用來建立EC2執行個體的IAM角色。 字串

物件呼叫欄位 描述 槽類型
schedule

在排程間隔的執行期間會呼叫此物件。

若要設定此物件的相依性執行順序,請指定另一個物件的排程參考。您可採用下列其中一種方式來這麼做:

參考物件,例如 "schedule":{"ref":"myScheduleId"}

選用欄位 描述 槽類型
actionOnResource失敗 此資源的資源故障之後所採取的動作。有效值為 "retryall""retrynone" 字串
actionOnTask失敗 此資源的任務失敗之後所採取的動作。有效值為 "continue""terminate" 字串
associatePublicIp地址 指出是否將公有 IP 地址指派此執行個體。如果執行個體位於 Amazon EC2 或 AmazonVPC,則預設值為true。否則,預設值為 false Boolean
attemptStatus 遠端活動最新回報的狀態。 字串
attemptTimeout 遠端工作完成的逾時。如果設定,則未在指定開始時間內完成的遠端活動,可能會重試。 期間
availabilityZone 要在其中啟動 Amazon EC2 執行個體的可用區域。 字串
disableIMDSv1 預設值為 false,並同時啟用IMDSv1和IMDSv2。如果你將其設置為 true,那麼它禁用IMDSv1,只提供 IMDSv2s Boolean
failureAndRerun模式 描述相依性故障或重新執行時的消費者節點行為。 列舉
httpProxy 用戶端用來連線至 AWS 服務的 Proxy 主機。 參考物件,例如 "httpProxy":{"ref":"myHttpProxyId"}
imageId

AMI要用於執行個體的識別碼。依預設, AWS Data Pipeline 會使用HVMAMI虛擬化類型。AMIIDs使用的具體基於一個區域。您可以指定您選擇HVMAMI的AMI來覆寫預設值。如需有關AMI類型的詳細資訊,請參閱 Amazon EC2 使用者指南AMILinux AMI 虛擬化類型和尋找 Linux。

字串
initTimeout 等候資源啟動的時間長短。 期間
instanceCount 已廢除。 Integer
instanceType 要啟動的 Amazon EC2 實例的類型。 字串
keyPair 金鑰對的名稱。如果您在未指定 key pair 的情況下啟動 Amazon EC2 執行個體,則無法登入該執行個體。 字串
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 S3URI(例如's3://BucketName/Key/')。 字串
region 應在其中執行 Amazon 執行EC2個體的區域代碼。根據預設,執行個體執行所在的區域和管道相同。您可以在和相依資料集相同的區域中執行執行個體。 列舉
reportProgressTimeout 遠端工作連續呼叫 reportProgress 的逾時。如果設定,則不回報指定時段進度的遠端活動,可能會視為已停滯而重試。 期間
retryDelay 兩次重試嘗試之間的逾時持續時間。 期間
runAsUser 要執行的使用者 TaskRunner. 字串
runsOn 此物件不允許此欄位。 參考物件,例如 "runsOn":{"ref":"myResourceId"}
scheduleType

排程類型可讓您指定管道定義中的物件應該排程在間隔開頭、間隔結尾,還是隨需排程。

數值為:

  • timeseries。 執行個體會在每個間隔結束時排程。

  • cron。 執行個體會排定在每個間隔的開始。

  • ondemand。 允許您在每次啟動時執行一次管道。您不必複製或重新建立管道,然後再執行一次。若您使用隨需排程,則必須在預設物件中指定此排程,且其必須是針對管道中物件指定的唯一 scheduleType。若要使用隨需管道,請針對每次後續執行呼叫 ActivatePipeline 操作。

列舉
securityGroupIds 用於資源集區中執行個體IDs的一或多個 Amazon EC2 安全群組。 字串
securityGroups 要用於資源集區中執行個體的一或多個 Amazon EC2 安全群組。 字串
spotBidPrice 您 Spot 執行個體每小時的美元上限,這是介於 0 至 20.00 的獨佔小數值。 字串
subnetId 要在其中啟動執行個體的 Amazon EC2 子網路識別碼。 字串
terminateAfter 在此小時數後終止資源。 期間
useOnDemandOnLastAttempt 最後一次嘗試請求 Spot 執行個體時,提出隨需執行個體請求,而不是 Spot 執行個體請求。這可確保即使之前所有的嘗試都失敗,最後一次嘗試也不會中斷。 Boolean
workerGroup 此物件不允許此欄位。 字串

執行時間欄位 描述 槽類型
@activeInstances 目前已排程的作用中執行個體物件清單。 參考物件,例如 "activeInstances":{"ref":"myRunnableObjectId"}
@actualEndTime 此物件執行完成的時間。 DateTime
@actualStartTime 此物件執行開始的時間。 DateTime
cancellationReason 若此物件已取消,會提供 cancellationReason 字串
@cascadeFailedOn 物件失敗所在相依性鏈的描述。 參考物件,例如 "cascadeFailedOn":{"ref":"myRunnableObjectId"}
emrStepLog 步驟日誌僅適用於 Amazon EMR 活動嘗試。 字串
errorId 若此物件失敗,會提供錯誤 ID。 字串
errorMessage 若此物件失敗,會提供錯誤訊息。 字串
errorStackTrace 如果此物件失敗,則為錯誤堆疊追蹤。 字串
@failureReason 資源故障的原因。 字串
@finishedTime 此物件完成其執行的時間。 DateTime
hadoopJobLog Hadoop 任務日誌可在嘗試 Amazon EMR 活動時使用。 字串
@healthStatus 反映已達終止狀態之最後一個物件執行個體成功或失敗的物件運作狀態。 字串
@healthStatusFromInstanceId 已達終止狀態之最後一個執行個體物件的 ID。 字串
@ healthStatusUpdated 時間 上次更新運作狀態的時間。 DateTime
hostname 選取任務嘗試之用戶端的主機名稱。 字串
@lastDeactivatedTime 此物件最後停用的時間。 DateTime
@ latestCompletedRun 時間 執行完成最近一次執行的時間。 DateTime
@latestRunTime 執行排程最近一次執行的時間。 DateTime
@nextRunTime 下次要排程執行的時間。 DateTime
reportProgressTime 遠端活動最近報告進度的時間。 DateTime
@scheduledEndTime 物件的排程結束時間。 DateTime
@scheduledStartTime 物件的排程開始時間。 DateTime
@status 此物件的狀態。 字串
@version 建立物件使用的管道版本。 字串
@waitingOn 此物件等待之相依性清單的描述。 參考物件,例如 "waitingOn":{"ref":"myRunnableObjectId"}

系統欄位 描述 槽類型
@error 描述格式錯誤物件的錯誤。 字串
@pipelineId 此物件所屬管道的 ID。 字串
@sphere 物件在生命週期中的位置。元件物件引發執行個體物件,這會執行嘗試物件。 字串