目次

AWSユースケース学習: レイクハウス分析基盤

0. この資料で作るもの

全社データを統合し、BIと機械学習で再利用できる基盤を作る。

項目 内容
主な機能 S3連携、Glue処理、監視運用
非機能要件 高可用性、高信頼性、セキュリティ統制
想定規模 同時利用 100,000
主な利用サービス S3, Glue, Lake Formation, Athena, Redshift, EMR, Kinesis Data Firehose, Step Functions, EventBridge, CloudWatch

1. 構成図

architecture-beta
    service user(internet)[User]

    group vpc(logos:aws-vpc)[VPC]
    group pub[Public Subnet] in vpc
    group prv[Private Subnet] in vpc
    service n2_glue(logos:aws-glue)[Glue] in pub
    service n1_s3(logos:aws-s3)[S3] in prv
    service n5_redshift(logos:aws-redshift)[Redshift] in prv
    service n7_kinesis_data_firehose(logos:aws-kinesis-data-firehose)[Kinesis Data Firehose] in prv
    service n8_step_functions(logos:aws-step-functions)[Step Functions] in prv
    service n9_eventbridge(logos:aws-eventbridge)[EventBridge] in prv
    service n3_lake_formation(logos:aws-lake-formation)[Lake Formation]
    service n4_athena(logos:aws-athena)[Athena]

    user:R --> L:n2_glue
    n2_glue:R --> L:n1_s3
    n1_s3:R --> L:n5_redshift
    n5_redshift:R --> L:n7_kinesis_data_firehose
    n1_s3:B --> T:n3_lake_formation
    n1_s3:B --> T:n4_athena

構成図サービスリンク


2. サービス選定表

レイヤー 主要サービス 採用理由
Edge/API API Gateway / CloudFront / WAF 公開境界を統制しやすい
App/Workflow Lambda / Step Functions / EventBridge 変更に強く自動化しやすい
Data S3 / DynamoDB / Aurora 用途別に性能と整合性を最適化
Ops/Sec CloudWatch / KMS / CloudTrail 監視・暗号化・監査を統合

3. リクエスト処理シーケンス

sequenceDiagram
    User->>S3: リクエスト
    S3->>Glue: 認証/入口制御
    Glue->>Lake Formation: 業務処理
    Lake Formation->>Athena: データ更新
    Athena-->>User: 結果応答

4. データモデル(例)

論理データ 用途
data_entities / data_events / data_audit ユースケースで中心となるデータ

ポイント:

  • 認可境界を意識したキー設計にする
  • 監査/再処理のためイベント履歴を保持する

4.5 クラス図(アプリ構造)

classDiagram
    class Controller {
      +handle(request) Response
    }
    class UseCaseService {
      +execute(command) Result
    }
    class Repository {
      +save(entity)
      +find(query)
    }
    class EventPublisher {
      +publish(event)
    }

    Controller --> UseCaseService
    UseCaseService --> Repository
    UseCaseService --> EventPublisher

5. API設計(例)

POST /data-lakehouse-analytics/events, GET /data-lakehouse-analytics/status/{id}, GET /data-lakehouse-analytics/metrics

認可方針:

  • エッジで認証し、ドメイン層で認可を強制する
  • ユーザー/テナント境界を越えるアクセスを禁止する

6. 実装ステップ(最短)

Step 作業 完了条件
1 データ/イベントモデル定義 主要ユースケースが表現できる
2 API + ワークフロー実装 正常系が通る
3 監視/通知/アラート設定 異常を検知できる
4 負荷/障害テスト SLOを満たす

7. 監視と運用

対象 指標 しきい値例 対応
API 5xx率/レイテンシ(p95) SLO逸脱(99.99%未達) 直近デプロイ差分と依存障害を確認
非同期処理 遅延/滞留件数 5分以上の継続増加 コンシューマ増強・DLQ再処理
データ層 エラー率/スロットル 継続発生 キー設計・クエリ・キャパシティ見直し

8. コスト見積もり観点

サービス群 主課金軸 最適化ポイント
Compute 実行回数/時間 無駄実行削減
Data 保存量/IO ライフサイクルと圧縮
Network 転送量 キャッシュと配信最適化

8.5 料金例(目安)

前提トラフィック: 月間 5,000万リクエスト / データ転送 20TB / 保存 20TB

規模 月額目安 主な前提
小規模 $2,000-6,000 / 月(約¥300,000-¥900,000) 単一リージョン、最低限の冗長化
中規模 $6,000-15,000 / 月(約¥900,000-¥2,250,000) 本番運用、監視/バックアップ標準実装
大規模 $15,000-40,000 / 月(約¥2,250,000-¥6,000,000) 高可用構成、ピーク対策、長期保管を含む

コストドライバー上位: S3, Glue, Lake Formation

注意:

  • 上記は学習用の概算レンジ
  • 正式見積もりはAWS Pricing Calculatorで試算

9. 次の発展課題

  • Blue/Greenデプロイ
  • マルチリージョンDR
  • IaC完全自動化(CDK)
  • セキュリティ運用の自動化

10. リスクと対策

リスク 影響 予防策 検知/復旧
想定外トラフィック急増 レイテンシ悪化/エラー増加 オートスケール閾値と負荷試験を事前実施 CloudWatchアラーム + 段階的スケール
権限設定ミス 情報漏えい/操作不能 最小権限ポリシー + 定期棚卸し CloudTrail監査 + 直近変更ロールバック
依存サービス障害 一部機能停止 非同期化・リトライ・フォールバック設計 DLQ/再実行手順で復旧