AWS Data Pipeline
開発者ガイド (API バージョン 2012-10-29)

Ec2Resource

パイプラインアクティビティで定義された作業を実行する Amazon EC2 インスタンス。

インスタンスを指定しない場合に AWS Data Pipeline で作成されるデフォルトの Amazon EC2 インスタンスの詳細については、「 AWS リージョン別のデフォルトの Amazon EC2 インスタンス」を参照してください。

EC2-Classic

次のオブジェクト例では、オプションフィールドをいくつか設定し、EC2-Classic またはデフォルトの VPC で EC2 インスタンスを起動します。

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

EC2-VPC

次のオブジェクト例では、オプションフィールドをいくつか設定し、デフォルト以外の VPC で EC2 インスタンスを起動します。

{ "id" : "MyEC2Resource", "type" : "Ec2Resource", "actionOnTaskFailure" : "terminate", "actionOnResourceFailure" : "retryAll", "maximumRetries" : "1", "instanceType" : "m1.medium", "securityGroupIds" : [ "sg-12345678", "sg-12345678" ], "subnetId": "subnet-12345678", "associatePublicIpAddress": "true", "keyPair" : "my-key-pair" }

構文

必須フィールド 説明 スロットタイプ
resourceRole Amazon EC2 インスタンスがアクセスできるリソースを制御する IAM ロール。 文字列
ロール AWS Data Pipeline が EC2 インスタンスを作成するために使用する IAM ロール。 文字列

オブジェクト呼び出しフィールド 説明 スロットタイプ
schedule

このオブジェクトは、スケジュール期間の実行中に呼び出されます。

このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定します。これには以下の 2 つの方法があります。

  • パイプライン内のすべてのオブジェクトで確実にスケジュールが継承されるようにするには、オブジェクトでスケジュールを明示的に設定します: "schedule": {"ref": "DefaultSchedule"}。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置すると便利です。

  • マスタースケジュール内にネストされたスケジュールがパイプラインにある場合、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。

参照オブジェクト ("schedule":{"ref":"myScheduleId"} など)

オプションのフィールド 説明 スロットタイプ
actionOnResourceFailure このリソースに対するリソースの失敗後に実行されるアクション。有効な値は、"retryall" および "retrynone" です。 文字列
actionOnTaskFailure このリソースに対するタスクの失敗後に実行されるアクション。有効な値は "continue" または "terminate" です。 文字列
associatePublicIpAddress インスタンスにパブリック IP アドレスを割り当てるかどうかを示しますインスタンスが Amazon EC2 または Amazon VPC の場合、デフォルト値は true です。それ以外の場合、デフォルト値は false です。 Boolean
attemptStatus リモートアクティビティから最も最近報告されたステータス。 文字列
attemptTimeout リモートの作業完了のタイムアウト。設定された場合、指定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 間隔
availabilityZone Amazon EC2 インスタンスの起動場所となるアベイラビリティーゾーン。 文字列
failureAndRerunMode 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 一覧表
httpProxy クライアントが AWS のサービスに接続するために使用するプロキシホスト。 参照オブジェクト ( "httpProxy":{"ref":"myHttpProxyId"} など)
imageId

インスタンスに使用する AMI の ID。デフォルトでは、AWS Data Pipeline は HVM AMI 仮想化タイプを使用します。使用される具体的な AMI ID は、次のようにリージョンに基づきます。

  • us-east-1: ami-0c7d8678e345b414c

  • us-east-2: ami-0e983e0e156f6152e

  • us-west-1: ami-0d7854a15957bfc0d

  • us-west-2: ami-09c6e771

  • ap-southeast-1: ami-0fe23617accff1901

  • ap-southeast-2: ami-0d85af1f569cb1dff

  • ap-northeast-1: ami-00c97fba3644ea699

  • ap-northeast-2: ami-08633ba7cc8ea5927

  • ap-south-1: ami-0d785c1c5809bab6e

  • sa-east-1: ami-0163ac3bad0a3f1ef

  • ca-central-1: ami-251b9641

  • eu-central-1: ami-0dea4adc94d997fbe

  • eu-west-1: ami-063d7038eec55d449

  • eu-west-2: ami-f10aff96

  • eu-west-3: ami-03443e5306761fbd3

選択した HVM AMI を指定して、デフォルトの AMI を上書きすることができます。AMI タイプの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Linux AMI 仮想化タイプ」および「Linux AMI を見つける」を参照してください。

文字列
initTimeout リソースが起動するまでの待機時間。 間隔
instanceCount 廃止. 整数
instanceType 起動する Amazon EC2 インスタンスのタイプ。 文字列
keyPair キーペアの名前。キーペアを指定せずに Amazon EC2 インスタンスを起動すると、ログオンできません。 文字列
lateAfterTimeout オブジェクトが開始する必要がある、パイプライン開始後の経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 間隔
maxActiveInstances コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 整数
maximumRetries 失敗時の最大再試行回数。 整数
minInstanceCount 廃止. 整数
onFail 現在のオブジェクトが失敗したときに実行するアクション。 参照オブジェクト ( "onFail":{"ref":"myActionId"} など)
onLateAction オブジェクトが予定されていないか、まだ実行中の場合にトリガーされるアクション。 参照オブジェクト ("onLateAction":{"ref":"myActionId"} など)
onSuccess 現在のオブジェクトが成功したときに実行するアクション。 参照オブジェクト ( "onSuccess":{"ref":"myActionId"} など)
parent スロットの継承元となる現在のオブジェクトの親。 参照オブジェクト ( "parent":{"ref":"myBaseObjectId"} など)
pipelineLogUri パイプラインのログをアップロードするための Amazon S3 URI ('s3://BucketName/Key/' など)。 文字列
リージョン Amazon EC2 インスタンスを実行する必要のあるリージョンのコード。デフォルトでは、インスタンスはパイプラインと同じリージョンで実行されます。依存するデータセットと同じリージョンでインスタンスを実行することもできます。 一覧表
reportProgressTimeout reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 間隔
retryDelay 2 回の再試行の間のタイムアウト期間。 間隔
runAsUser TaskRunner を実行するユーザー。 文字列
runsOn このフィールドはこのオブジェクトでは使用できません。 参照オブジェクト ("runsOn":{"ref":"myResourceId"} など)
scheduleType

スケジュールタイプでは、パイプライン定義のオブジェクトを間隔の最初にスケジュールするか、間隔の最後に、またはオンデマンドでスケジュールするかを指定できます。

値は次のとおりです。

  • timeseriesインスタンスは各間隔の最後にスケジュールされます。

  • cronインスタンスは各間隔の最初にスケジュールされます。

  • ondemandアクティベーションごとに 1 回パイプラインを実行することができます。パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出します。

一覧表
securityGroupIds リソースプールのインスタンスに使用する 1 つ以上の Amazon EC2 セキュリティグループの ID。 文字列
securityGroups リソースプールのインスタンスに使用する 1 つ以上の Amazon EC2 セキュリティグループ。 文字列
spotBidPrice スポットインスタンスの 1 時間あたりの最大金額 (ドル) であり、0 より大きく 20.00 より小さい 10 進値です。 文字列
subnetId インスタンスを起動する Amazon EC2 サブネットの ID。 文字列
terminateAfter リソースを終了するまでの時間数。 間隔
useOnDemandOnLastAttempt スポットインスタンスをリクエストする最後の試行では、スポットインスタンスではなくオンデマンドインスタンスのリクエストを作成します。これにより、以前の試行がすべて失敗した場合に、最後の試行は中断されません。 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 Amazon EMR アクティビティで試みることができる Hadoop ジョブのログ。 文字列
@healthStatus 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 文字列
@healthStatusFromInstanceId 終了状態に達した最後のインスタンスオブジェクトの ID。 文字列
@healthStatusUpdatedTime ヘルス状態が最後に更新された時間。 DateTime
hostname タスクの試行を取得したクライアントのホスト名。 文字列
@lastDeactivatedTime このオブジェクトが最後に非アクティブ化された時刻。 DateTime
@latestCompletedRunTime 実行が完了した最後の実行の時刻。 DateTime
@latestRunTime 実行がスケジュールされた最後の実行の時刻。 DateTime
@nextRunTime 次回にスケジュールされた実行の時刻。 DateTime
reportProgressTime リモートアクティビティで進捗状況が報告された最新の時刻。 DateTime
@scheduledEndTime オブジェクトの予定された終了時刻。 DateTime
@scheduledStartTime オブジェクトの予定された開始時刻。 DateTime
@status このオブジェクトのステータス。 文字列
@バージョン オブジェクトが作成されたパイプラインのバージョン。 文字列
@waitingOn このオブジェクトが待機している依存関係のリストの説明。 参照オブジェクト ( "waitingOn":{"ref":"myRunnableObjectId"} など)

システムフィールド 説明 スロットタイプ
@error 形式が正しくないオブジェクトを説明するエラー. 文字列
@pipelineId このオブジェクトが属するパイプラインの ID。 文字列
@sphere ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 文字列

このページの内容: