在前一個 Lab(Day 27)中,我們已完成從 DynamoDB → Lambda → S3 的資料匯出流程,但資料仍是「原始記錄」。本日 Lab 的目標是將這些資料轉化為可視化的商業智慧儀表板(Business Intelligence Dashboard),讓團隊能夠快速洞察會員註冊趨勢、活動分佈與用戶行為模式,實現資料驅動決策(Data-driven Decision Making)。
本次Lab著重要解決的痛點在於:
(1) S3 儲存的原始 JSON/CSV 檔案難以直接分析,缺乏圖形化報表與趨勢追蹤。
(2) 產品與管理層無法即時得知會員增長與行為變化,導致決策延遲。
此 Lab 的定位,是整個 Serverless 應用的「觀測與決策層」。前面幾天的 Lab 著重在資料流的建立與安全性,而本篇專注於將資料呈現給人理解的方式,使用 QuickSight + Athena 來實現雲端端到端(end-to-end)的分析與可視化流程。
這個架構設計了一個清晰的 ETL (Extract, Transform, Load) 流程:
這個 Lab 是雲端架構中「可觀測性 (Observability)」和「商業情報 (Business Intelligence)」整合的最佳範例基礎架構。
進入「QuickSight」頁面。
註冊QuickSight。
輸入E-mail、設定名稱,並授權可使用的AWS服務。
註冊完成。
創建新的資料集。
創建「Amazon Athena」
輸入資料來源名稱,並按驗證連線。(analytics_db)
建立資料來源。
選取資料庫。
創建資料表。
點選建立。
選擇表單類型。
編輯表單樣式。
發佈儀表板。
完成畫面,可以透過左上路徑回到主頁。
進入資料表內。
新增排程。
設定固定排程。
完成畫面。
點選表單的排程。
新增排程。
設定排程內容與收件者,並寄出測試信。
收到測試信。
設定儲存排程。
完成畫面。
進到DynamoDB後,編輯既有項目。
修改資料,並儲存。
進到儀表板內。
確認尚未更新。
進入資料集內。
手動刷新資料。
選擇「整理模型」。
確認重新整理。
進入儀表板內。
確認資料已更新。
刪除資料表:
DROP TABLE analytics_db.dynamodb_users;
刪除資料庫:
DROP DATABASE IF EXISTS analytics_db;
本 Lab 示範如何將 Athena、QuickSight 串接,並產出適當的目視化報表(雖然更新尚未自動化,但可以做排程功能、自動更新),將系統監控資料轉化為決策資訊。
這樣的自動化報表不僅能提供工程團隊即時監控,更能讓管理層從營運角度理解使用趨勢、成本走勢與效能瓶頸。
最終達成的目標是:「讓資料自己說話,讓報表替你工作。」(類似於CloudWatch的商務版本)
但要注意,若要時時更新,則可能因為定期刷新Athena API,而產生較頻繁的流量費用。
[1] AWS - Amazon QuickSight 的運作方式:
https://docs.aws.amazon.com/zh_tw/quicksight/latest/user/how-quicksight-works.html