器防扣費指南:計費模型、安全加固與到期退場)
1. 免費云服務(wù)器的五種免費先分清楚你領(lǐng)的是哪一種免費云服務(wù)器這個詞踩過坑的人都知道它有多薛定諤——宣傳頁上寫著零成本賬單出來那一刻才發(fā)現(xiàn)機器是免費的流量不是快照不是公網(wǎng)地址也不是。我第一次領(lǐng)的時候也天真過以為點個立即領(lǐng)取就完事結(jié)果第二個月收到一筆幾十塊的扣款通知翻賬單翻了半小時才定位到是系統(tǒng)盤擴容后的按量計費。從那以后我養(yǎng)成了一個習(xí)慣任何免費資源先看計費文檔再看配置頁。這篇內(nèi)容適合兩類人一類是剛接觸云服務(wù)、想拿免費機器練手學(xué) Linux 或搭個小站的新手另一類是已經(jīng)用過一陣子但對自己賬單構(gòu)成始終說不清楚、心里沒底的人。下面我會把免費這件事拆成五類形態(tài)、三道申請坎、一小時的配置動作、四道防扣費閘門以及免費機的能力邊界全部講透。所有平臺差異我會用某云廠商主流平臺這類泛稱因為各家的規(guī)則大方向一致細(xì)節(jié)數(shù)值請以你實際注冊平臺的當(dāng)期文檔為準(zhǔn)——這點很重要免費政策變動非常頻繁。1.1 試用型、計劃型、永久小規(guī)格、代金券、函數(shù)額度的本質(zhì)差別云廠商嘴里的免費底層邏輯其實只有五種搞混了就會做出錯誤預(yù)期。試用型免費是最常見的通常面向新注冊賬號給一到三個月不等的使用期規(guī)格一般不低2核4G 起步很常見。它的本質(zhì)是獲客成本到期后不會自動關(guān)機而是轉(zhuǎn)成按量付費或按原價包月。這是扣費第一大來源后面會專門講怎么防。計劃型免費指的是學(xué)生計劃、開發(fā)者扶持計劃這類需要額外資質(zhì)認(rèn)證周期往往按年續(xù)期規(guī)格偏低但勝在穩(wěn)定。它的坑在于資格是動態(tài)的你可能某次沒按時完成續(xù)期認(rèn)證機器就悄悄轉(zhuǎn)成付費了。永久免費小規(guī)格是很多人最想要的但現(xiàn)實是這類資源通常限定地域、限定規(guī)格1核1G 或 1核2G 居多、限定月流量而且往往是突發(fā)性能實例CPU 有積分機制。它不是不能用而是不能當(dāng)生產(chǎn)環(huán)境用后面第六章會詳細(xì)說積分耗盡之后的慘狀。代金券與資源包嚴(yán)格說不算服務(wù)器是抵扣憑證。代金券有有效期、有適用范圍有的只能抵新購不能抵扣按量資源包一般綁定具體產(chǎn)品。常見誤解是我賬戶里有 500 元代金券所以隨便開結(jié)果開了一臺代金券不覆蓋的實例規(guī)格錢照扣。函數(shù)計算與容器額度屬于 Serverless 形態(tài)按月給一定的調(diào)用次數(shù)和計算時長。它真正的坑不在錢而在于額度用完直接拒絕服務(wù)你的接口會在某天凌晨突然全部報錯而不是產(chǎn)生賬單——排查時容易往代碼方向找其實是額度耗盡。1.2 三個最容易被忽略的額度維度時長、規(guī)格、流量大部分人看免費政策只盯多久和幾核幾G但真正決定你會不會掏錢的是第三個維度流量與帶寬。維度典型形態(tài)容易踩的坑時長1-3 個月試用 / 按年續(xù)期的計劃 / 長期小規(guī)格到期自動轉(zhuǎn)付費無短信提醒或提醒被忽略規(guī)格1核2G、2核4G、突發(fā)性能型超出規(guī)格的部分磁盤、內(nèi)存單獨計費流量每月固定 GB 數(shù) 或 固定帶寬 Mbps超出按量單價計費且單價往往是包月的數(shù)倍地域僅限特定區(qū)域跨區(qū)訪問產(chǎn)生額外流量費快照跨區(qū)復(fù)制收費數(shù)量限 1 臺 / 限 2 臺多開一臺直接全價我見過最典型的誤判是把1Mbps 帶寬理解成隨便用。算一筆賬1Mbps 約等于 128KB/s滿速跑滿一個月理論上是 128 × 86400 × 30 ≈ 331GB實際由于 TCP 開銷和空閑能跑到 250GB 左右就不錯了。如果你的免費套餐寫的是每月 200GB 流量、超出按量計費那么這臺機器一旦被人刷了圖片或者跑了下載超額部分就是真金白銀。這也是為什么我一直建議免費機的公網(wǎng)入口能不放就不放必須放的話前面加一層緩存或限流。另一個容易被忽略的是數(shù)量維度。很多活動的免費額度是按賬號算而不是按地域算你在 A 地域開了一臺免費機再去 B 地域開第二臺第二臺就是全價。開之前先在控制臺的費用中心確認(rèn)一下自己名下有幾臺在享受優(yōu)惠。2. 申請那一步就開始埋雷賬號、綁卡與庫存很多人以為坑是從配置開始的其實從注冊那一刻就埋下了。我?guī)腿丝催^不少莫名其妙被扣費的案例追根溯源都是申請環(huán)節(jié)沒搞清楚規(guī)則。這一章講三件事賬號資質(zhì)、綁卡預(yù)授權(quán)、以及領(lǐng)取入口的現(xiàn)實問題。2.1 實名認(rèn)證與賬號權(quán)重主流平臺現(xiàn)在基本都要求實名才能開資源這是硬性門檻。但很多人不知道的是賬號本身是有權(quán)重概念的新賬號、無消費記錄賬號、異地登錄頻繁的賬號在領(lǐng)取免費資源時更容易觸發(fā)風(fēng)控表現(xiàn)為領(lǐng)取按鈕點不動提示當(dāng)前活動名額已滿需要人工審核。我自己的經(jīng)驗是注冊后先完成實名、綁定一個常用手機號、不要在同一天內(nèi)頻繁切換網(wǎng)絡(luò)環(huán)境登錄然后把賬號放一兩天再回來領(lǐng)成功率明顯比注冊完立刻搶要高。這不是玄學(xué)風(fēng)控系統(tǒng)對新賬號的評估需要一點行為數(shù)據(jù)。另外要注意賬號與賬號之間的關(guān)聯(lián)。同一身份證、同一手機號、同一支付方式關(guān)聯(lián)的多個賬號通常被視為同一主體免費額度不疊加。有人想用家人的信息再注冊一個來多領(lǐng)一臺這在規(guī)則上大概率是違規(guī)的而且一旦被判定為批量注冊已有的免費資源也可能被回收得不償失。2.2 綁卡預(yù)授權(quán)為什么會先扣一筆這是咨詢量最高的一個問題我領(lǐng)的是免費機器為什么綁卡時被扣了一筆錢絕大多數(shù)情況是預(yù)授權(quán)不是真實扣款。平臺為了驗證支付方式有效性會發(fā)起一筆小額授權(quán)常見 1 元上下或者按當(dāng)?shù)刎泿诺淖钚挝贿@筆錢會在幾天到兩周內(nèi)自動解凍退回。你可以在賬單的授權(quán)/凍結(jié)明細(xì)里看到它狀態(tài)一般是處理中或已解凍。真正的扣費會出現(xiàn)在消費明細(xì)里兩者要分清。但預(yù)授權(quán)之外還有一種情況需要警惕部分平臺的免費套餐要求先付費后返或者押金模式也就是先按正常價格扣費滿足條件后在次月以代金券形式返還。這種模式的坑在于如果你在中途改了配置、或者提前釋放了實例返還條件就不滿足了。所以我的一般做法是綁卡前把活動規(guī)則頁從頭到尾讀一遍重點找返還抵扣有效期變更后是否仍享受這幾個關(guān)鍵詞。還有一種更隱蔽的綁卡時勾選了某個自動續(xù)費享折扣的協(xié)議。這個勾選框往往在頁面角落字號很小。它不影響你當(dāng)下免費但會在免費期結(jié)束時自動幫你續(xù)上一年。第二章講防扣費時會給出具體的關(guān)閉路徑思路。2.3 領(lǐng)取入口、地域與庫存的現(xiàn)實問題免費資源不是無限供應(yīng)的。熱門地域一線城市的機房的免費庫存經(jīng)常是零你點進去看到的是暫無可領(lǐng)取資源。這時候有兩個選擇換一個冷門地域或者等每天固定時段補庫存。換地域要考慮代價冷門地域到你這邊的網(wǎng)絡(luò)延遲可能高出一截如果你打算搭個對外的站點訪問體驗會受影響。我的建議是先測延遲再決定別為了搶免費名額把自己放到一個 200ms 起步的節(jié)點上。還有一個實際操作層面的細(xì)節(jié)領(lǐng)取頁面和購買頁面經(jīng)常是兩個入口界面長得幾乎一樣但一個是 0 元訂單一個是正常計費訂單。我見過有人手滑在購買頁選了同樣的規(guī)格因為頁面默認(rèn)勾選了三年的時長一提交就是一筆不小的支出。下單前一定要看訂單確認(rèn)頁的總價是不是 0以及計費模式寫的是包年包月優(yōu)惠還是按量付費。這兩欄對不上就退回去重來。3. 開機后的第一小時把最小可用且安全的環(huán)境搭起來機器開出來之后第一小時做什么直接決定了你后面是省心還是天天救火。我的固定動作是四步選鏡像、換登錄方式、收安全組、跑基礎(chǔ)腳本。這套流程十來分鐘能走完但能擋掉后續(xù)八成的麻煩。3.1 鏡像選擇為什么我不建議新手直接上帶面板的鏡像控制臺提供的鏡像大致分三類純凈系統(tǒng)鏡像各種 Linux 發(fā)行版、Windows Server、應(yīng)用鏡像預(yù)裝了運行環(huán)境、以及帶可視化面板的鏡像。新手容易被一鍵部署、面板管理吸引但從安全和成本兩個角度看我都不推薦在免費機上用帶面板的鏡像。原因有三面板本身會常駐占用內(nèi)存1核1G 的機器上一個面板吃掉兩三百兆很常見剩下的內(nèi)存跑不了什么面板的默認(rèn)端口是公開已知的等于給掃描器指了路面板自身的版本更新如果跟不上反而是個穩(wěn)定的攻擊面。我的選擇是Debian 或 Ubuntu 的 LTS 精簡版原因很實在軟件源穩(wěn)定、社區(qū)文檔多、出問題好搜。CentOS 系現(xiàn)在分支比較亂新手容易在源配置上卡住。Windows Server 除非你要跑特定的桌面程序否則在 1核2G 的免費機上體驗極差光系統(tǒng)本身就能把內(nèi)存吃滿。系統(tǒng)盤大小也要看一眼。免費套餐常常只給 20-40GB 系統(tǒng)盤而某些鏡像默認(rèn)就要 40GB 起步選完鏡像后系統(tǒng)盤會被自動擴容到更大值這部分差額是收費的。下單頁面上系統(tǒng)盤 40GB這一行如果不在免費額度內(nèi)改成最小可用值。3.2 密鑰登錄與 SSH 加固的實際操作密碼登錄 默認(rèn) 22 端口是免費機被爆破的標(biāo)準(zhǔn)配置。免費機因為 IP 段集中、防護等級低是掃描器的重點目標(biāo)。我見過一臺開機不到 24 小時、日志里幾萬條失敗登錄記錄的。正確的做法是創(chuàng)建實例時選擇密鑰對登錄或者開機后立刻把自己的公鑰寫進~/.ssh/authorized_keys然后關(guān)掉密碼登錄。具體操作# 本地生成密鑰對如果沒有 ssh-keygen -t ed25519 -C free-server -f ~/.ssh/free_server # 把公鑰內(nèi)容復(fù)制到服務(wù)器 ssh-copy-id -i ~/.ssh/free_server.pub useryour-ip登錄成功后再改配置注意先確認(rèn)密鑰能登上再關(guān)密碼順序反了就把自己鎖外面了sudo sed -i s/^#\?PasswordAuthentication.*/PasswordAuthentication no/ /etc/ssh/sshd_config sudo sed -i s/^#\?PermitRootLogin.*/PermitRootLogin no/ /etc/ssh/sshd_config sudo sshd -t # 先校驗配置語法別直接重啟 sudo systemctl restart sshdsshd -t這一步千萬別省。我吃過一次虧改配置時手滑多打了個字符直接restart服務(wù)起不來控制臺的 VNC 又卡得要命最后是靠救援模式進去改回來的前后折騰四十分鐘。有這個校驗命令一秒鐘就能發(fā)現(xiàn)問題。如果確實需要保留密碼登錄比如臨時給朋友用至少做兩件事改 SSH 端口到非 22、裝個 fail2ban 做失敗次數(shù)封禁。改端口只是降低噪音不是安全措施真正起作用的是密鑰 封禁。3.3 安全組只放必要端口安全組是云上的第一道墻規(guī)則寫寬了等于沒有墻。免費機上常見的錯誤是圖省事直接放行全部端口或者入方向 0.0.0.0/0 全開然后忘了這回事。我的原則是默認(rèn)全拒按需白名單。一張表說清楚哪些端口該開端口用途建議來源22或自定義SSH 管理僅自己的固定公網(wǎng) IP不要 0.0.0.0/080 / 443Web 服務(wù)0.0.0.0/0必須對外時3306 / 6379 / 27017數(shù)據(jù)庫絕不對外只允許同內(nèi)網(wǎng)8080 / 3000 等應(yīng)用調(diào)試僅自己 IP調(diào)試完關(guān)掉全部—默認(rèn)拒絕數(shù)據(jù)庫端口暴露在公網(wǎng)是極其常見的事故來源。免費機如果只跑自己的練手項目數(shù)據(jù)庫和本機應(yīng)用通信走127.0.0.1就夠了根本不需要開公網(wǎng)端口。有人為了方便用圖形工具連數(shù)據(jù)庫把 3306 全量放行幾天后數(shù)據(jù)被清空的情況我見過不止一次。在服務(wù)器內(nèi)部再補一層主機防火墻形成雙保險sudo apt update sudo apt install -y ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow from 你的固定IP to any port 22 proto tcp sudo ufw allow 80,443/tcp sudo ufw --force enable sudo ufw status verbose注意ufw allow from ...那條務(wù)必先加白名單再 enable否則 SSH 會斷。云控制臺的安全組和主機防火墻是兩套東西兩邊規(guī)則不一致時以更嚴(yán)格的為準(zhǔn)這也是排查端口明明開了卻連不上的第一檢查點。3.4 一套十分鐘跑完的基礎(chǔ)環(huán)境腳本新機初始化我固定跑這么一段作用是補齊常用工具、開時間同步、限制日志膨脹、開自動安全更新#!/usr/bin/env bash set -euo pipefail # 1. 基礎(chǔ)工具 sudo apt update sudo apt install -y curl wget git vim htop tmux unzip jq fail2ban # 2. 時區(qū)與時間同步很多人忽略日志時間對不上排查很痛苦 sudo timedatectl set-timezone Asia/Shanghai sudo timedatectl set-ntp true # 3. 日志限制防止把系統(tǒng)盤寫滿 sudo sed -i s/^#\?SystemMaxUse.*/SystemMaxUse200M/ /etc/systemd/journald.conf sudo systemctl restart systemd-journald # 4. 自動安全更新 sudo apt install -y unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades # 5. fail2ban 默認(rèn)規(guī)則啟用 sshd sudo systemctl enable --now fail2ban sudo fail2ban-client status sshd磁盤寫滿是免費機上最高頻的故障之一而且癥狀很迷惑SSH 能登但任何寫操作都失敗網(wǎng)站報 500數(shù)據(jù)庫直接掛。原因通常是日志或者臨時文件撐爆了 20GB 的小盤。所以上面第 3 步的限制很有必要另外每月定期看一眼df -h # 容量 df -i # inode小文件多的時候 inode 先滿 du -sh /var/log/* | sort -rh | head -10df -i這一條尤其容易被漏掉。有些場景磁盤還剩十幾個 G但 inode 用滿了照樣寫不進去這時df -h看著很健康人會往別處找原因白白浪費半天。4. 錢到底是從哪流走的計費模型逐項拆解這一章是整篇的核心。免費機扣費從來不是機器開始收費了這么簡單絕大多數(shù)是小額、分散、不易察覺的資源在同時計費。我把它們分成三類計算、網(wǎng)絡(luò)、存儲。4.1 包年包月、按量付費、搶占式實例的適用邊界計費模式計費粒度停機是否收費適合場景包年包月按周期預(yù)付是資源為你保留長期穩(wěn)定運行、可預(yù)期的負(fù)載按量付費按秒/小時取決于是否開啟節(jié)省停機模式公網(wǎng)IP和云盤通常仍收費短期測試、臨時壓測搶占式/競價按秒價格浮動是可中斷的批處理任務(wù)免費試用到期后默認(rèn)的轉(zhuǎn)換方向往往是按量付費這是最危險的一種。因為按量付費的單價看起來不高比如每小時幾毛但它是 7×24 累積的一個月下來可能是包月的兩三倍。而且按量付費的實例你即使在里面關(guān)機只要沒選擇節(jié)省停機模式計算資源依然計費。這里有個特別容易誤解的點在操作系統(tǒng)里執(zhí)行shutdown和 在控制臺執(zhí)行停止實例是兩回事。前者只是系統(tǒng)關(guān)機云平臺認(rèn)為實例仍在運行后者才是真正的停止操作。我見過有人習(xí)慣性sudo poweroff以為不花錢了實際賬單照走。所以我的做法是免費期一結(jié)束先確認(rèn)計費模式如果是按量付費要么改成包月要么直接釋放。不要留著一臺先放著說不定以后用得上的按量實例它每個月都在安靜地吃錢。4.2 帶寬與流量兩種計費方式差出好幾倍網(wǎng)絡(luò)費用是免費機超額扣費的頭號來源而新手最容易在這里搞混兩種模式。固定帶寬計費你買 1Mbps 或 5Mbps按月付固定費用用不用都這個價超出帶寬峰值會被限速但不會額外扣錢。這種方式的特點是費用可預(yù)測、不會爆表。按使用流量計費不限制帶寬峰值或者峰值很高但按實際流出的 GB 數(shù)收費。單價看起來便宜問題是不可預(yù)測。網(wǎng)站被爬、圖片被外鏈、視頻被人轉(zhuǎn)發(fā)流量可以在幾個小時內(nèi)跑掉幾百 GB。按量流量的單價通常是包月帶寬折算下來的數(shù)倍。舉個粗略的量級對比同樣是每月 300GB 出流量包月固定帶寬的成本可能只是按量流量計費的三分之一到一半。所以只要你的負(fù)載是持續(xù)穩(wěn)定的固定帶寬幾乎總是更劃算反過來如果你的流量是偶發(fā)峰值比如每月只有幾天有大批量訪問按量才合適。免費套餐里通常給的是每月 N GB 流量本質(zhì)是按量流量 免費額度。這意味著一旦超出自動轉(zhuǎn)成計費沒有二次確認(rèn)。所以我給免費機的建議是二選一要么把帶寬設(shè)得很低1Mbps并接受慢要么在前面套一層對象存儲/CDN 把靜態(tài)資源分流出去減輕機器本身的出流量。后者雖然對象存儲也要錢但靜態(tài)資源的單位成本遠(yuǎn)低于服務(wù)器出流量??焖僮圆楫?dāng)前流量消耗# 實時看網(wǎng)卡累計流量單位字節(jié) cat /proc/net/dev # 或者用 vnstat 做按天統(tǒng)計 sudo apt install -y vnstat sudo vnstat -dvnstat裝完之后跑一天就有數(shù)據(jù)了能看到每天的出入流量趨勢。發(fā)現(xiàn)某天流量異常飆升第一時間查訪問日志看是爬蟲、被刷還是配置錯誤導(dǎo)致的循環(huán)請求。4.3 存儲與快照這些配角的賬單計算和網(wǎng)絡(luò)之外還有一堆看起來不起眼、加起來不少的資源。云盤系統(tǒng)盤在免費額度內(nèi)但數(shù)據(jù)盤、擴容部分、以及高性能云盤SSD/ESSD 類型都是單獨計費的。把系統(tǒng)盤從 40GB 擴到 100GB多出來的 60GB 按月收費這個費用很多人是看不到的因為它混在存儲類目里??煺瞻磳嶋H占用容量計費。自動快照策略如果開著且沒設(shè)保留數(shù)量會一直累積。我見過一個開了兩年沒管的賬號快照存了幾百 GB。免費機上快照要手動管理或者干脆用腳本把數(shù)據(jù)打包傳到本地別依賴云快照。鏡像與自定義鏡像自定義鏡像本身可能收費跨地域復(fù)制鏡像更是按容量計費。公網(wǎng) IP / 彈性 IP綁定在運行實例上通常免費或包含在內(nèi)但閑置的彈性 IP 是要收費的。這個設(shè)計邏輯是防止地址囤積但對用戶來說很反直覺——不用的東西反而收費。釋放實例時記得一并釋放 IP。負(fù)載均衡、NAT 網(wǎng)關(guān)、日志服務(wù)、監(jiān)控告警這些增值服務(wù)大多有免費額度超出后按量計費。免費機上基本用不到但如果跟著某些一鍵部署模板創(chuàng)建出來了就會持續(xù)產(chǎn)生小額費用。4.4 一張隱性收費清單建議對著自查資源項免費額度內(nèi)常見觸發(fā)扣費的動作實例規(guī)格指定規(guī)格升級 CPU/內(nèi)存、變更機型系統(tǒng)盤20-40GB選大鏡像導(dǎo)致自動擴容數(shù)據(jù)盤通常不含掛載新盤、擴容快照少量或沒有開啟自動快照且不設(shè)保留數(shù)公網(wǎng)帶寬1Mbps 或固定流量調(diào)高帶寬、流量超限彈性 IP綁定狀態(tài)免費解綁后未釋放對象存儲少量存儲請求數(shù)靜態(tài)資源外鏈、請求次數(shù)超限日志與監(jiān)控基礎(chǔ)額度開啟全量日志采集備份服務(wù)通常不含開啟數(shù)據(jù)庫自動備份對照這張表去費用中心把每一項的當(dāng)期用量和免費額度拉出來比一比能立刻發(fā)現(xiàn)哪些在悄悄計費。這個動作我建議每月做一次五分鐘的事。5. 防扣費的四道閘門告警、續(xù)費、巡檢、權(quán)限前面講的是錢從哪來這一章講怎么攔住。我的做法是設(shè)四道閘門從被動到主動依次是預(yù)算告警、續(xù)費管理、定期巡檢、權(quán)限與密鑰管控。四道都設(shè)上基本可以做到即使出事也能第一時間知道。5.1 預(yù)算告警怎么設(shè)才有用大多數(shù)平臺的費用中心都有預(yù)算或費用預(yù)警功能但默認(rèn)配置往往很雞肋——比如閾值設(shè)成 1000 元你一個月才花 50永遠(yuǎn)觸發(fā)不了等于沒設(shè)。有用的配置是這樣的設(shè)一個月度預(yù)算金額設(shè)為你心理預(yù)期的上限哪怕只有 20 元然后在 50%、80%、100% 三個檔位都開通知通知方式至少勾選短信或郵件別只勾站內(nèi)信站內(nèi)信你不登錄就看不見。這樣只要有一天突然產(chǎn)生了幾塊錢的非預(yù)期費用當(dāng)天就能收到提醒。更細(xì)一層可以按產(chǎn)品維度拆分預(yù)算比如單獨給網(wǎng)絡(luò)和存儲設(shè)預(yù)算。因為這兩類是超額扣費的高發(fā)區(qū)分開設(shè)能更快定位。還有一類告警容易被忽略余額不足提醒。賬戶余額接近 0 的時候按量資源可能被停服但更麻煩的是有些平臺會先扣費再通知如果你綁了信用卡可能會產(chǎn)生一筆預(yù)期外的扣款。余額提醒設(shè)置成低于 50 元就行。5.2 自動續(xù)費與到期前的動作清單自動續(xù)費這個開關(guān)本質(zhì)上是把決策權(quán)交給了平臺。免費期結(jié)束時它默認(rèn)幫你續(xù)上而續(xù)費價格通常是原價不是活動價。我的處理方式是領(lǐng)到免費資源的第一天就去把自動續(xù)費關(guān)掉然后在日歷里加一條到期前七天的提醒。關(guān)掉自動續(xù)費不會影響你當(dāng)期使用只是到期后不再自動扣錢。到期前七天按這個清單走一遍導(dǎo)出所有需要保留的數(shù)據(jù)代碼、數(shù)據(jù)庫、配置文件、證書打包下載到本地確認(rèn)沒有正在運行的重要任務(wù)檢查是否有掛載的數(shù)據(jù)盤、彈性 IP、快照等附屬資源決定是續(xù)費、遷移還是釋放如果釋放先釋放附屬資源再釋放實例順序反了可能產(chǎn)生殘留計費第 5 條的順序很多人不知道。先釋放實例、后釋放 IP 和云盤往往會導(dǎo)致這些資源變成無主狀態(tài)繼續(xù)計費。正確順序是先解綁再刪除最后確認(rèn)資源列表里干干凈凈。5.3 每周賬單巡檢看哪幾個數(shù)賬單頁面信息量很大但真正需要每周看的就四個數(shù)當(dāng)期應(yīng)付金額和上周比有沒有非預(yù)期的增量按量付費明細(xì)按產(chǎn)品分組看哪個產(chǎn)品在產(chǎn)生費用資源實例列表有沒有你不認(rèn)識的實例尤其是按量付費的代金券與資源包余額什么時候過期剩多少第二個數(shù)最關(guān)鍵。我一般的排查路徑是先看總額有沒有異常有異常就按產(chǎn)品下鉆定位到具體產(chǎn)品后看用量曲線用量曲線突然抬頭的那一天去查操作日志誰在什么時候改了什么。這條路徑基本能在十分鐘內(nèi)定位到根因。如果發(fā)現(xiàn)賬單里出現(xiàn)了自己完全沒印象的產(chǎn)品先別急著認(rèn)為是平臺出錯大概率是某個一鍵部署或者創(chuàng)建實例時默認(rèn)勾選帶出來的關(guān)聯(lián)資源。5.4 訪問密鑰泄露最貴的一種免費這一節(jié)我想單獨拎出來講因為它的破壞力和其他坑不是一個量級。云平臺一般會提供訪問密鑰API Key / AccessKey用于程序調(diào)用。這對密鑰的權(quán)限通常等同于賬號本身。一旦泄露——比如你不小心提交到了公開的代碼倉庫、貼在了聊天群里、或者寫在了前端代碼里——攻擊者可以在幾分鐘內(nèi)用你的賬號批量創(chuàng)建高配實例用于某些消耗性用途幾小時后你的賬單可能是五位數(shù)。這類事件的典型特征是賬單在幾小時內(nèi)暴漲、資源列表里出現(xiàn)大量你沒創(chuàng)建過的實例、創(chuàng)建時間集中、地域分散。而且攻擊者往往會同時創(chuàng)建多個賬號下的資源、開啟各種高配規(guī)格就是為了在你反應(yīng)過來之前最大化消耗。防護措施很明確不要在主賬號上創(chuàng)建長期密鑰用子賬號 最小權(quán)限密鑰不要寫進代碼用環(huán)境變量或者配置文件并加入.gitignore提交代碼前跑一遍密鑰掃描開啟操作審計異常創(chuàng)建操作能收到告警一旦懷疑泄露立即禁用密鑰、檢查資源列表、提交工單# 提交前的簡易自查搜常見密鑰特征 grep -rnE (AccessKey|SecretKey|api[_-]?key|token)\s*[:]\s*[\][A-Za-z0-9/]{16,} . \ --include*.py --include*.js --include*.yaml --include*.json這個 grep 只能兜住最粗心的情況正經(jīng)項目還是該上專門的密鑰掃描工具并且把.env之類文件提前寫進.gitignore。5.5 用腳本把巡檢做成自動化手動巡檢容易忘所以我寫了個小腳本放在本地每周一早上跑一次把關(guān)鍵指標(biāo)拉出來看一眼。這里貼個思路框架各平臺 API 不同替換成對應(yīng) SDK 即可#!/usr/bin/env bash # 每周巡檢提醒磁盤、流量、到期時間、異常進程 set -uo pipefail HOSTyour-server REPORT/tmp/weekly-check-$(date %F).txt { echo 磁盤 ssh $HOST df -h / df -i / echo 本月流量 ssh $HOST vnstat -m | tail -5 echo 高占用進程 ssh $HOST ps aux --sort-%cpu | head -8 echo 異常外聯(lián)挖礦類常見特征 ssh $HOST ss -tunp | grep ESTAB | head -20 } $REPORT 21 grep -qiE 100%|No space $REPORT echo 警告磁盤可能已滿 echo 報告已生成$REPORT腳本本身不復(fù)雜價值在于把想起來才查變成固定時間自動查。磁盤滿、CPU 被不明進程吃滿、有異常外聯(lián)這三類是免費機上最常見的問題一張報告全能看到。6. 免費機的性能天花板與退場方式最后一章聊聊預(yù)期管理。免費機不是縮水版的生產(chǎn)服務(wù)器它是夠你練手和跑輕量服務(wù)的資源認(rèn)清邊界比優(yōu)化技巧更重要。6.1 CPU 積分耗盡后會發(fā)生什么免費機大概率是突發(fā)性能實例它的 CPU 不是隨時能跑滿而是有一個基準(zhǔn)線比如 20%加積分池。平時負(fù)載低的時候攢積分需要突發(fā)的時候消耗積分沖高。積分耗盡之后CPU 會被硬限制在基準(zhǔn)線表現(xiàn)出來就是機器沒掛SSH 能登但所有操作慢得像 PPT編譯一個包能跑十分鐘。這個機制最坑的地方在于它沒有明顯報錯。你看到的是網(wǎng)站變慢了接口超時了本能反應(yīng)是去查代碼、查數(shù)據(jù)庫結(jié)果查半天發(fā)現(xiàn)是 CPU 被限了。所以在突發(fā)性能實例上第一排查動作應(yīng)該是看 CPU 使用率和積分余額而不是翻代碼。避免的方法把常駐的高 CPU 任務(wù)編譯、轉(zhuǎn)碼、爬蟲、批量處理挪到本地或者臨時開一臺按量實例跑完就釋放常駐服務(wù)控制在低負(fù)載水平給關(guān)鍵任務(wù)加超時和重試別讓它卡死在那里耗積分。6.2 適合跑什么不適合跑什么我把免費機的適用范圍整理成了一張表判斷標(biāo)準(zhǔn)就兩條能不能容忍中斷、會不會產(chǎn)生持續(xù)的公網(wǎng)流量。用途是否適合原因Linux 命令練習(xí)、環(huán)境搭建學(xué)習(xí)很適合中斷了重開就行個人筆記、靜態(tài)博客適合流量小可加緩存輕量 API 練手、定時任務(wù)適合負(fù)載低小型數(shù)據(jù)庫自己練習(xí)用謹(jǐn)慎內(nèi)存吃緊別存重要數(shù)據(jù)圖片/文件下載站不適合流量費不可控視頻轉(zhuǎn)碼、持續(xù)高 CPU 任務(wù)不適合積分耗盡性能斷崖對外正式服務(wù)不適合到期中斷、無 SLA存放唯一一份重要數(shù)據(jù)絕對不適合到期釋放數(shù)據(jù)不會保留倒數(shù)第二條值得展開說。免費資源沒有可用性承諾平臺可以因為維護、資源調(diào)整或者政策變更隨時回收。把唯一一份的數(shù)據(jù)放在上面等于把風(fēng)險敞口開到最大。我見過有人把幾年的照片庫放在免費機上到期忘了續(xù)機器釋放數(shù)據(jù)全沒。6.3 到期前的數(shù)據(jù)遷移與資源清理到期不是關(guān)機就完事而是一套完整動作。我通常按這個順序做打包數(shù)據(jù)代碼從 Git 拉數(shù)據(jù)庫導(dǎo)出 SQL配置文件單獨打包證書別忘了校驗完整性下載到本地后解壓、算個校驗和確認(rèn)沒丟文件遷移到新環(huán)境如果換機器先在新機器上把服務(wù)跑通再下線舊的清理資源解綁彈性 IP → 刪除快照 → 刪除數(shù)據(jù)盤 → 釋放實例確認(rèn)賬單歸零第二天再看一眼費用中心確認(rèn)沒有殘留的按量計費# 打包前的標(biāo)準(zhǔn)動作 mysqldump -u root -p --databases your_db /tmp/backup.sql tar -czf /tmp/site-$(date %F).tar.gz /var/www /etc/nginx /etc/ssl/private sha256sum /tmp/backup.sql /tmp/site-*.tar.gz # 傳到本地 scp useryour-ip:/tmp/backup.sql ./第 4 步的順序再強調(diào)一次先解綁、再刪除。資源之間是有依賴關(guān)系的實例還在的時候刪 IP 可能刪不掉實例刪了之后 IP 又變成閑置狀態(tài)繼續(xù)計費。清理完去資源列表確認(rèn)一下看到全部資源為空才算干凈。最后分享一個我自己在用的判斷原則任何免費資源只要它需要綁支付方式、需要實名、需要定期手動維護那它的真實成本就不只是錢還包括你的注意力。所以我的做法是——免費機只做一件事做完就釋放不要讓它長期掛在那里成為一個你偶爾想起來、又不敢徹底關(guān)掉的包袱。真需要一個長期穩(wěn)定的環(huán)境選一臺最便宜的包月小規(guī)格把不確定的按量計費擋在外面反而更省心。