以前對於自建Blog , 總是直覺認為就是 web server + DB 的組合. 但是租一台便宜的虛擬機器少說也要5~10美金一個月. 無論你的網站多小, 最低門檻就是要付這些錢.

直到朋友 qrtt1 提醒才如夢初醒, 只要使用了靜態Blog產生器, 就可以甩開資料庫/php . 你會產生一些靜態網頁及圖片, 只要找個簡單的網頁空間放上即可. 這給我一種打開了另一扇窗的感覺.

由於現在主流雲端儲存服務, 都能做到「托管靜態網站」的功能, 而且我確信我的站很小, 費用一定可以極小化,於是我決定試試靜態網頁產生器+ AWS S3的組合.

這個Blog已經開張一個月了, 打開帳單一看, 差不多 1美元的費用, 算是我可以接受的範圍, 在這邊寫一篇記錄一下.

流量

--

這個月的流量很低, 而且可能超過一半都是來自於我自己的.

費用

--

以下是分項說明(單位皆為美金):

  • CloudFront
    • 說明: CDN, 網站對外頻寬費用都在這塊
    • 頻寬: 0.025 GB
    • 費用小計: $0.18
  • Route 53
    • 說明: DNS
    • HostedZone 費用: $0.50
    • DNS Query 次數: 3000次 ,費用 $0.01
    • 費用小計: $0.51
  • S3
    • 說明: 檔案儲存
    • 儲存使用量: 0.005GB-Month, 費用 $0.01
    • API requests: 約20,000次, 費用 $0.08 (指從local上傳的操作)
    • 費用小計: $0.09
  • 總計
    • $0.78

之前在Route53 買的 crazyfan.net 這個Domain, 費用每年$10美金 , 每個月平均 $0.83. 雖然這個Domain不是只有這個Blog專用, 但還是列在這邊,作為參考.

優化

由於是依使用量來決定費用, 所以做了一些降低頻寬使用以及提高檔案快取率的優化:

  1. 使用 CloudFront CDN服務掛載 S3

    • 速度: AWS 在台灣有設節點, 從Hinet 連過去速度在 20 ms 以下
    • https : 甚至可以幫你辦到 http 自動跳轉 https
    • ipv6
    • gzip 壓縮: S3畢竟是簡單的網站代管功能, 若要使用gzip壓縮,一般建議的方式就是掛上CloudFront使用其內建的壓縮功能
  2. 節省頻寬, 將部分常用的 javascript/css 套件路徑, 移到公用的CDN 路徑

    • jQuery: Google CDN
    • bootstrap: Cloudflare
    • Font Awesome: Cloudflare
  3. 使用 Google PageSpeed Insights 檢視不足之處:

    • 壓縮&最小化 js/css
    • 上傳檔案時,新增 cache-control 屬性, 增加瀏覽器快取的機會.

結語

最後還是引用朋友 qrtt1 的名言:

想要得高分,就必須弄懂規則
雲端服務的成本控制與優化, 本質上是一種「規劃」的遊戲