iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
Build on AWS

從一個網站的誕生,看懂 AWS 架構與自動化的全流程!系列 第 28

Day 28 商業智慧儀表板:QuickSight x Athena 報表與視覺化

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20251012/20172743pxNFlx43m9.png

一、前言

在前一個 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)的分析與可視化流程。

二、需要使用到的服務

  1. Amazon QuickSight:負責視覺化分析與報表自動寄送。
  2. Amazon Athena:作為 SQL 查詢層,讀取並分析 S3 中的資料。
  3. Amazon S3:儲存由 Lambda 匯出的 DynamoDB 使用者事件資料。
  4. AWS Glue(可選):用於建立 Athena 可辨識的資料結構(Catalog)。
  5. IAM:授權 QuickSight 存取 Athena 與 S3 資料。

三、架構/概念圖

https://ithelp.ithome.com.tw/upload/images/20251012/201727436u4Ac6gjfz.png

四、技術重點

  • 建議使用 SPICE 模式取代即時查詢 Athena,可大幅提升讀取速度並降低成本。
  • 定期執行 Glue Crawler(若有使用),以確保 Athena 結構更新。
  • 儀表板設計建議以「角色導向」分群,如管理層(KPI 概況)、開發者(效能指標)。
  • 將 QuickSight 報表與 SNS 或 Lambda 整合,可在數據異常時自動發送告警信。
  • 控管 QuickSight 成本,避免過多 Dataset 或 Analysis 長期佔用 SPICE 空間。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743kQ8PYFbd3v.png

這個架構設計了一個清晰的 ETL (Extract, Transform, Load) 流程:

  • E (提取):應用服務將數據送到 CloudWatch。
  • T (轉換/搬運):CloudWatch Logs Export 將日誌轉換格式並搬運到 S3。
  • L (載入/分析):Athena 負責執行 SQL 查詢,將 S3 上的非結構化數據轉化為可分析的表格結構 (Glue Data Catalog 協助定義 Schema)。
  • 前端呈現:QuickSight 從 CloudWatch Metrics 和 Athena 查詢結果中,提取並呈現最終的 BI 儀表板。

這個 Lab 是雲端架構中「可觀測性 (Observability)」和「商業情報 (Business Intelligence)」整合的最佳範例基礎架構。

五、Lab流程

1️⃣ 前置作業

1. 創建DynamoDB,並設定Steam觸發Lambda。(Day27)

2. Lambda觸發,將事件紀錄匯出至S3中。

2️⃣ 主要配置(服務設定、Policy、流程串接)

1. 註冊QuickSight

  1. 進入「QuickSight」頁面。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743jMPujcQqhe.png

  2. 註冊QuickSight。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727435cspdacwUK.png

  3. 輸入E-mail、設定名稱,並授權可使用的AWS服務。
    https://ithelp.ithome.com.tw/upload/images/20251012/2017274310FtebAfZX.png
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743jRuSJl5hPW.png

  4. 註冊完成。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727431r1VjARoAo.png

2. 在QuickSight建立Dataset(資料集)

  1. 創建新的資料集。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727433NX36g8ln8.png

  2. 創建「Amazon Athena」
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743z4N6yBsljK.png

  3. 輸入資料來源名稱,並按驗證連線。(analytics_db)
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743U5AqmaTMnQ.png

  4. 建立資料來源。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743hvQLU6mwVn.png

  5. 選取資料庫。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743UXoo5FWoNG.png

  6. 創建資料表。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743t8l0JhwBCV.png

  7. 點選建立。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743WdzicJKHKD.png

  8. 選擇表單類型。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727439ISWs0lYXt.png

  9. 編輯表單樣式。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743FvGWyMhOGY.png

  10. 發佈儀表板。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743yxyXNOX6CD.png

  11. 完成畫面,可以透過左上路徑回到主頁。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743kbBHPdbnmW.png

3. 設定QuickSight排程

  1. 進入資料表內。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743tIG2o5tTeU.png

  2. 新增排程。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743lOxUdZSBZp.png

  3. 設定固定排程。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743dQlsyfb85x.png

  4. 完成畫面。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743s8p6YUfYoh.png

4. 設定自動寄送報表

  1. 點選表單的排程。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743HP7w4vvG8M.png

  2. 新增排程。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743RDJ6B6CXrR.png

  3. 設定排程內容與收件者,並寄出測試信。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743u11b1iAuNI.png
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743hw0a4l9p4B.png

  4. 收到測試信。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743qyiskdcyTh.png

  5. 設定儲存排程。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743ebpspPB0pN.png

  6. 完成畫面。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727439NRWUpkX3n.png

3️⃣ 測試驗證(QuickSight 儀表板建置與自動報表)

1. 修改DynamoDB的資料

  1. 進到DynamoDB後,編輯既有項目。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743CjSRzt6597.png

  2. 修改資料,並儲存。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743XR3jUypr9r.png

2. 確認沒有變動

  1. 進到儀表板內。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743gH7TtHW2Fv.png

  2. 確認尚未更新。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743W5hbR4StP7.png

3. 手動刷新

  1. 進入資料集內。
    https://ithelp.ithome.com.tw/upload/images/20251012/201727437J1ha5Deo5.png

  2. 手動刷新資料。
    https://ithelp.ithome.com.tw/upload/images/20251012/2017274353NdYCFoiZ.png

  3. 選擇「整理模型」。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743U3bgp1GSgG.png

  4. 確認重新整理。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743VPIq0THMlV.png

【補充】頁面下方可以看到表單歷史紀錄

https://ithelp.ithome.com.tw/upload/images/20251012/20172743g8aWT3RDmx.png

4. 確認資料已更新

  1. 進入儀表板內。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743aJClJEKllB.png

  2. 確認資料已更新。
    https://ithelp.ithome.com.tw/upload/images/20251012/20172743m3whU03dSx.png

【補充】刪除資料表的方式:

  1. 刪除資料表:

    DROP TABLE analytics_db.dynamodb_users;
    
  2. 刪除資料庫:

    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


上一篇
Day 27 資料庫遷移:DynamoDB Streams 串接 S3 x Athena 匯出與查詢
系列文
從一個網站的誕生,看懂 AWS 架構與自動化的全流程!28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言