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

データを受け取って、データを加工して、データを可視化する直前までのお話 / AWS DATA ETL

daiki.mori
October 01, 2022

データを受け取って、データを加工して、データを可視化する直前までのお話 / AWS DATA ETL

[Event Info] https://jawsugosaka.doorkeeper.jp/events/141505
The story just before receiving data, processing data, and visualizing data.

daiki.mori

October 01, 2022
Tweet

More Decks by daiki.mori

Other Decks in Technology

Transcript

  1. 2 ⾃⼰紹介 ★ Who am I ? 所属・⽒名 株式会社サーバーワークス /

    アプリケーションサービス部 / ディベロップメントサービス1課 / 課⻑ 森 ⼤樹 ([email protected]) キャリア 約20年、SIerでプログラマ/プロジェクトマネージャの実務経験後、 2017年1⽉にサーバーワークスへ⼊社 Java / C# / Pythonを中⼼に様々なプログラム⾔語で開発 CICD環境の構築、運⽤などを⾏い、現在に⾄る 資格 PMP(Project Management Professional) 資格 趣味 スノーボード/お酒 好きなAWSサービス AWS Lambda/Amazon Connect
  2. 9 分析、機械学習、アプリケーション開発のためのデータの検出、準備、結合を 簡単に⾏える、サーバーレスデータ統合サービス ETL/ AWS Glue 2 AWS Lambdaで処理するには時間が⾜りないやできるだけジョブを少なくしたい 場合に利⽤します。

    AWS GlueにはPython ShellとApache Spark、2つのジョブタイプがあります。 使い分けとしては汎⽤的なものをPython Shell、⼤規模な分散処理はApache Sparkというイメージです。 また、属性情報を付与するデータカタログやメタデータを作成するクローラなど もできます。また、サーバーレスなのでコスト的なものも軽減できます。 AWS Glue 2. 使えるサービス/ETL/利⽤可能なAWSサービス
  3. 10 障害/再試⾏/並列化などを管理するワークフローサービス 200以上のAWSサービスと9,000のAPIアクションでワークフローを構築可能 ETL/ AWS Step Functions 3 ワークフロー制御を⾏うサービスであるため、先述したAWS LambdaやAWS

    GlueをAWS Step Functionsのアクションとして利⽤が可能。異常系なども制御 できるので、有効活⽤することができます。 また、AWS Step FunctionsはAPIアクションで構築も可能なので、利⽤⽤途に応 じてノーコードで処理することも可能。 AWS Step Functions 2. 使えるサービス/ETL/利⽤可能なAWSサービス
  4. 11 インタラクティブなクエリサービスで、サーバーレスでインフラ管理不要 Amazon S3内のデータを標準SQLを使⽤して簡単に分析可能 ETL/ Amazon Athena 4 Amazon AthenaはサーバーレスでAmazon

    S3にあるファイルに対してクエリを 発⾏し、データ分析することができます。⼀般的に利⽤するシチュエーションと しては、Amazon S3 + Amazon Athena + Amazon QuickSightで、BIツールと の連携で使われることがあります。 使われるシチュエーションとしてはAmazon S3にあるログファイルの分析で利⽤ されることが多いです。 Amazon Athena 2. 使えるサービス/ETL/利⽤可能なAWSサービス
  5. 12 ETL/その他 他 2. 使えるサービス/ETL/利⽤可能なAWSサービス Amazon EMR AWS Data Pipeline

    AWS Batch Amazon ECS Amazon EKS AWS Fargate Amazon Managed Workflows for Apache Airflow(MWAA) etc… 様々なジョブ実⾏ができるサービスやワークフロー制御するサービスを取り上げています。 今回は、説明しませんが、可能性は⾊々あります。 プログラムを組んで、ジョブを実⾏し、そのジョブをワークフロー制御するようなイメージで考え ていければよいかと思います。 ただ、いきなり⼤きく作るよりは最⼩限な構成で最低限のことを試作して検証しながら作り上げて いく⽅針を⽴てて進めると余計なコストが発⽣せず、⽅向性を⾒定めることができます。 その他
  6. 13 ジョブ実⾏ ★ ジョブ実⾏で利⽤できるAWSサービス深くは触れませんが、プログラムやクエリ を発⾏できるものがあがってきます。スモールスタートで始めるのであれば、 AWS Lambda や AWS Glue

    を利⽤することを推奨します。 それ以外のAWSサービスについては、PoCの結果を⾒て判断する⽅向で進めるの がよいと思います。 ジョブ実⾏ 2. 使えるサービス/ETL/利⽤可能なAWSサービス AWS Glue AWS Lambda Amazon Athena Amazon EMR AWS Batch Amazon ECS etc…
  7. 15 AWSで昔からあるストレージサービス ストレージとしてだけでなく、静的コンテンツ配信やデータレイクにも DWHやデータレイク/Amazon S3 1 多数のAWS分析アプリケーション、AI/MLサービス、などからアクセス可能。 Amazon AthenaやAmazon Redshift

    Spectrumなどを利⽤してクエリを実⾏で きます。オブジェクトストレージの機能を持ちつつ、データレイクとして利⽤で き、99.9999999%の耐久性、99.9%の可⽤性が保証されているので、データが 無くなる可能性はほぼありません。 Amazon S3 2. 使えるサービス/DWHやデータレイク/利⽤可能なAWSサービス
  8. 16 フルマネージド型のペタバイトスケールでPostgreSQLベースのDWH クラスター形式とサーバーレス形式の2つがある DWHやデータレイク/Amazon Redshift / Amazon Redshift Serverless 2

    複数のノードでクラスターを組むパターンとサーバーレスがあり、細かい話は後 ほど。データを収集・統合・蓄積し、分析をするためにデータを保管するための ものであり、更新頻度の⾼いRDBのような使い⽅はしません。 並列コンピューティングをさぽーとしており、⼤量のデータを短時間で読み出 し・分析可能。 Amazon Redshift 2. 使えるサービス/DWHやデータレイク/利⽤可能なAWSサービス
  9. 30 3. 合わせてみよう/参考例 センサー→AWS IoT Core→Kinesis Firehose→S3 1 S3にあるファイルをデータ加⼯ 2

    加⼯したデータをDWHに格納 3 クエリ結果を可視化 4 ユーザーが⾒る 5
  10. 32 3. 合わせてみよう/参考例/Amazon Redshift Redshift Redshift Serverless コスト クラスターの起動時間によって課⾦ クエリ実⾏時にのみ課⾦

    スケーリング 同時実⾏スケーリング機能を使⽤ ⾃動的にスケーリング ⼀時停⽌と再開 ⼿動で実施 クエリの実⾏時のみ料⾦発⽣するため、概念なし 暗号化 AWS KMSで暗号化 常時暗号化 メンテナンス メンテナンスウインドウを使⽤ ⾃動メンテナンス 監査ログ S3へ配信 CloudWatch Logsに配信(※S3への配信は不可) バックアップ スナップショット スナップショットと復旧ポイント Redshift Spectrum スキャンされたバイト数に対して課⾦ RPU時間の⾦額でRedshift Serverlessの請求に包含 サインイン時の認証 情報要件 IAMユーザーのユーザー名とパスワード認証情報 不要 ユーザー管理 IAMユーザー または Redshiftユーザー IAMユーザー または Redshiftユーザー Redshift Serverless のスナップショットからRedshiftクラスターに復元可能
  11. 39 お知らせ 2022/10/08(⼟) JAWS DAYS 2022 – Sattelites Amazon Connect

    RTA︕︕ 10分でコンタクトセンター作ってみました♩