AWS を無料でお試しください
まずは無料で始める »またはコンソールにサインイン
AWS 無料利用枠には、AWS Data Pipeline の低頻度の前提条件 3 つと低頻度のアクティビティ 5 つが含まれています。
Q: AWS Data Pipeline とは何ですか?
AWS Data Pipeline は、AWS クラウドでの定期的なデータ移動やデータ処理といったアクティビティのスケジュールを簡単に設定できるウェブサービスです。AWS Data Pipeline によりオンプレミスとクラウドベースのストレージシステムが統合されるため、開発者はそれらのデータを必要なときに、使用したい場所で、必要な形式で使用できます。AWS Data Pipeline を使用して、データソース、送信先、および「パイプライン」と呼ばれるデータ処理アクティビティ (あらかじめ定義されたアクティビティまたはカスタムアクティビティ) から成る依存関係をすばやく定義できます。パイプラインは、定義したスケジュールに基づき、分散データのコピー、SQL 変換、MapReduce アプリケーション、または Amazon S3、Amazon RDS、Amazon DynamoDB などの送信先に対するカスタムスクリプトといった処理アクティビティを定期的に実行します。スケジュール設定、再試行、これらのワークフローに対する障害ロジックを、高スケーラブルかつ完全なマネージドサービスとして実行することにより、堅牢で高可用性を備えたパイプラインのご利用を保証します。
Q: AWS Data Pipeline を使用して何ができますか?
AWS Data Pipeline を使用すると、パイプラインの準備がすばやく簡単に行えるようになり、日次データ運用の管理に必要な開発とメンテナンスの手間が省けるため、そのデータを基にした将来の予測を立てることに集中できます。お客様はデータソース、スケジュール、およびデータパイプラインに必要な処理アクティビティを指定するだけです。処理アクティビティの実行とモニタリングは、高い信頼性があり耐障害性を備えたインフラストラクチャ上で行われ、AWS Data Pipeline がこれを処理します。さらに、開発プロセスをいっそう容易にするために、AWS Data Pipeline には、Amazon S3 と Amazon RDS 間でのデータコピーや、Amazon S3 ログデータに対するクエリの実行など、一般的なアクションの組み込みアクティビティが用意されています。
Q: AWS Data Pipeline と Amazon Simple Workflow Service の違いは何ですか?
両サービスとも、追跡、再試行、例外処理、任意のアクションの実行といった機能を提供しますが、AWS Data Pipeline では特にデータ駆動型ワークフローの大半に共通する特定の手順を簡素化できます。具体的には、入力データが特定の準備基準に一致した場合にアクティビティを実行する、異なるデータストア間で簡単にデータをコピーする、変換スケジュールを簡単に設定する、といったことを行えます。Data Pipeline は特定の手順に高度に特化しているため、コーディングやプログラミングの知識がなくても、ワークフロー定義を簡単に作成できます。
パイプラインは AWS Data Pipeline のリソースです。データソースの依存関係の定義、送信先、およびビジネスロジックの実行に必要な定義済みまたはカスタムのデータ処理アクティビティなどが含まれます。
Q: データノードとは何ですか?
データノードとは、お客様のビジネスデータを表したものです。例えば、データノードは特定の Amazon S3 パスを参照できます。AWS Data Pipeline は、定期的に生成されるデータを簡単に参照する式言語をサポートします。例えば、Amazon S3 データ形式は、s3://example-bucket/my-logs/logdata-#{scheduledStartTime('YYYY-MM-dd-HH')}.tgz のように指定できます。
アクティビティとは、AWS Data Pipeline がパイプラインの一部としてお客様の代わりに実行するアクションのことです。アクティビティの例としては、EMR または Hive ジョブ、コピー、SQL クエリ、コマンドラインスクリプトなどがあります。
Q: 前提条件とは何ですか?
前提条件とは、準備状況のチェックのことで、オプションでデータソースまたはアクティビティに関連付けることができます。データソースに前提条件チェックがある場合、そのデータソースを使用するアクティビティが起動される前に、その前提条件チェックが正常に完了しなければなりません。アクティビティに前提条件がある場合は、アクティビティが実行される前に前提条件チェックが正常に完了しなければなりません。これは、高額なコンピューティングアクティビティを実行していて、一定の基準を満たすまではそのアクティビティを実行すべきでない場合に有用です。
Q: スケジュールとは何ですか?
スケジュールとは、パイプラインのアクティビティが実行されるタイミング、およびサービスがお客様のデータを利用できると想定する頻度を定義します。すべてのスケジュールには開始日と頻度の設定が必要です。例えば、2013 年 1 月 1 日の午後 3 時に開始され、毎日実行されるなどの設定です。スケジュールにはオプションで終了日を指定できます。終了日以降は、AWS Data Pipeline サービスはいかなるアクティビティも実行しません。スケジュールをアクティビティに関連付けると、アクティビティはそのスケジュールに沿って実行されます。スケジュールをデータソースに関連付けると、そのスケジュールに沿ってデータを更新するように AWS Data Pipeline サービスに通知されます。例えば、Amazon S3 データソースに 1 時間ごとのスケジュールを定義すると、データソースに 1 時間ごとに新規ファイルが格納されることが想定されます。
Q: AWS Data Pipeline に標準のアクティビティは用意されていますか?
はい。AWS Data Pipeline は以下のアクティビティの組み込みのサポートを提供します。
- CopyActivity: Amazon S3 と JDBC データソース間でデータをコピーします。または SQL クエリを実行し、その出力を Amazon S3 へコピーします。
- HiveActivity: Hive クエリを簡単に実行できます。
- EMRActivity: 任意の Amazon EMR ジョブを実行できます。
- ShellCommandActivity: 任意の Linux シェルコマンドまたはプログラムを実行できます。
Q: AWS Data Pipeline に標準の前提条件は用意されていますか?
はい。AWS Data Pipeline は以下の前提条件の組み込みのサポートを提供します。
- DynamoDBDataExists: DynamoDB テーブル内のデータの有無をチェックします。
- DynamoDBTableExists: DynamoDB テーブルの有無をチェックします。
- S3KeyExists: 特定の AmazonS3 パスの有無をチェックします。
- S3PrefixExists: 特定のパス内に少なくとも 1 つのファイルが存在することをチェックします。
- ShellCommandPrecondition: リソース上で任意のスクリプトを実行し、そのスクリプトが成功したかどうかをチェックします。
Q: 独自のカスタムアクティビティを使用することはできますか?
はい。ShellCommandActivity を使用して任意のアクティビティロジックを実行できます。
Q: 独自のカスタム前提条件を使用することはできますか?
はい。ShellCommandPrecondition を使用して、任意の前提条件ロジックを実行できます。
Q: 同じパイプラインの異なるアクティビティに複数のスケジュールを定義することはできますか?
はい。パイプラインの定義ファイルに複数のスケジュールオブジェクトを定義し、スケジュールフィールドを使用して必要なスケジュールを正しいアクティビティに関連付けるだけです。これにより、例えば 1 時間ごとに Amazon S3 にログファイルを保存して、1 日 1 回集約レポートを生成するパイプラインを定義できます。
Q: アクティビティが失敗するとどうなりますか?
あるアクティビティのすべての試行が失敗ステータスを返す場合、そのアクティビティは失敗となります。デフォルトでは、アクティビティは完全な失敗ステータスになる前に 3 回の再試行を行います。自動再試行の数を 10 回まで増やすことができますが、無限再試行はサポートされていません。アクティビティの再試行の上限回数に達すると、設定済みの onFailure アラームがトリガーされます。CLI、API、またはコンソールボタンを使用して手動で再実行コマンドを発行しない限り、このアクティビティの再実行は試行されません。
Q: アクティビティにアラームを追加するにはどうすればよいですか?
アクティビティが成功、失敗、または遅延した場合にアラームをトリガーするように、Amazon SNS アラームを定義できます。アラームオブジェクトを作成し、アクティビティオブジェクトの onFail、onSuccess、onLate スロットでそのオブジェクトを参照します。
Q: アクティビティが失敗した場合に手動で再実行できますか?
はい。完了したアクティビティまたは失敗したアクティビティのステータスを SCHEDULED に設定しなおせば、一連のアクティビティを再実行できます。これは UI の [再実行] ボタンをクリックするか、あるいはコマンドラインまたは API でステータスを修正することで実行できます。これにより、すべてのアクティビティの依存関係を再チェックするスケジュールが直ちに設定され、その後、追加のアクティビティ試行が実行されます。その結果失敗すると、アクティビティの元々の再試行回数が実行されます。
Q: アクティビティはどのリソースで実行されますか?
AWS Data Pipeline アクティビティはお客様が所有するコンピューティングリソースで実行されます。コンピューティングリソースには 2 つのタイプがあります。1 つは AWS Data Pipeline 管理型、もう 1 つはユーザー管理型です。AWS Data Pipeline 管理型リソースは Amazon EMR クラスターや Amazon EC2 インスタンスです。これらは、AWS Data Pipeline サービスによって必要なときにだけ起動されます。ユーザー管理型のリソースは実行時間が長く、AWS Data Pipeline の Java ベース Task Runner を実行できるあらゆるリソース (オンプレミスのハードウェア、カスタマー管理型の Amazon EC2 インスタンスなど) が該当します。
Q: AWS Data Pipeline 管理型コンピューティングリソースの準備と停止は自動的に行われますか?
はい。コンピューティングリソースは、設定されたスケジュールのアクティビティのうち、これらのリソースを使用する最初のアクティビティの実行準備が整ったときにプロビジョニングされます。これらのインスタンスは、リソースを使用する最後のアクティビティが成功または失敗したときに停止します。
Q: 複数のコンピューティングリソースを同じパイプラインで使用することはできますか?
はい。複数のクラスターオブジェクトを定義ファイルに定義し、使用するクラスターを runsOn フィールドで各アクティビティに関連付けます。こうすることにより、AWS リソースとオンプレミスのリソースがまとめられ、パイプラインのアクティビティにさまざまなインスタンスタイプを使用できるようになります。例えば、簡易スクリプトは t1.micro を使用して安価に実行し、その後で大型インスタンス群の能力が必要な Amazon EMR ジョブをそのパイプラインに設定することができます。
Q: オンプレミスのリソース、またはユーザー自身で管理する AWS リソースでアクティビティを実行できますか?
はい。オンプレミスのリソースを使用したアクティビティの実行を可能にするため、AWS Data Pipeline にはオンプレミスのホストにインストールできる Task Runner パッケージソフトが用意されています。このパッケージソフトは AWS Data Pipeline サービスが実行する作業を継続的にポーリングします。オンプレミスのリソースで特定のアクティビティ (DB ストアドプロシージャやデータベースのダンプの実行など) を実行する時間になると、AWS Data Pipeline から Task Runner に適切なコマンドが発行されます。パイプラインのアクティビティの高可用性を確保するために、オプションで 1 つのジョブに複数の Task Runner を割り当ててポーリングすることができます。この方法では、ある Task Runner が利用できなくなった場合に、他の Task Runner がその作業を引き継ぎます。
Q: オンプレミスのホストに Task Runner をインストールするにはどうすればよいですか?
以下のステップで、Task Runner パッケージソフトをオンプレミスのホストにインストールできます。
- AWS Task Runner パッケージソフトをダウンロードします。
- AWS 認証情報を含む設定ファイルを作成します。
- 以下のコマンドを使用して Task Runner エージェントを開始します。
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup] - 事前にインストールしたホストにアクティビティを送信するためには、アクティビティを定義するときに、そのアクティビティを [myWorkerGroup] で実行されるように設定します。
Q: AWS Data Pipeline の使用を開始するにはどうすればよいですか?
AWS Data Pipeline の使用を開始するには、AWS マネジメントコンソールに移動し、[AWS Data Pipeline] タブに移動します。このタブで、簡単なグラフィカルエディタを使用してパイプラインを作成できます。
Q: AWS Data Pipeline を使用して何ができますか?
AWS Data Pipeline を使用すると、周期的なデータ処理ジョブのスケジュール設定および管理を行うことができます。AWS Data Pipeline を使用して、クーロンベースの脆弱なソリューションで管理されている現行の単純なシステムを置き換えたり、あるいは何段階もある複雑なデータ処理ジョブを構築したりすることができます。
Q: AWS Data Pipeline の試用の際に使えるサンプルのパイプラインはありますか?
はい。ドキュメントにパイプラインのサンプルがあります。さらに、コンソールにはいくつかのパイプラインのテンプレートがあり、それらを使用して開始することができます。
Q: AWS Data Pipeline にはいくつパイプラインを作成できますか?
デフォルトでは、アカウントに 100 個のパイプラインを持たせることができます。
Q: 1 つのパイプラインに配置できるものに制限はありますか?
デフォルトでは、各パイプラインに 100 個のオブジェクトを持たせることができます。
Q: 制限を変更することはできますか?
はい。制限を増やしたい場合には、お問い合わせください。
Q: 料金は税込み価格ですか?
別途記載がない限り、表示される料金に VAT、売上税を含む税金等および関税は一切含まれません。 日本の居住者であるお客様が AWS サービスをご利用になった場合には、料金とあわせて別途消費税をご請求させていただきます。詳細はこちらをご覧ください。