[レポート] AWS Lake Formationを用いたデータレイクとデータ統合 #ANT218 #reinvent

こんにちは!DA事業本部の大高です!

本記事はAWS re:Invent 2019のセッションレポートとなります。

概要

Want to build and secure a data lake without all the hassle? Learn how AWS Lake Formation and AWS Glue consolidate and simplify the steps of ingesting, encrypting, cataloging, transforming, and provisioning data. Understand how to make data readily accessible to different analytics services and users, while enforcing granular access control policies and audit logging. Hear about how AWS customers have implemented Lake Formation and AWS Glue for their businesses. Hear how NU SKIN has recently completed an all-in migration to AWS and leveraged AWS Lake Formation to manage their data lake.

手間をかけずにデータレイクを構築、保護したいですか? AWS Lake FormationとAWS Glueがデータの取り込み、暗号化、カタログ化、変換、プロビジョニングの手順を統合および簡素化する方法を学びます。詳細なアクセス制御ポリシーと監査ログを実施しながら、さまざまな分析サービスとユーザーがデータに簡単にアクセスできるようにする方法を理解します。AWSのお客様がどのようにLake FormationとAWS Glueをビジネスに実装しているかをご覧ください。NU SKINが最近AWSへのオールイン移行を完了し、AWS Lake Formationを活用してデータレイクを管理した方法をご覧ください。

本セッションはリピートセッションの「ANT218-R」となります。

スピーカー

スピーカーは以下の方々になります。

  • Mehul Shah - GM, AWS Glue and Lake Formation, Amazon Web Services
  • Joe Sueper - VP Global Infrastructure & Operations, Nu Skin

動画

AWS Lake Formation

MehulさんによるAWS Lake Formationのお話です。


▲奥の方がMehulさん

革命をドライブするトレンド

まずは、これまでと現状の状況をまとめつつ、関連するAWSサービスの紹介に入っていきました。

過去の意思決定までの道のり

  • ETLプロセスを利用しており、大きなスキーマを利用
  • 1ヶ月、1年スパン掛かっていた

データの増加と複雑化

  • テラバイトや、ペタバイトが必要とされている
  • データも構造化データだけではない
    • メール
    • ログデータ
    • マシンデータ
    • ウェブクリック
    • 広告のログ
    • ネットワークログ
    • ソーシャルデータ

ワークロードの多様化

  • シンプルなSQL分析
  • マシンラーニング
  • DevOps文化と分析
  • リアルタイムストリーミング
  • 不正検知

規制圧力の増加

  • データアクセス
    • 特定のグループに対するアクセスだけとしない
    • すべてのデータ、すべてのユーザに対するアクセスを許す、データの民主化が求められている
  • 統制・規制の困難さ
    • データの存在だけではない
    • 政府の規制がすべて施行されているか
    • 企業の規制

ゲームチェンジャー: クラウド上のデータレイク

  • 多くの顧客はデータをS3に保存
    • コスト効果が高い
    • スケーラブル
    • イレブンナイン(99.999999999%)の堅牢性
  • データソース
    • オンプレミスのバッチデータ
    • リアルタイムストリーミング
  • 各種分析エンジン・ツール
    • Redshift
    • EMR
    • SageMakerによる機械学習
    • Athenaを利用したアドホック分析
    • QuickSightでのBI

データレイクとは何か?

データレイク: 新たな情報ハブ

一元化されたセキュアなリポジトリにより、顧客に対して、あらゆる規模の構造化および非構造化データを統治、発見、共有、分析することを可能とする

データレイク構築の難しさ

データレイク構築の一般的なステップ

  • データレイク構築には個々のユーザにユニークなスキルセットが必要

  • 収集とクリーニング

    • ペルソナ:データエンジニア
    • ストレージのセットアップ
    • データソースからの移動
    • S3へのデータロード
    • データのクリーニングや前処理
      • 分析プロジェクトの80%はクリーニングや前処理に費やされる
  • セキュリティー
    • ペルソナ:データスチュワート
    • セキュリティーポリシー、コンプライアンスポリシーの適用
  • 分析 & ML
    • ペルソナ:データアナリスト
    • 様々な分析エンジン経由でのデータへのアクセス
    • ビジネスユーザ、データサイエンティストによる分析に必要なデータが提供されてるか

AWS Lake Formationがデータレイクを構築を容易にする

AWS Lake Formation ソリューションスタック

S3をデータレイクストレージとして、図の中央がLake Formationとなります。 さらに、上位階層のサービスを利用して分析を行うようなスタックです。

AWS Glue上のAWS Lake Formation

  • AWS Glueより上位のレイヤに位置する

AWS Glueはスケーラブルなサーバレス コンポーネントを提供

  • データカタログ
    • フルマネージド
    • Hiveメタストア互換
    • テーブル、データベース、カラム、データ型、スキーマ情報を保存するメタデータサービス
    • 分析サービスと統合されており、カタログを参照可能
  • クローラ
    • フルマネージド
    • S3にあるデータに対してクローラを実行すると、自動的にデータを推測する
      • 圧縮タイプ
      • データフォーマット
      • スキーマ
    • カタログを生成
  • サーバレスETL
    • Glueのコア
    • サーバレスのApache Sparkを提供
    • 必要なリソースは自動的にプロビジョニング
    • マシンセットアップ、ネットワーク設定などは不要
    • 実行時間課金
    • GUIコンソールでスクリプトをインタラクティブに作成
  • フレキシブルワークフロー
    • ジョブのオーケストレーションシステムを提供
    • ワークフローの監視・モニタリング
    • CloudWatch経由のアラート
      • 外部連携もできる

AWS Lake Formationを用いたデータレイクの構築

ここからは、いくつかデモを交えながらAWS Lake Formationを用いたデータレイクの構築についての説明が行われました。

収集とクリーニング

  • 機械学習を利用した難しい問題の解決
    • 異なる(靴の)カタログのマージ
    • 内部的にはAmazonリテールは多くのML技術を用いてこのようなことをしている
    • AWS Glueの機能の一部としてリリースしている(※補足: FindMatches)

  • ファジー重複排除
    • ブロキング、スコアペア、パーティショニングの3ステップ
  • Glueなら
    • 容易にスケール、ハンドリングできる
    • 50万ドルで50万レコードを3時間以下で処理可能

セキュリティー

  • 権限の集中
    • テーブル、データベース、カラムレベルの制御をLake Formationで実施
    • S3経由でのアクセスをシャットダウン
    • ユーザには統合サービス(Athena, Redshift, Glue, EMR)経由でのみ、アクセス可能とさせる

  • Lake Formationのセキュリティーパーミッション
    • レイクフォーメーションのパーミッションはJSONポリシーとは違う感じになる
    • シンプルなデータベースシステムにあるような「許可」、「否認」のモデル
    • カラムレベルまで設定可能
    • 権限設定は一箇所のペインで確認可能

  • Lake Formation セキュリティーモデル
    • IAMを利用した接続モデル

  • リクエストフローの例
    • AD認証されたユーザが、テーブルへのクエリを要求
    • Amazon Athenaが、テーブルアクセスを要求
      • Lake Formationが権限をチェック
    • テーブルへの短期間のクレデンシャルを返す
      • 該当ユーザがどのカラムへのアクセスを許可されているか
    • 全てのカラムと行を要求
    • アクセスできるものだけを返す
      • サービス内部でフィルタリングされる

  • 下位互換性
    • すでにGlueデータカタログでデータレイクをセットアップ済みのケース
      • 様々なパーミッション設定がなされている
    • Lake Formation用パーミッションにアップグレード可能

  • データカタログとメタデータ管理
    • データカタログのメタデータとして注釈をつけることが可能
      • すでにテーブルやデータベースに注釈が可能なように、カラムにもできる
    • すべての注釈に対してキーワード検索を提供
      • 顧客やユーザが、どのデータセットが関係付いているか見つけられる

AWS Lake Formation のステータス

  • 以下のリージョンでGA済み
アメリカ EMEA アジア
モントリオール フランクフルト ムンバイ
北カリフォルニア アイルランド ソウル
バージニア北部 ロンドン シンガポール
オハイオ シドニー
オレゴン 東京
  • 統合サービス
    • Amazon Athena
    • Amazon Redshift
    • AWS Glue
    • Amazon EMR(public beta)

Lake Formation - NU SKIN

ここからは、MehulさんによるNU SKIN社におけるAWS Lake Formationの導入事例の話となります。

概要

詳細は割愛しますが、以下のような内容となります。

  • AWSへの全面的な移行
  • データレイク構築にあたり、以下のようなデザインを考えていた

  • AWS Lake Formationを導入することで、容易に構築することができた

  • 現在とこれから

まとめ

以上、「AWS Lake Formationを用いたデータレイクとデータ統合」のレポートでした。

AWS Lake Formationは、これまでの煩雑なデータレイク構築を手軽に構築できるサービスとなっています。現在はBluePrintとして提供されているものは数パターンとなっていますが、今後このBluePrintのパターンが増えることにより、より手軽にデータレイク構築に活用できることが期待されます。

それでは、また!