本投稿は サーバーワークス Advent Calendar 2024 の 18日目の記事です。
こんにちは。エデュケーショナルサービス課の竹本です。
世間ではインフルエンザが猛威を振るっていますね。
あぁ、鴨鍋を食べたいなぁと思いながら自宅でこのブログを書いています。
さて AWSのアップデートを追っていると zero-ETLというキーワードをよく目にします。
というか、あまりにも目にしすぎました。 一体何のサービスと何のサービスが、それぞれどのように zero-ETLに対応したのかパッと出てこない方も多いのではないでしょうか。
そこで自身の整理のためにも、当記事でこれまでの zero-ETL についておさらいしてみたいと思います。
当記事に関する免責事項
2024年12月18日時点のまとめ内容です。以降に提供を開始した zero-ETL統合については当記事では取り扱いません。
表にして見てみる
表にまとめると、以下のようになりました。
まだプレビュー段階のものがいくつか残っているだろうと思っていましたが、今回私が表に記載した zero-ETL関連 についてはすべて既に一般提供開始済みだったようです。
ページの都合上、各AWSサービスの正式名称に冠する Amazon ◯◯ / AWS ◯◯ の表記を割愛しております。 また便宜上、 [データ元] → [統合先] という規則で表記しておりますのであしからず。
[データ元] → [統合先AWSサービス] | 初回発表タイミング (※1) | 一般提供開始年月 | 一般提供開始時の お知らせリンク |
公式による 紹介ブログリンク |
---|---|---|---|---|
Aurora MySQL → Redshift | re:Invent 2022 | 2023/11 | リンク | ブログリンク |
S3 → Redshift | re:Invent 2022 | 2024/10 | リンク | ブログリンク |
CloudTrail Lake → Athena | 2023/11 (※2) | 2023/11 | リンク | ブログリンク |
DynamoDB → OpenSearch Service |
re:Invent 2023 | 2023/11 | リンク | ブログリンク |
Amazon Connect (※3) → Athena |
re:Invent 2023 | 2024/5 | リンク | ブログリンク |
S3 → OpenSearch Service (※4) | re:Invent 2023 | 2024/5 | リンク | ブログリンク |
RDS for MySQL → Redshift |
re:Invent 2023 | 2024/9 | (右記参照) | ブログリンク |
Aurora PostgreSQL → Redshift |
re:Invent 2023 | 2024/10 | リンク | ブログリンク |
DynamoDB → Redshift | 2024/2 | 2024/10 | リンク | ブログリンク |
DocumentDB → OpenSearch Service |
2024/5 | 2024/5 | リンク | ブログリンク |
Security Lake → OpenSearch Service (※4) |
re:Invent 2024 | 2024/12 | リンク | ブログリンク |
CloudWatch Logs → OpenSearch Service (※4) |
re:Invent 2024 | 2024/12 | リンク | ブログリンク |
DynamoDB → SageMaker Lakehouse |
re:Invent 2024 | 2024/12 | リンク | ブログリンク |
(一部の3rd Partyアプリケーション) → SageMaker Lakehouse |
re:Invent 2024 | 2024/12 | リンク | ブログリンク |
(一部の3rd Partyアプリケーション) → Amazon Redshift |
re:Invent 2024 | 2024/12 | リンク | (同上) ブログリンク |
※1 リンクがないものはプレビューを経ずに一般公開されたアップデートです。 一般提供開始時のニュースのリンクから詳細をご確認ください。
※2 発表された日が re:Invent 2023期間の前日だったため、ギリギリ re:Invent落選組と判定しました。
※3 Connectに関しては個人のこだわりにより Amazon Connectと表記しました。
※4 OpenSearch Serviceを起点にそれぞれのデータストアに対してクエリできるという観点から、矢印の向きが逆だと感じる方もいるかもしれません。 しかし今回は「どのAWSサービスに保存されているデータか」を起点に上記の表記としました。
はい、多すぎます・・・・。
いつから "zero-ETL" と呼ばれるようになった?
今から 2年前の re:Invent 2022の Keynoteにて、当時 limited previewとして発表された Amazon Aurora zero-ETL integration with Amazon Redshift からこの表現が使われるようになりました。
この機能は既に一般提供を開始しており、この機能により Auroraデータベースに書き込まれたトランザクションデータに対して、独自でETLパイプラインを組むこともなく Redshiftにデータが連携され、Redshiftによるニアリアルタイム分析や Redshift MLの利用が可能になりました。
表の前半については 第37回 ちょっぴりDDで紹介されておりますので是非ご覧ください。
その ETL パイプラインもういらないかも?zero-ETL 総まとめ!
データの移動を伴わない "zero-ETL"
上表の通り、翌年の re:Invent 2023で多くの zero-ETL関連の発表がありました。
前年の zero-ETLといえば、独自の ETLパイプライン構築することなくデータの変更を別のデータストアに連携する機能の提供が中心でした。しかし Amazon OpenSearch Service zero-ETL integration with Amazon S3 はこれまでの zero-ETLとは異なります。
このアップデートにより OpenSearch Serviceから S3バケット上のデータに直接クエリ (direct queries) を実行できるようになりました。
そもそもデータの移動やレプリケーションを必要としないアップデートのため、これまでとは方式が異なります。
では今後 "Glue" を利用する機会は減っていくのか?
Noです。むしろ今後より活躍が期待されることになります。今年の re:Invent 2024でも様々な zero-ETL機能とともに Amazon SageMaker Lakehouseが発表されました。
Amazon SageMaker Lakehouseは S3データレイクと Redshiftデータウェアハウス、それぞれのデータを統合管理できるという注目のサービスです。
そんな SageMaker Lakehouseへの zero-ETLは AWS Glueなしでは成り立ちません。
Zero-ETL integrations - AWS Glue docs.aws.amazon.com
AWS Glueコンソール画面の左サイドバーを見ると [Zero-ETL integrations] が表示されており、Amazon SageMaker Lakehouseをターゲットとした Zero-ETL統合の作成はここから実行することになります。
zero-ETLの恩恵により Glueが不要になるのではなく、Glue ETLジョブ に代わる機能が今後もっと活躍するという表現がより正しいでしょう。
このように一口に "zero-ETL" と言っても変遷があり、どのように実現するかも様々なため今後も zero-ETLの動向に目が離せません。
あわせて読みたい
What is Zero-ETL? - Zero-ETL Explained - AWS aws.amazon.com
まとめ
zero-ETLに関するアップデートと聞くと、すべて「ETLパイプラインを構築せずに」
「データのレプリケーションを実現する」機能だと思っていた方もいらっしゃるのではないでしょうか。実は後者は誤りであることがわかりました。
ETLに馴れ親しんだ方の中には、これまでエディタで大量の PySparkのコードを書き、ひたすら Glue ETLジョブにデプロイ (※ 現・Legacy pages) し、テスト実行したロードジョブの並列実行が多すぎてサブネット内の IPアドレスを枯渇させてしまった経験を懐かしく思う方も多数いらっしゃることでしょう(いない)。
zero-ETLは Undifferentiated Heavy Lifting (差別化につながらない重労働) を排除する大きな可能性を秘めているからこそ、今後のアップデートを引き続きウォッチして正確な内容を理解しておくことが大事ですね。
最後までお読みいただきありがとうございました。
竹本 佳史 (執筆記事の一覧)
エデュケーショナルサービス課所属。
エンタープライズの企業様向けに幅広くAWS活用の技術的なご支援をしてきました。今はサーバーワークスのエンジニアが顧客の期待に応え続けられるための仕組みを設計しています。
2020-2024 Japan AWS All Certifications Engineersに選出。