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 |
在排程間隔的執行期間會呼叫此物件。 若要設定此物件的相依性執行順序,請指定另一個物件的排程參考。您可採用下列其中一種方式來這麼做:
|
參考物件,例如
|
選用欄位 | 描述 | 槽類型 |
---|---|---|
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 使用者指南AMI中的 Linux 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 |
排程類型可讓您指定管道定義中的物件應該排程在間隔開頭、間隔結尾,還是隨需排程。 數值為:
|
列舉 |
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 | 物件在生命週期中的位置。元件物件引發執行個體物件,這會執行嘗試物件。 | 字串 |