本記事は Japan AWS Ambassadors Advent Calendar 2024 12 日目の記事です。
はじめに
先日開催された AWS re:Invent 2024 で Amazon SageMaker Lakehouse が発表されました。
Amazon SageMaker Lakehouse により Amazon S3 のデータレイクと、Amazon Redshift のデータウェアハウスを統合し、Apache Iceberg の API を使用してデータソースに横断的にアクセスできるようになります。
本記事では 2024/12/12 時点の公開情報と re:Invent 2024 のセッション内容をもとに Amazon SageMaker Lakehouse が提供する機能について掘り下げていきたいと思います。
The next generation of SageMaker についておさらい
SageMaker Lakehouse について深堀する前に、同じく AWS re:Invent 2024 の基調講演で発表された The next generation of SageMaker (次世代の SageMaker) に触れておきます。
次世代の SageMaker はデータの分析、変換、AI 活用を一カ所で実現するプラットフォームへ進化しました。これまで SageMaker として呼ばれていた機能は新しい SageMaker プラットフォームの一部として、SageMaker AI という呼称になっています。
次世代の SageMaker は 3 つのコンポートネントで構成されます。
- SageMaker Unified Studio (Preview)
- SageMaker Data and AI Governance (SageMaker Catalog)
- SageMaker Lakehouse
https://aws.amazon.com/sagemaker/ より引用
SageMaker Unified Studio (Preview)
SageMaker Unified Studio は、データ、分析、AI 向けの統合開発環境 (IDE) です。Redshift による SQL 分析、Glue や Athena、EMR によるデータ処理、SageMakaer AI による AI/ML モデル開発、Bedrock Studio で提供されていた生成 AI アプリケーションの開発を単一の場所で実行することができます。今後、Kinesis/MSK によるストリーミング、QuickSight による BI、OpenSearch Service による検索も Unified Studio 上で利用可能になる予定です。
Unified Studio 内のデータブラウザを通して、SageMaker Lakehouse で提供されるデータを参照することができます。
SageMaker Data & AI Governance (SageMaker Catalog)
プロジェクトやドメインの設定、データの公開、購読など DataZone のガバナンス機能が Unified Studio の一部として統合されています。またビジネスデータカタログ機能が SageMaker Catalog として組み込まれています。また Amazon Bedrock Guardrails や SageMaker Clarify といったガバナンス系機能も SageMaker Unified Studio を通して利用できます。
SageMaker Lakehouse
SageMaker Lakehouse は AWS Glue Data Catalog と AWS Lake Formation 上に構築されており、Amazon S3 のデータレイクと Amazon Redshift のデータウェアハウスを統合し、データの一元管理を実現します。Iceberg REST API を通じて AWS サービスだけではなく、サードパーティのサービスからデータにアクセスできます。また zero-ETL によりエンタープライズアプリケーションとの統合や様々なDBサービスにクエリフェデレーションが可能です。これらすべてのデータに Iceberg APIを通じてアクセスできます。
ANT354: Amazon SageMaker Lakehouse: Accelerate analytics & AI より引用
SageMaker Lakehouse の主要コンポートネント
4 つのコアとなるコンポーネントがあります。
- ストレージの選択肢
- 統合されたテクニカルカタログ
- 統合された権限管理
- Iceberg 互換 API
ANT354: Amazon SageMaker Lakehouse: Accelerate analytics & AI より引用
ストレージの選択肢
汎用の S3 バケット、S3 Tables、Redshift Managed Storage (RMS) をサポートし、既存の S3 上のデータレイクや Redshift Managed Storage (RMS) 上に保管されたデータウェアハウスのデータは、SageMaker Lakehouseを通じてシームレスに利用できます。
統合されたテクニカルカタログ
前述のストレージタイプをサポートするために Glue Data Catalog が拡張され、Managed Catalog で S3 および RMS がサポートされています。もう一つの Federated Catalog は既存の Amazon Redshift、Amazon DynamoDB や Snowflakeなどのフェデレーテッドソースを取り込むために使用されます。
ANT354: Amazon SageMaker Lakehouse: Accelerate analytics & AI より引用
統合された権限管理
カタログに登録されたデータに対し、行レベル、列レベル、あるいは両方 (セルレベル) でアクセスコントロールを設定することができます。またデータセットにタグをつけ、そのタグに基づいてアクセス権を定義することも可能です。例えば個人情報を含むデータセットは特定のメンバーのみアクセスを許可するといった使い方ができます。
ANT354: Amazon SageMaker Lakehouse: Accelerate analytics & AI より引用
また Amazon DataZoneによって実現されるガバナンス機能により、データを物理的に移動せずに他のアカウントや組織とデータを共有できます。
Iceberg 互換 API
SageMaker Lakehouse では Iceberg 互換 API を通じてデータにアクセスできます。データレイクストレージを超えて機能するため、汎用 S3 バケットだけではなく、S3 Tables や RMS に保存されたデータにもアクセスできます。
これによって 既存の Redhisft クラスターのデータを Lakehouse に登録し、複数のクエリエンジンからアクセスしたり、Iceberg API を通じてアクセス可能な RMS を使用した新しいデータベースを作成したりすることもできます。
zero-ETL 統合
zero-ETL 統合を通じて 様々なデータソースから SageMaker Lakehouseへのデータを取り込むこともできます。
現在 AWS が提供する zero-ETL には 2 つのアプローチがあります。1 つは Redshift と Aurora の zero-ETL に代表される Data Ingestion とデータの移動なしにデータソースへのアクセスを可能にする Data Federation です。
Data Ingestion
Aurora MySQL/PostgreSQL、RDS for MySQL と Redshift との zero-ETL 統合を通じて Lakehouse にデータをロードできます。
ANT348: Innovations in AWS analytics: Zero-ETL and data integrations より引用
また 同じく re:Invent 基調講演で Salesforce、Zendesk などの SaaS アプリケーションから、Redshift/SageMaker Lakehouse への zero-ETL 統合が発表されました。また DynamoDB と SageMaker Lakehouse の zero-ETL もサポートされており、ストレージフォーマット (RMS/S3) を選択してSageMaker Lakehouse にデータをロードできます。
これらの統合は AWS Glue コンソールに追加された Zero-ETL integrations から設定できます。
Data Federation
外部データソースとの接続の実体は Athena による Federated Queryです。リリース時点で Amazon DynamoDB (Preview)、Amazon Redshift、Google BigQuery、MySQL、PostgreSQL、Snowflake (Preview) をサポートしています。Unified Studio で接続を追加すると、Federated Catalog が作成され、Athena で異なるデータストアに保存されたデータへクエリできるようになります。
料金
SageMaker Lakehouse 自体の使用量は無料です。AWS Glue Data Catalog の メタデータストレージ、データ保存先の S3、RMS、使用に伴う新しい価格モデルは導入されません。使用するコンポーネントに基づいて料金が発生します。Glue Data Catalogのメタデータストレージ、S3ストレージ、Redshiftマネージドストレージ、Lake Formation などサービス内部で使用されるリソースに対しそれぞれ料金が発生します。
参考
re:Invent 2024 関連セッション
- ANT346: Innovations in AWS analytics: Data processing
- ANT348: Innovations in AWS analytics: Zero-ETL and data integrations
- ANT354: Amazon SageMaker Lakehouse: Accelerate analytics & AI
AWS Blog
以上です。
参考になれば幸いです。