[レポート] DAT308 :Replicate & Manage Data Using Managed Databases & Serverless Technologies #reinvent

はじめに

サーバーレス開発部@大阪の岩田です。 re:Invent2018内で開催されたワークショップDAT308 Replicate & Manage Data Using Managed Databases & Serverless Technologiesに参加してきたのでレポートします!!

概要

以下が公式の概要となります。

Organizations often have disparate datasets and find it challenging to replicate and analyze the data to drive positive business outcomes. This workshop leverages AWS managed database services and serverless technologies to help replicate, manage, and analyze data using an MLB dataset. We replicate a SQL Server database to Amazon Aurora Serverless using AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool. At the same time, we use AWS Glue, a serverless ETL service, to transform and load the data to Amazon S3. We then use Amazon Athena to interactively analyze data using SQL to enable better business decisions. In the course of this workshop, we use: Amazon EC2, Amazon Aurora Serverless, AWS DMS, Amazon Athena, AWS Glue, and Amazon S3. Have an AWS account and some experience with databases and SQL. Bring your own laptop

AWSのSAによるサポートの元

  • Aurora Serverless
  • S3
  • DMS
  • SCT
  • Quick Sight
  • Athena
  • Glue

といったサービスをフル活用したデータのレプリケーション、マイグレーションについて学ぶことができました。

レポート

ユースケース

  • FootballとBaseballのデータをSQL Serverに保存している
  • Footballは今シーズンのデータをSqlServerからAuroraへ
  • BaseBallはシーズン終了時にS3に Athenaでアドホックなクエリを流す
  • QuickSightを使ってデータの可視化と分析を

ワークショップで構築する環境のアーキテクチャ

  • Aurora Serverless
  • S3
  • DMS
  • SCT
  • Quick Sight
  • Athena
  • Glue

を活用したアーキテクチャ

DMSとSCTについて

  • DMS
    • 簡単にRDBをAWSにマイグレーション or レプリケートできる
  • SCT
    • AWSネイティブなサービスにスキーマをコンバージョンしてくれる

AUrora Serverlessのユースケース

  • 頻繁に利用しないアプリ
  • 様々なワークロードを持ち、ピーク時のアクティビティが重たいアプリ 例えばニュースサイト
  • 夜間や週末には必要のない開発環境

AUrora Serverlessのプロビジョニング

Athena

  • 標準的なSQLでS3のデータをダイレクトに分析できる

Glueの持つ3つの特性

  • Discover
  • Develop
  • Deploy

Glueのコンポーネント

  • Data Catalog
  • Job Authoring
  • Job Execution

もくもくタイム!!

  • CFnによるAWSリソースの準備
  • SCTを用いたSQLServer->Auroraのスキーマ変換
  • DMSの設定 ソースとターゲット
  • GlueのETLジョブでS3のデータをCSVからParquetへ変換
  • AthenaによるBaseballデータのクエリ
  • QuickSightによる可視化

まとめ

ワークショップという形態のため、ただ単にセッションを聞いているよりも学びの多い時間になりました。 個人的にはSQLServerの初期セットアップでタイポしてしまい色々ハマったのですが、逆に理解を深めるための助けになって良かったなと思っています。 こういったワークショップ系のセッションに積極的に参加していこう!!と思うきっかけになりました。