Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コネクタベンダーが AWSのゼロETL サービス、 ぜんぶ触ってみた!

コネクタベンダーが AWSのゼロETL サービス、 ぜんぶ触ってみた!

JAWS DAYS 2024 のセッションスライドです
https://jawsdays2024.jaws-ug.jp/

CData Software Japan

March 02, 2024
Tweet

More Decks by CData Software Japan

Other Decks in Technology

Transcript

  1. JAWS DAYS 2024 ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a JAWS DAYS 2024 2024/3/2

    CData Software Japan 赤塚誠二 コネクタベンダーが AWSのゼロETL サービス、 ぜんぶ触ってみた!
  2. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 自己紹介 2 • 赤塚誠二 • 山形県 •

    JAWS FESTA Tohoku / JAWS DAYS • CData Software Japan パートナーサクセスエンジニア • SNS : @seijiakatsuka
  3. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a CData inside! 7 BI ダッシュボード「MotionBoard」にCData JDBC Drivers

    を組み込み | 導入事例 | CData Software Japan 三井住友海上あいおい生命保険:DX 戦略の達成を支えるデータ分析基盤をAWS + Tableau で構築 | 導入事例 | CData Software Japan
  4. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a データ活用関連のサービス群 13 Amazon Aurora Amazon DynamoDB Amazon

    Relational Database Service (Amazon RDS) Amazon Managed Streaming for Apache Kafka (Amazon MSK) Amazon OpenSearch Service Amazon Redshift Amazon Simple Storage Service (Amazon S3) Amazon EMR Amazon SageMaker Amazon Bedrock Amazon QuickSight People Devices Apps Store, Query, Analyze Act For Applications For Analytics & ML Data Lake DWH Big Data ML Gen AI BI Amazon Q
  5. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ETLパイプラインの例 14 Apache ワークフロー管理 - Amazon MWAA

    - アマゾン ウェブ サービス Amazon Managed Workflow for Apache Airflow (MWAA) 大多数かつAWS以外とも連携するような複雑なETLパイプライン向き。
  6. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ETLパイプラインの例2 15 AWS Step FunctionsとAWS Lambdaを使って複数のETLジョブの統合を行う |

    Amazon Web Services ブログ AWS Step Functions AWSの独自サービスのためAWSサービスとの連携性に優れる。
  7. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ETLパイプラインの例3 16 AWS Glue(分析用データ抽出、変換、ロード (ETL) )| AWS

    (amazon.com) AWS Glue Studio ビジュアル ETL ジョブで AWS Glue DataBrew レシピを使用する | Amazon Web Services ブログ AWS Glue Glue Studio / Glue DataBrew でノーコード構築が可能。比較的シンプルなユースケース向き。
  8. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a フェデレーテッドクエリ1 20 Amazon Redshift でのフェデレーテットクエリ (横串検索) AWS

    Cloud Virtual private cloud (VPC) Amazon Relational Database Service (Amazon RDS) Amazon Aurora Amazon Redshift フェデレーテッドクエリ • Amazon RDS for PostgreSQL / MySQL Amazon Aurora PostgreSQL 互換エディショ ン / MySQL 互換エディション • Amazon Redshift クラスターと同じ AWS リ ージョン内のローカルエンドポイントでの Aurora グローバルデータベースの使用を推奨 (レイテンシー/転送料金がかかるため) • 詳細については公式ドキュメントを参照 AWS CloudFormation での PostgreSQL への横串検索の使用開始 - Amazon Redshift Amazon Redshift でフェデレーティッドデータにアクセスする際の考慮事項 - Amazon Redshift
  9. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a フェデレーテッドクエリ1 21 フェデレーテッド クエリの実行 • リーダーノードからデータソースのテーブ ルメタデータを取得

    • コンピューティングノードからサブクエリ を発行して結果の行を取得 • クエリの内容はシステムビュー (SVL_FEDERATED_QUERY)に記録 Amazon Relational Database Service (Amazon RDS) Amazon Aurora Amazon Redshift 接続・メタデータ取得 Dense compute node Dense compute node Dense compute node クエリ実行・結果取得
  10. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a Redshift query editor v2での実行結果 22 外部スキーマからAurora PostgreSQL

    インスタンスを参照 • Redshift 側で作成した外部スキーマ経由で外部 のデータベースに接続 • 外部データベース「dev」配下のテーブルに対 してクエリを実行 • クエリ結果を取得して「Result」エリアに表示
  11. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 概要 推奨事項 • Amazon Redshift クラスターと Amazon

    RDS / Aurora MySQL インスタンスは、同じ VPC とサブネットグループに含める 上記以外の場合は拡張 VPC ルーティング等を有効にすること できること • 外部のデータベースに直接クエリできる • データソースをコピーすることなく変換可能 • 複雑な抽出、変換、ロード (ETL) パイプラインを必要とせずターゲットテーブルにデータ をロードできる 注意点 • 外部データベースへは読み取りのみで書き込みは不可 • アクセスはRedshiftからRDS/Aurora のみで逆は不可 • 接続時に ”The authentication type 10 is not supported. “ エラーが出る場合はDB側の password_encryption をmd5 に変更 23 Amazon Redshift での横串検索を使用したデータのクエリの実行 - Amazon Redshift
  12. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a フェデレーテッドクエリ2 24 CloudTrail LakeデータをAthenaから直接分析 AWS Cloud Region

    AWS CloudTrail Amazon Athena Amazon QuickSight • データの移動、データ処理パイプラインの構築が不要 • Athena を使用して CloudTrail Lake のアクティビティ ログに対してクエリを実行 • AWS Lake Formation で Athena を使用してクエリを 実行できるユーザーとロールを指定可能 • CloudTrail Lake のデータに対して実行されるクエリ : Athena の料金。CloudTrail Lake のデータ : CloudTrail Lake の取り込み料金と保持料金
  13. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 概要 シナリオ • セキュリティインシデントの調査 Athena を使用して CloudTrail

    Lake のアクティビティログと、S3 などのデータストアに 保存されているアプリケーションログとトラフィックログを関連付けて、セキュリティイ ンシデントの調査 • コンプライアンス/運用のレポーティング Amazon QuickSight と Amazon Managed Grafana を使用して CloudTrail Lake のアクティ ビティログを可視化し、コンプライアンス、コスト、使用状況のレポートを作成 26 AWS CloudTrail Lake のデータが Amazon Athena のゼロ ETL 分析で利用可能に
  14. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a データガバナンスへの対応 27 AWS Lake Formation 複数のAWSサービスによる連携で必要になる複雑なデータガバナンスを一元管理。 •

    安全なデータレイクを数日で簡単にセット アップできるサービス • 設定や管理に関わる複雑で知識や経験・時 間のかかる作業をステップバイステップで 実施し、データレイクを構築 • IAMやGlueと連携してアクセス制限やセキュ リティ管理が可能 AWSマンガ 第9話「全てのデータを分析しろ!」(1/8) | AWS (amazon.com)
  15. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a フェデレーテッドクエリ3 (Direct Query) 29 • S3 から

    OpenSearch Service にデータ をコピーせずに処理が可能 • 用意された VPC フローログ、ELB、 NGINX のテンプレートを選択するとす ぐに分析/可視化が可能 • 分単位課金 (OpenSearch Service Direct Query の OpenSearch Compute Units (OCU) ) • 外部データへのクエリーとOpenSearch Service でのインデックスの維持に必要 な計算のみを OpenSearch コンピューテ ィングユニットとして別途課金 Amazon OpenSearch Service の Amazon S3 との ゼロ ETL 統合を発表 (プレビュー) | Amazon Web Services ブログ Amazon OpenSearch ServiceのAmazon S3とのゼロ ETL 統合
  16. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ストリーミング取り込み 1 31 Amazon Redshift ストリーミングの取り込み IOT、監視用データ、ウェブサイトやアプリケーションからのクリック情報などの集約に。

    • S3を介さずニアリアルタイムでのストリー ム取り込み • ストリームデータを利用するためのマテリ アライズドビューを使用 • データソースはAmazon Kinesis Data Streams / Amazon Managed Streaming for Apache Kafka
  17. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ストリーミング取り込み 1 32 Amazon Redshift ストリーミングの取り込み Amazon

    Kinesis Data Streams の設定 Redshift 側の設定 Kinesis を使用した、電気自動車のステーションデータストリームの取り込みについてのチュートリアル - Amazon Redshift CREATE EXTERNAL SCHEMA / CREATE MATERIALIZED VIEW
  18. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 概要 シナリオ • Amazon Kinesis Data Streams

    と Amazon MSK から 1 秒間に数百メガバイトのデータを Amazon Redshift のマテリアライズドビューに直接取り込み、数秒でクエリを実行 • ゲームユーザーからのリアルタイムのデータを分析して、ゲーム体験を最適化 • IoT デバイスの分析、クリックストリーム分析、アプリケーション監視、不正検知 • Amazon Redshift サーバーレスとの組み合わせでデータウェアハウスインフラストラクチ ャの管理が不要に 33 AWS CloudTrail Lake のデータが Amazon Athena のゼロ ETL 分析で利用可能に
  19. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a ストリーミング取り込み 1 34 参考:Amazon Kinesis Data Generator

    を使ったテスト Amazon Kinesis Data Generatorを使用してストリーミングデータソリューションをテストする | Amazon Web Services ブログ • テストデータを生成してAmazon Kinesisに 送信するツール • Lambda 関数と CloudFormation テンプレー トもあるので簡単に用意できる • サーバーレス構成のため安価に利用可能
  20. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-1 36 • Amazon Aurora MySQL

    (GA) • Amazon Aurora PostgreSQL (public preview) • Amazon RDS for MySQL (public preview) • Amazon DynamoDB (limited preview) Amazon Redshift のゼロETL統合 Amazon Aurora MySQL に続いて3つのデータベースに対応が拡大 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4
  21. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-1 37 Amazon Aurora と Redshiftでの統合の特徴

    Amazon Aurora MySQL Auroraストレージ Amazon Redshift レプリケーション ストレージからのCDC 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4 Redshift ストレージ トランザクションログ CDCログ 初期データ • 初期データは必要に応じてレプリケーション • 継続的な同期にはCDC (Change Data Capture)で対応 • Alter table などの変更にも自動で再同期 • DB や DWH のパフォーマンスには影響なし / エラーや停止などが発生した場合の自動リ カバリー • VPCを意識せず統合可能 • RA3 ノードタイプ または Redshift Serverless を使用。 その他はドキュメントを参照 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/zero-etl.html
  22. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-1 38 • Aurora MySQL のDB

    はSchema として レプリケーションされる • ゼロETLで連携するテーブルはRead Only クロスデータベースクエリにより別のDB からマテリアライズビューの作成が可能 • ゼロETL の使用自体は無料 • Aurora MySQL バージョン 3.05.0 (MySQL 8.0.32 と互換性あり) 以上であること Amazon Aurora MySQL Amazon Aurora MySQL Data table Data table Data table Data table Data table Data table Amazon Redshift ゼロETL Destination DB ゼロETL統合 レプリケーション Source DB1 Source DB2 Source DB1 (Schema) Source DB2 (Schema) 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4
  23. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-2 39 • Redshift が PostgreSQL

    互換のため DB は そのまま複製される • ゼロETL で連携するテーブルはRead Only クロスデータベースクエリにより別のDB からマテリアライズビューの作成が可能 • ゼロETL の使用自体は無料 • 米国東部 (オハイオ) リージョン内の Aurora PostgreSQL 15.4 で、プロビジョニ ング済みの Amazon Aurora のほか、 Amazon Redshift Serverless と RA3 のイ ンスタンスタイプで利用可能 Amazon Aurora PostgreSQL Data table Data table Data table Data table Data table Data table Amazon Redshift ゼロETL Destination DB ゼロETL統合 レプリケーション Source Schema1 Source Schema2 Source Schema1 Source Schema2 Amazon Aurora PostgreSQL 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4
  24. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-3 40 • Aurora とはストレージの仕組みが異なる ためイニシャルの同期処理はスナップショ

    ットにて行う • CDC (Change Data Capture) による継続的 なレプリケーション • スナップショットの費用+CDC レプリケ ーション費用 • MySQL バージョン 8.0.28 以降の Amazon RDS を対象とするパブリックプレビュー として次の AWS リージョンで利用可能。 米国東部 (オハイオ)、米国東部 (バージニ ア北部)、米国西部 (オレゴン)、アジアパ シフィック (東京)、欧州 (アイルランド)。 Amazon RDS for MySQL Amazon Redshift 初期データの同期 Amazon Relational Database Service (Amazon RDS) Snapshot CDCデータ 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4
  25. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 1-4 41 • DynamoDB のデータをゼロETLで Amazon

    Redshift に連携 • DynamoDB のワークロードへの影響なし • Limited preview in the US East (Ohio) Amazon DynamoDB (limited preview) Amazon DynamoDB Amazon Redshift レプリケーション 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) https://youtu.be/5g8KJbvSCJ4
  26. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 2 43 • Lambda などでのETL 処理不要でデータ取

    り込みが可能 • 初回取り込み後はCDC (Change Data Capture) Load を実施 • サーバーレス構成のためフルマネージドな 環境を安価に運用可能 • IAMだけでなくOpenSearch Service 側でも 権限設定を行う場合があるのでちょっと気 をつける AWS Cloud Amazon DynamoDB Stream OpenSearch Ingestion Amazon OpenSearch Service S3 Standard Snapshot Export CDC Load Put Initial Load Amazon DynamoDB の Amazon OpenSearch Service とのゼロ ETL 統合が利用可能になりました | Amazon Web Services ブログ DynamoDBとAmazon OpenSearch Service のゼロETL統合 DynamoDBのデータに対してベクトル/全文/あいまい検索やオートコンプリートが可能に。
  27. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 2 44 Amazon DynamoDB Stream OpenSearch

    Ingestion Amazon OpenSearch Service S3 Standard Snapshot Export CDC Load Put Initial Load AWS Hands-on for Beginners Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する | AWS Webinar (awscloud.com) Amazon API Gateway AWS Lambda Amazon Translate Webアプリケーションのログを同期した例
  28. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a 即時のレプリケーション 3 46 • 任意の JDBC または

    ODBC クライアントを 使って設定が可能 • コピージョブはネイティブで増分データの 取り込が可能 • ロードされたファイルを追跡し、データの 重複を防止 • コピー機能自体は無料 Amazon Redshift auto-copy from S3 データアナリストなどの SQL ユーザーがDWHへのデータ取り込みを簡単な SQL コマンドで自動化。 自動コピーを利用した Amazon S3 から Amazon Redshift への 簡易化されたデータ取り込み (プレビュー) | Amazon Web Services ブログ
  29. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a これもゼロETL? 49 Babelfish for Aurora PostgreSQL Babelfish

    for Aurora PostgreSQL | アマゾン ウェブ サービス (amazon.com) AWS Database Migration Service (DMS) でDBを移行してもアプリ側の改修の負担が大きいケースに • PostgreSQL API を使用した機能と SQL Server コードを並べて実行可能 • SQL Server 用に作成されたシステムを少な い変更でAurora に移行可能 • Aurora 標準の費用のみで追加コストは不要
  30. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a CData Connect Cloudの設定 60 kintone への接続設定 ユーザーごとの権限設定

    Amazon QuickSight でKintone データからインタラクティブなダッシュボードを作成する (cdata.com)
  31. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a QuickSightの設定 61 SQL Server としてデータセットを作成 Amazon QuickSight

    でKintone データからインタラクティブなダッシュボードを作成する (cdata.com)
  32. ハッシュタグ:#jawsdays2024 #jawsug #jawsdays2024_a リンク集 66 • ゼロ ETL とは何ですか? -

    ゼロ ETL の説明 - AWS (amazon.com) • Amazon Redshift でフェデレーティッドデータにアクセスする際の考慮事項 - Amazon Redshift • Amazon Redshift での横串検索を使用したデータのクエリの実行 - Amazon Redshift • AWS CloudTrail Lake のデータが Amazon Athena のゼロ ETL 分析で利用可能に • Amazon OpenSearch Service の Amazon S3 との ゼロ ETL 統合を発表 (プレビュー) | Amazon Web Services ブログ • Kinesis を使用した、電気自動車のステーションデータストリームの取り込みについてのチュートリアル - Amazon Redshift • AWS CloudTrail Lake のデータが Amazon Athena のゼロ ETL 分析で利用可能に • Amazon Kinesis Data Generatorを使用してストリーミングデータソリューションをテストする | Amazon Web Services ブログ • 20231221_37th_ISV_DiveDeepSeminar_fshuhe_zeroetl_roundup (awscloud.com) • https://youtu.be/5g8KJbvSCJ4 • Amazon DynamoDB の Amazon OpenSearch Service とのゼロ ETL 統合が利用可能になりました | Amazon Web Services ブログ • AWS Hands-on for Beginners Serverless #1 サーバーレスアーキテクチャで翻訳 Web API を構築する | AWS Webinar (awscloud.com) • 自動コピーを利用した Amazon S3 から Amazon Redshift への 簡易化されたデータ取り込み (プレビュー) | Amazon Web Services ブログ • Amazon Connect、コンタクトセンターのデータにアクセスするためのゼロ ETL 分析データレイクをリリース (プレビュー版) • Babelfish for Aurora PostgreSQL | アマゾン ウェブ サービス (amazon.com)