前情提要 #
今天會想特別寫這篇文章主要是想分享我在 AWS 上採到的坑,更進一步來說,架設這個部落格九成的動力來自於這件事。 不過我一直在思考要怎麼比較清楚的來表達這次事件,畢竟被意外多收錢是不太開心,寫出來的文章有點詞不達意。 而我事後做了驗證,只使用一台 EC2 確實不該這麼貴,希望這個經驗可以幫助那些對 AWS 還不熟的朋友省一筆學費。
設定問題 #
我認為我會產生較高額費用是跟自己的學習經驗有關,我大部分是從系上課程學來的,教授使用的應該是官方提供的教材,
學習期間會給你教育版帳號,在時限內可以隨意使用它有開放的資源,完全不需要考慮會造成多少費用,
而官方的教材會教你如何「完善」利用平台資源,所有操作都是以最大化服務可用性為前提去做設定,
下面是官方課程內其中一個 lab:
VPC 跟安全群組是必要設定,沒什麼問題,關鍵是那個 NAT Gateway,簡報裡告訴你 Gateway 是個很好用的東西, 可以快速建立跨不同 AZ 的資料傳輸通道,實驗也設計成將服務同時丟到不同 AZ, 畢竟要盡可能提高可用性,這個是以企業提供服務的角度來說,但我一開始的目標是個人服務, 對可用性要求沒那麼大,很顯然這種方式遠超需求,要命的還是 Gateway 的計費方式,啟用時間與傳輸流量分開算, 依照目前 官網 (參照 NAT 閘道) 所述,東京地區的計價標準為 0.062 USD/hr,0.062 USD/GB,簡單來說,就算只是放著,每小時就會累計 0.062 美金,一個月下來,即使傳輸量不到 1GB, 啟用時間部分就高達 44.64 美元。
所以我在建立新的虛擬機時,就是如法炮製上述設定方法 (我當下認為唯有這樣設定,內外網才可正常連線),
當天將虛擬機設定完成的當天並沒有立即放任何服務上去,我想說晚點再來進行下一步,在我第二天晚上打開帳單時,
看到預測結算費用為 40 美金,想說我什麼都沒都還沒幹就要被收 40 美喔?起初還覺得 484 剛開始用,預測不太準,
就傻傻的多放了幾天,直到發現金額並沒有下降才趕快把服務都先中止,即便如此月底還是被無情的收了一筆,這邊放個月結單:
設定方法 #
其實想要最小花費用這種方式設定就可以了:
這種方式甚至不需要另外申請彈性 IP,在啟動虛擬機時把自動分配 Public IP 的選項打開就好,
這樣的規格根據我學弟的經驗來說,一個月大約只需花費 3 美,比小品牌包月還便宜, 要特別注意子網路關聯那邊,我一開始設定完一直連不上,太久沒設定很容易卡在一些很無聊的問題上XD。
更新: AWS 從 2024 年起更新 Public IPv4 定價,原本綁在 EC2 上的 IP 是免費的, 之後開始會有累進費用,算下來每個月會多 3.6 元的成本,想利用這個方式省錢的未來沒辦法了😭
後記 #
果然實務上的經驗很重要,這部分並不能說 AWS 要故意坑使用者錢,只能說兩邊對 Cost down 的理解不太一樣。
順帶一提:如果你使用後也遇到費用飆高的情形,請先將所有已啟用的服務先中止,切記不要直接停用帳號, 停用帳號的意思是終止該帳戶未來更動設定的存取權 (包含 Admin 和其他下游授權使用者),但是既有的服務會持續運作到期滿, 也就是在這期間費用會照算,對停損不會有幫助喔!