【セッションレポート】AWSでのデータ活用を加速するデータ連携のパターンとベストプラクティス #AWSSummit

2023.04.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWS Summit Tokyo に参加しました!

1日目 AWS-07 「AWSでのデータ活用を加速するデータ連携のパターンとベストプラクティス」のセッションレポートを投稿いたします。

セッション視聴

AWS Summit Tokyoの登録を行うことでオンデマンドで視聴可能です。(現地参加された方は改めての登録は不要です。)

登録済みの場合、以下から直接遷移できます。

https://jpsummit.awsevents.com/public/session/view/526

セッション概要

データドリブン経営の推進やデジタル戦略の加速には、組織内外のあらゆるデータソースから情報を効率よく収集し、それらをユーザーの様々な分析ニーズに合わせて、 安全かつ高速に提供できるデータ基盤が必要不可欠です。

本セッションでは、データソースの種類や、 分析に必要なデータの鮮度によって、押さえておきたいデータ連携のパターンやベストプラクティスについて、デモを交えながらご紹介します。

セッションレポート

アジェンダです。

  • データ活用における課題とモダンデータアーキテクチャ
  • データ活用基盤への連携パターン
  • データベースからのデータ連携詳解
  • SaaSアプリケーションからのデータ連携詳解

データ活用における課題とモダンデータアーキテクチャ

  • データは先着的資産である
  • 99%の企業がデータドリブン型組織を目指している
  • 従来のデータ分析基盤における課題
    • データのサイロ化
    • ビジネス変化への対応
    • パフォーマンス
  • 今日のデータ分析基盤求められる要素
    • デプロイしやすく、セルフサービスで、自動スケーリングが可能なデータ分析基盤によって、多様なユーザーがデータをより効果的に活用する
    • 上記を満たしたアプローチとして、AWSのモダンデータアーキテクチャを定義

データ活用基盤への連携パターン

  • モダンデータアーキテクチャを構成する要素
    • データソース→収集→ストレージ→加工→分析
      • 本セッションは、収集にフォーカス
  • 収集は、何を、どこに、どうやって集めるか
    • 貯めたデータを、どのようなユーザーが、どのような目的で活用したいかをもとに、データソースやデータ連携の方式を決定する
  • データ連携の方式を決めるポイント
    • データソース × データ格納先 × 必要なデータの鮮度
  • 主なデータソース
    • データベース
    • ファイル
    • SaaSアプリケーション
    • ストリーミング
    • 3rdパーティーデータ
  • データ格納先の主な選択肢
    • Amazon S3
      • 耐久性とスケーラビリティ
      • 最もスタンダードな選択肢
    • Amazon Redshift
      • BIツールとの連携
      • SQLをベースとして分析
  • データ連携パターン:データベース
    • バッチ(日〜数時間ごと):AWS Glue、AWS Lake Formation、AWS DMS
    • ストリーミング(ニアリアルタイム):AWS DMS
  • データ連携パターン:ファイル(ファイルサーバ)
    • AWS DataSync、AWS Snowball:オンプレミスとAWS ストレージ間をデータ転送が可能
  • データ連携パターン:ファイル(外部システム連携)
    • AWS Transfer Family:外部システムからAWSにファイル転送が可能
  • データ連携パターン:SaaSアプリケーション
    • Amazon AppFlow:SaaSとAWSサービス内でデータ転送が可能
  • データ連携パターン:ストリーミング
    • Amazon Kinesis、Amazon MSK:リアルタイムにデータを転送
  • データ連携パターン:3rdパーティーデータ
    • AWS Data Exchange:様々な3rdパーティーデータのデータを収集できる

データベースからのデータ連携詳解

  • ファイルエクスポートによるバッチ連携(日次)
    • OSSエンジン(MySQL、PostgreSQL、MariaDB)のRDSやAuroraの場合
      • スナップショット or クラスタからのS3エクスポート
      • 差分データのみの連携は不可
      • クラスタからのエクスポートは、Auroraのみ可能
    • それ以外の場合
      • データベース側で用意されているユーティリティを使ってCSV等にエクスポート
      • AWS GlueからSQLを発行して、CSVやParquet 形式でS3にエクスポート
  • AWS Glueをつかったマイクロバッチ連携(日次~数時間ごと)
    • データソースにJDBC経由で接続し、データを抽出
      • ジョブブックマーク機能を使って、データの差分抽出が可能
    • データソース
      • S3、JDBC接続データソース
    • SQLを用いたデータの検証や、フィルタリング、データ加工を実施可能
  • AWS Lake Formationをつかったデータ収集のセットアップ
    • Blueprint:データ収集のパイプラインを数クリックで構築できる
    • ワークフローグラフを用いた収集状況の可視化も可能
  • データベースからのニアリアルタイム連携
    • DMSを利用することで、様々なデータベースをAWSのデータベースに連携できる
      • DMSを利用する場合の留意点
        • 既存データ移行による、ソースデータベースやネットワークに負荷がかかる
          • →AWS DataSync等のファイル連携ソリューションとの併用も検討すること
    • [プレビュー]AuroraとRedshiftのゼロETL統合
      • CDCによるニアリアルタイムなデータ連携をシンプルに実現
      • ETLのパイプラインが不要
      • Auroraで発生した大量のデータを分析や機械学習に利用可能

SaaSアプリケーションからのデータ連携詳解

  • Amazon AppFlow
    • SaaSアプリケーションとAWS間の双方向のデータフローを可能にする
    • 55以上のSaaSやAWSサービスと連携可能
    • AWS PrivateLink をつかったSaaSとの閉域通信
  • Amazon AppFlow デモ
    • Salesforce から Amazon S3へのデータ連携
      • AppFlowのコンソール内で、送信元をSalesforce、送信先をS3に設定し、簡単な操作でデータ連携できる
      • S3でAthenaでデータを分析する

感想

  • データの収集は、何となくデータを取得するのではなく、目的を持ってデータを収集することが大切だと分かりました。
  • 様々なデータ連携パターンを学ぶことができたため、連携で必要な各AWSサービスの理解をより深めるセッションだと感じました。
  • Amazon AppFlowのデモでは、簡単な操作でデータ連携できていたため、セッションで紹介されていたAmazon AppFlowのWorkshopに取り組んで、キャッチアップしたいと思います。
  • 現段階でプレビューのAuroraとRedshiftのゼロETL統合を早く使ってみたいです。