[SEO 小見出し]
このガイダンスでは、データエンジニアとデータサイエンティストが簡単に立ち上げてアクセスできるセルフサービスデータ分析環境を設定する方法を説明します。統合開発環境 (IDE) は Jupyter Notebook に基づいており、簡単にデータを探索できるインタラクティブなインターフェイスを提供するとともに、ほぼリアルタイムのデータパイプラインをデバッグ、構築、スケジュールするために必要なすべてのツールが含まれています。この環境はワークロードの分離による安全なチームコラボレーションをサポートし、管理者は、基盤となるインフラストラクチャの複雑さを前面に出したり、セキュリティ、ガバナンス、コストを犠牲にしたりすることなく、単一のインターフェイスからリソースをセルフプロビジョニング、スケール、プロビジョニング解除できます。管理者は、クラスター設定を独立して管理し、コスト、セキュリティ、信頼性、パフォーマンスを継続的に最適化できます。
ご注意: [免責事項]
アーキテクチャ図
[アーキテクチャ図の説明]
ステップ 1
クラウド運用チームは、必要な仕様 (インスタンスタイプやネットワーク設定など) に従って AWS CloudFormation で Amazon EMR クラスターテンプレートを開発し、セルフサービスプロビジョニングのために AWS Service Catalog の製品としてテンプレートを公開します。
ステップ 2
ウェブ広告の入札イベントまたはピクセルは、ユーザーインプレッションをキャプチャし、そのデータを Amazon Kinesis Data Streams エンドポイントに送信します。
ステップ 3
データエンジニアリングチームは、Amazon EMR Studio でワークスペースにログインします。ここで、Amazon EMR クラスターをセルフプロビジョニングします。あるいは、既存のクラスターをアタッチし、インタラクティブノートブックを使用して入札検証やインプレッション測定などの Spark ストリーミングアプリケーションを開発します。
ステップ 4
Spark ストリーミングアプリケーションは、Amazon EMR クラスター上で実行されます。このアプリケーションは、Kinesis Data Streams から入札またはインプレッションイベントに関する生データを継続的に取り込みます。アプリケーションはデータを変換します。その後、変換されたデータは Amazon Simple Storage Service (Amazon S3) データレイクに保存されます。
このプロセスにより、ほぼリアルタイムの運用レポートが可能になります。コスト最適化の柔軟性を最大限に高めるプロビジョンド Amazon EMR クラスター、またはデプロイとクラスター管理を簡素化するサーバーレスの Amazon EMR クラスターを選択できます。
ステップ 5
Amazon S3 は、パーティション化されたフォルダにデータを保存します。データは圧縮して列形式にすることも、Apache Iceberg などの他のオープンテーブル形式にすることもできます。
ステップ 6
すべてのデータベースとテーブルのメタデータは AWS Glue データカタログ内に登録されるため、Amazon Athena や Amazon SageMaker などの複数の AWS サービスでデータをクエリできます。
ステップ 7
(オプション) データレイク管理者は、データカタログを AWS Lake Formation に登録して、よりきめ細かいアクセスコントロールを提供したり、ユーザー管理を一元化したりできます。
ステップ 8
ユーザーは、Athena を利用して、Amazon S3 内のキュレートされたクリックストリームまたはインプレッションデータに対してほぼリアルタイムで SQL クエリを実行したり、Amazon QuickSight を利用してダッシュボードを視覚化したりできます。
ステップ 9
Amazon S3 データレイクに加えて、Amazon EMR ワークロードは、Amazon DynamoDB などの NoSQL データベースや、Aerospike などのインメモリデータベースにデータを書き込むことができます。これにより、入札フィルタリングや運用レポートなど、高速なパフォーマンスを大規模に必要とする読み取りワークロードがサポートされます。
今すぐ始める
このガイダンスをデプロイ
Well-Architected の柱
AWS Well-Architected フレームワークは、クラウドでシステムを構築する際に行う決定の長所と短所を理解するのに役立ちます。フレームワークの 6 つの柱により、信頼性が高く、安全かつ効率的で、費用対効果が高く、持続可能なシステムを設計および運用するためのアーキテクチャのベストプラクティスを学ぶことができます。AWS マネジメントコンソールで無料で提供されている AWS Well-Architected Tool を使用し、各柱の一連の質問に回答することで、これらのベストプラクティスに照らしてワークロードを確認できます。
上記のアーキテクチャ図は、Well-Architected のベストプラクティスを念頭に置いて作成されたソリューションの例です。完全に Well-Architected であるためには、可能な限り多くの Well-Architected ベストプラクティスに従う必要があります。
-
運用上の優秀性
Amazon EMR Studio は、Jupyter Notebook を備えたウェブベースのフルマネージド統合開発環境 (IDE) を提供し、データエンジニアリングチームやデータサイエンスチームが追加のサーバーを管理することなく、Spark ストリーミングアプリケーションをインタラクティブに開発、視覚化、デバッグできるようにします。チームは、サービスカタログの Infrastructure as Code (IaC) テンプレートを使用して事前定義された Amazon EMR クラスターをセルフプロビジョニングできます。これにより、クラウド運用チームへの依存が軽減され、開発の俊敏性が高まり、組織は最小限のオーバーヘッドでセキュリティとガバナンスのベストプラクティスに従うことができます。
-
セキュリティ
Amazon EMR Studio は、AWS Identity and Access Management (IAM) または AWS アイデンティティセンターによる認証と認可をサポートしているため、SSH (Secure Shell) を利用して Spark クラスターに直接接続する必要はありません。Lake Formation を利用すると、データレイク内のデータに対するきめ細かく、かつ、一元的なアクセスコントロールが可能になり、ユーザーアクセス管理が一元化され、データパイプラインでの強力なセキュリティとガバナンス体制が強化されます。
-
信頼性
Kinesis Data Streams と Amazon EMR は、リアルタイムデータストリーミングワークフローのスループット需要を満たす自動スケーリング機能を提供します。Amazon EMR は、アプリケーションまたはネットワーク障害が発生した場合にジョブを自動的に分散して再試行する Apache Spark フレームワークを使用します。また、Kinesis Data Streams は、キャパシティを自動的にスケールし、3 つのアベイラビリティーゾーン間でデータを同期的にレプリケートして、高い可用性とデータの耐久性を実現します。
-
パフォーマンス効率
Kinesis Data Streams は、変化するデータトラフィックに応じてキャパシティを自動的にスケールし、リアルタイム処理ワークフローがスループット需要を満たすことを可能にします。Amazon EMR は Spark のために複数のパフォーマンス最適化機能を提供し、ユーザーはアプリケーションに変更を加えることなく、3.5 倍の速度で実行できます。さらに、Athena はクエリを自動的に並列処理し、必要なリソースをプロビジョニングします。また、データを Amazon S3 パーティションキーと列形式で保存して、クエリのパフォーマンスを改善することもできます。
-
コストの最適化
このガイダンスは、Amazon EC2 スポットインスタンスキャパシティでインスタンスフリートを使用し、Amazon EC2 Graviton3 インスタンスタイプを指定するサンプルの Amazon EMR クラスターテンプレートを提供します。これにより、同等の x86 ベースの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスと比較して最大 20 % のコスト削減を実現できます。さらに、アイドルタイムアウトと Amazon S3 ストレージ層を使用すると、コストを最適化しながら、コンピューティングリソースとストレージリソースをより有効に活用できます。
-
持続可能性
Amazon EC2 Graviton3 インスタンスタイプは、同等の Amazon EC2 インスタンスと同じパフォーマンスで最大 60% 少ないエネルギーを使用するため、二酸化炭素排出量の削減に役立ちます。Amazon EC2 スポットインスタンスと Amazon EMR のアイドルタイムアウト設定を使用すると、リソースをより有効に活用し、ワークロードの環境への影響を最小限に抑えることができます。
関連コンテンツ
免責事項
サンプルコード、ソフトウェアライブラリ、コマンドラインツール、概念の実証、テンプレート、またはその他の関連技術 (私たちの担当者から提供される前述のものを含む) は、AWS カスタマーアグリーメント、またはお客様と AWS との間の関連文書契約 (いずれか該当する方) に基づき、AWS コンテンツとしてお客様に提供されるものです。お客様は、この AWS コンテンツを、お客様の本番アカウント、または本番データもしくはその他の重要なデータで使用すべきではありません。お客様は、サンプルコードなどの AWS コンテンツを、お客様固有の品質管理手法および基準に基づいて、本番グレードでの使用に適したテスト、セキュリティ確保、および最適化を行う責任を負います。AWS コンテンツのデプロイには、Amazon EC2 インスタンスの実行や Amazon S3 ストレージの使用など、AWS の課金対象リソースを作成または使用するための AWS 料金が発生する場合があります。
本ガイダンスにおける第三者のサービスまたは組織への言及は、Amazon または AWS と第三者との間の承認、後援、または提携を意味するものではありません。AWS からのガイダンスは技術的な出発点であり、アーキテクチャをデプロイするときにサードパーティのサービスとの統合をカスタマイズできます。