AWS Data Exchange から Amazon S3 へのデータインジェストを自動化する
Adnan Alvee、Manikanta Gona (Amazon Web Services)
概要
本パターンは、Amazon Simple Storage Service (Amazon S3) 内のデータレイクに AWS Data Exchange のデータを自動的に取り込むことができる CloudFormation テンプレートを提供します。
AWS Data Exchange は、AWS クラウドでファイルベースのデータセットを安全にやりとりできるようにするためのサービスです。AWS Data Exchange のデータセットはサブスクリプションで利用できます。サブスクライバーは、プロバイダーが新しいデータをパブリッシュしたときに、データセットの改訂版にアクセスすることもできます。
AWS Lambda テンプレートは Amazon CloudWatch Events イベントと CloudFormation 関数を作成します。このイベントは、お客様がサブスクライブしているデータセットの更新を監視します。更新がある場合、CloudWatch は Lambda 関数を開始し、指定した S3 バケットにデータをコピーします。データが正常にコピーされると、Lambda から Amazon Simple Notification Service (Amazon SNS) 通知が送信されます。
前提条件と制限
前提条件
アクティブな AWS アカウント
AWS Data Exchange のデータセットのサブスクリプション
制約事項
CloudFormation テンプレートは、AWS Data Exchange のサブスクライブされたデータセットごとに個別にデプロイする必要があります。
アーキテクチャ
ターゲットテクノロジースタック
AWS Lambda
Amazon S3
AWS Data Exchange
Amazon CloudWatch
Amazon SNS
ターゲット アーキテクチャ

自動化とスケール
データレイクに取り込むデータセットには、CloudFormation テンプレートを複数回使用できます。
ツール
AWS Data Exchange を使用すると、AWS のお客様は AWS クラウドでファイルベースのデータセットを安全にやりとりできます。サブスクライバーは、認定されたデータプロバイダーからの何千もの製品を検索してサブスクライブすることができます。サブスクライブしたら、データセットをすばやくダウンロードするか、Amazon S3 にコピーして、さまざまな AWS 分析および機械学習サービス全体で使用することができます。AWS アカウント を持つユーザーなら、誰でも AWS Data Exchange サブスクライバーになることができます。
AWS Lambda を使用すると、サーバーをプロビジョニングまたは管理しなくてもコードを実行できます。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。使用したコンピューティング時間に対してのみお支払いいただきます。コードが実行中でなければ料金はかかりません。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。Lambda は、高可用性コンピューティングインフラストラクチャ上でコードを実行し、サーバーとオペレーティングシステムのメンテナンス、容量のプロビジョニングと自動スケーリング、コードのモニタリング、ロギングを含むすべてのコンピューティングリソースを管理します。
Amazon S3 はインターネット用のストレージす。Simple Storage Service (Amazon S3) を使用すると、いつでもウェブ上の任意の場所から任意の量のデータを保存および取得できます。
Amazon CloudWatch Events は、AWS リソースの変更を示すシステムイベントをほぼリアルタイムのストリーミングとして提供します。すぐに設定できる簡単なルールを使用して、ルールに一致したイベントを 1 つ以上のターゲット関数またはストリームに振り分けることができます。CloudWatch Events が発生すると、運用上の変更が認識されます。オペレーションの変更に応答し、必要に応じて、応答メッセージを環境に送り、機能をアクティブ化し、変更を行い、状態情報を収集することによって、修正アクションを実行します。CloudWatch Events を使用して、cron式 や rate式により特定の時間に自己トリガーする自動アクションをスケジュールすることもできます。
Amazon Simple Notification Service (Amazon SNS) を使用すると、アプリケーション、エンドユーザー、デバイスはクラウドから瞬時に通知を送受信できまです。Amazon SNS は、高スループットのプッシュベースの多対多メッセージング用のトピック (通信チャネル) を提供します。Amazon SNS トピックを使用すると、パブリッシャーはメッセージを多数のサブスクライバーに配信して、Amazon Simple Queue Service (Amazon SQS) キュー、Lambda 関数、HTTP/S ウェブフックなどの並行処理を行うことができます。Amazon SNS を使用して、モバイルプッシュ、SMS、E メールを使用してエンドユーザーに通知を送信することもできます。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
データセットをサブスクライブする | AWS Data Exchange コンソールで、データセットをサブスクライブする 手順については、AWS ドキュメントの「Subscribing to data products on AWS Data Exchange」を参照してください。 | AWS 全般 |
データセットの属性に注意してください。 | データセットの AWS リージョン、ID、リビジョン ID を書き留めておきます。これらは次のステップで使用する CloudFormation テンプレートで必要になります。 | AWS 全般 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
S3 バケットとフォルダを作成する。 | Amazon S3 に既にデータレイクがある場合は、AWS Data Exchange から取り込むデータを保存するフォルダを作成します。テスト目的でテンプレートをデプロイする場合は、新しい S3 バケットを作成し、次のステップのためにバケット名とフォルダプレフィックスを書き留めておきます。 | AWS 全般 |
CloudFormation テンプレートをデプロイします。 | このパターンの添付ファイルとして提供されている CloudFormation テンプレートをデプロイします。手順については、CloudFormation ドキュメントを参照してください。 次のパラメータを自分の AWS アカウント、データセット、S3 バケット設定に対応するように設定します: データセットの AWS リージョン、データセット ID、リビジョン ID、S3 バケット名 ( | AWS 全般 |
関連リソース
Subscribing to data products on AWS Data Exchange (AWS Data Exchange ドキュメント)
添付ファイル
このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip」