Skip to Content

中級カリキュラム:6つのコンテンツ

このコースではリアルタイム分析のパイプライン構築を中心に学びますが、目的は可視化で終わらせず「行動を生むこと」にあります。データを届けたいタイミングで必要な人が動けるよう、各ステップで“次のアクションを設計する視点”を意識して進めてください。

ステップ1:データストリーミング基盤の構築

内容:Amazon Kinesis Data Streams、データストリーミング、リアルタイムデータ収集

例え:リアルタイムでデータを収集する「デジタル版のベルトコンベア」のような仕組みを作ります。Kinesis Data Streamsは工場のベルトコンベアのように、次々と流れてくるデータを受け取り、適切な場所に運ぶ役割を果たします。データは流れ続ける川の水のように、止まることなく処理されていきます。

詳細説明:

  • Kinesis Data Streamsの作成と設定:リアルタイムでデータを収集するストリームを作成し、シャード数や保持期間などの基本設定を行います。シャードとは、データの流れを分割する単位で、トラフィック量に応じて自動的にスケールできる仕組みです。
  • データプロデューサーの実装:PythonやNode.jsを使って、データをKinesisストリームに送信するプログラムを作成します。WebサイトのアクセスログやIoTセンサーのデータなど、様々なソースからデータを送信できるようにします。
  • データレコードの構造理解:Kinesisに送信されるデータの形式(パーティションキー、シーケンス番号など)を理解し、効率的なデータ送信方法を学びます。パーティションキーは、データをどのシャードに送るかを決める重要な要素です。
  • ストリームの監視とメトリクス:CloudWatchを使って、ストリームの状態やデータの流れを監視し、問題が発生した際にすぐに気づけるようにします。遅延時間やスループットなどの重要な指標を確認します。

ステップ2:データストレージの設定

内容:Amazon S3、データレイク、データ保存、ライフサイクルポリシー

例え:収集したデータを保存する「デジタル版の巨大な倉庫」のような仕組みを作ります。S3は、世界中に分散した倉庫のようなもので、どんなに大量のデータでも安全に保存でき、必要な時にすぐに取り出せます。データは整理された棚に並べられ、効率的に管理されます。

詳細説明:

  • S3バケットの作成と設定:データを保存するためのS3バケットを作成し、適切なリージョンやバージョニング設定を行います。バケット名は全世界で一意である必要があり、データの保存場所を明確に識別できるようにします。
  • データの保存形式とパーティショニング:データを効率的に分析できるよう、日付やカテゴリなどでパーティショニング(分割)して保存する方法を学びます。これは、図書館の本を分野ごとに分けて配置するのと同じで、後で探しやすくするための工夫です。
  • KinesisからS3へのデータ連携:Kinesis Data Streamsから収集したデータを、自動的にS3に保存する仕組みを構築します。Kinesis Data Firehoseを使うことで、ストリーミングデータを簡単にS3に保存できます。
  • ライフサイクルポリシーの設定:データの保存期間に応じて、自動的にストレージクラスを変更したり、古いデータを削除したりするライフサイクルポリシーを設定します。これにより、コストを最適化しながら、必要なデータは長期間保存できます。

ステップ3:データカタログとETL処理

内容:AWS Glue、データカタログ、ETL処理、スキーマ検出、データ変換

例え:保存されたデータの構造を理解し、分析しやすい形に変換する「デジタル版の翻訳者兼整理係」のような仕組みを作ります。Glueは、様々な言語で書かれた書類(データ)を読み取り、統一された形式に翻訳し、整理して保存する役割を果たします。

詳細説明:

  • Glueデータカタログの設定:S3に保存されたデータの構造(スキーマ)を自動的に検出し、カタログに登録します。これにより、データの場所や構造を管理し、後で簡単に参照できるようになります。カタログは、図書館の目録カードのようなもので、どのデータがどこにあるかを記録します。
  • スキーマの自動検出とカスタマイズ:Glue Crawlerを使って、S3内のデータを自動的にスキャンし、データの構造を検出します。検出されたスキーマを確認し、必要に応じて手動で調整することで、正確なデータ構造を定義します。
  • ETLジョブの作成:データを変換・加工するETL(Extract, Transform, Load)ジョブを作成します。生のデータを分析しやすい形式に変換し、不要なデータを除外したり、データを集計したりする処理を実装します。これは、生の食材を調理して食べやすい料理にするのと同じプロセスです。
  • ジョブのスケジュール実行:ETLジョブを定期的に実行するよう、スケジュールを設定します。例えば、毎日深夜に前日のデータを処理するなど、自動化されたデータ処理パイプラインを構築します。

ステップ4:データ分析クエリの実行

内容:Amazon Athena、SQLクエリ、データ分析、パフォーマンス最適化

例え:保存されたデータを分析する「デジタル版の調査員」のような仕組みを作ります。Athenaは、巨大な図書館(S3)の中から必要な情報を素早く見つけ出し、質問(SQLクエリ)に答えてくれる賢い調査員のような存在です。サーバーを用意する必要がなく、必要な時だけ働いてくれます。

詳細説明:

  • Athenaの基本設定:AthenaでS3のデータを分析するための基本設定を行います。Glueデータカタログで登録したテーブルを参照し、SQLクエリでデータを分析できるようにします。
  • SQLクエリの実行:標準的なSQLクエリを使って、データの集計、フィルタリング、結合などの分析処理を実行します。例えば、「今月の売上を商品カテゴリ別に集計する」「特定の期間のアクセスログを分析する」などのクエリを実行します。
  • パーティショニングの活用:S3のパーティショニングを活用して、クエリのパフォーマンスを向上させます。必要なデータだけをスキャンすることで、クエリ時間とコストを削減できます。これは、図書館で必要な分野の本だけを探すのと同じで、効率的に情報を見つけられます。
  • クエリ結果の保存と可視化:分析結果をS3に保存したり、CSVファイルとしてダウンロードしたりする方法を学びます。また、結果を他のツール(例:Amazon QuickSight)に連携して、グラフやダッシュボードで可視化する方法も理解します。
  • コスト最適化のテクニック:Athenaのクエリコストを削減するため、データの圧縮形式(Parquet、ORCなど)の活用や、必要な列だけを選択する方法を学びます。大量のデータを分析する際は、これらの最適化が重要になります。

ステップ5:可視化と意思決定の迅速化

内容:Amazon QuickSight、ダッシュボード、役割別ビュー、しきい値可視化

例え:速報値をその場で共有できる「作戦会議ホワイトボード」。状況が変わった瞬間に全員が同じボードを見ることで、意思決定がずれずに進みます。

詳細説明:

  • QuickSight接続とデータセット作成:Athenaのクエリ結果をデータセットとして接続し、最新データを可視化します。
  • 主要KPIダッシュボード:売上・流入・エラー率などのKPIをカードや時系列で配置し、前日比・週次比を並べて異常を即座に把握します。
  • 役割別ビュー:経営(売上/在庫/利益)、マーケ(チャネル別CV・CPA)、SRE(エラー率・レイテンシ)といった役割別シートを用意し、「誰がどの指標を見て動くか」を明確にします。
  • しきい値ラインと条件付き書式:警戒ラインを可視化し、閾値超えを色やアイコンで強調。異常を見落とさないようにします。
  • 行動メモ欄:ダッシュボード内に「本日のアクション」欄を設け、可視化が行動に直結するよう運用します。

ステップ6:イベントドリブンな自動アクション(オプション)

Note

このステップはオプションです

ステップ5まで完了すれば、データ分析パイプラインの基本的な機能は完成します。ステップ6は、より高度な自動化機能を学びたい方向けのオプションコンテンツです。

内容:EventBridge Scheduler、Lambda、SNS/Slack通知、API呼び出しによる自動実行

例え:異常を検知したら自動でサイレンと指示書が出る「工場のアラーム+自動指示装置」。人がダッシュボードを見ていない時間帯でも即座に動けます。

詳細説明:

  • 定期評価の自動化:Athenaクエリ結果をS3に出力し、EventBridge Scheduler + Lambdaで定期的にしきい値判定を実行します。
  • 通知とエスカレーション:条件一致時にSNS/Slackへ通知し、担当者とチャンネルを明確にします。夜間は当直者へ、日中は担当チームへ、といったルーティングも可能です。
  • 自動アクションの実行例:広告停止APIの呼び出し、Auto Scalingの上限変更、WAFルールの一時緩和/強化など、具体的なアクションをLambdaで実装します。
  • プレイブック化:よくあるシナリオ(売上急落、エラー率上昇、特定チャネル急増)をプレイブック化し、通知テンプレートと実行手順をセットで保存します。

学習完了後の次のステップ

この学習カリキュラムを完了し、最終アセスメント(テスト)に合格すると以下のステップに進むことができます。

  • 上級カリキュラムへの進学:より大規模で複雑なシステム構築(マイクロサービス、コンテナ技術、機械学習パイプラインなど)を学習するカリキュラム
  • フリーランス案件への応募:このカリキュラムで学んだスキルを活かして、データエンジニアリング関連の実案件にチャレンジする
  • 独自プロダクトの開発:学習内容をベースに、ご自身のオリジナルデータ分析システムを設計・開発し、ポートフォリオとして活用する

中級カリキュラムの勉強の仕方

学ぶ前に以下にアクセスできるかを確認しましょう。

  • AWSコンソール(基礎カリキュラムで作成したIAMユーザーでログイン可能)
  • コマンドラインツール(AWS CLI、Python環境)
  1. 学ぶ
  • それぞれのステップに記載してある手順に従いAWSコンソール上でサービスを構築します。
  • 設定や可視化ができたら、「この結果を誰がいつ使い、どんな行動につなげるか」を一言でメモする習慣をつけましょう。パイプラインは意思決定と実行のための土台です。
  • 例:マーケ担当なら「今夜の広告配分を修正」、運用担当なら「エラーレート上昇時にスケールアウト」、経営層なら「売上急落時に当日中に価格調整」など、役割別に即行動へ落とし込みます。
  • 用語やサービス名がわからない場合には学習カリキュラム内の「用語集、参考資料」を見てみましょう。
  • 記載の内容や概念が理解できない場合には専用Slackにて質問をしてください。より初級レベルの知識を学びたい方は以下がおすすめの参考書籍となります。
  1. 学んだことの確認
  • それぞれのステップには以下3つの確認項目が用意されていますのでそれぞれに回答を専用Slack上で提出してください。
    • 実践チェック:画面キャプチャで証明しよう
    • 提出方法:それぞれの項目に関してAWSコンソールの該当箇所をキャプチャーし、提出
    • 構成図による理解度チェック
    • 提出方法:構成図を作成し、提出
    • 理解度チェック:なぜ?を考えてみよう
    • 提出方法:質問の回答を提出
  1. アセスメント
  • ステップ5までの学習が完了すると、最終アセスメントへ進みます(ステップ6はオプションのため、アセスメントには含まれません)。
  • 最終アセスメントはオンラインで講師を相手にホワイトボーディングを行います。
  • ホワイトボーディングとは相手がやりたいたいことをヒアリングし、それを実現するためのサービス構成をその場で図示しながら作り上げていくロープレ形式のセッションです。
  • 最終アセスメントを実施するかどうかは皆さんにお選びいただけます。実施希望の方は専用チャネルでManagerまでご連絡ください。
Last updated on