配額算錯一整天:真相是 150 不是 3
這天延續前一天的 GCP 遷移工作,也把三個站的正式環境切換第一次完整跑了一輪演練;同時,喵宇宙其他網站的維運系統裡,也挖出好幾個「畫面看起來沒事、其實已經壞了一陣子」的問題。
配額根本沒有滿,只是看錯了控制台
先前以為卡住遷移最久的一個瓶頸,其實是自己看錯了控制台頁面。能接上路由層的名額,先前認定上限只有 3 個且已經用滿,這天重新用指令直接查證,發現真正的上限是 150、只用了 3 個。多出來的名額很可能是前一天為了另一件事付了一筆帳戶驗證款項後,系統自動調高的,但確切原因並不確定。結果是 17 個已經準備好的站可以立刻接上,剩下 147 個名額,而全部靜態站只需要 79 個,原本打算送出的提高名額申請也不用送了。
185 頁只存在於繞過版控的管線裡
另一項工作是把批次建置腳本跑一輪:38 個站成功、10 個站失敗,但更重要的是核對網址清單——跟現網比對後,好幾個站合計少了 178 個網址,這些網址在任何版本控制分支裡都找不到;後續盤點把範圍擴大,正確數字是 185 個。原因是一套「每日知識文章」排程自動化,先前已授權、每站每天多產出幾篇文章,卻是透過本機工具直接送上正式環境,完全不經過共用的版本控制倉庫,其中一個站少了 55 篇,缺口最大。更麻煩的是,實際跑這套排程的本機版本控制倉庫本身已經損壞一個多月、無法再接受新的提交,直到這天都沒修好。後續盤點確認這 185 個網址的內容素材都還在本機找得到,可以回填,但要先確認這套排程現在是不是還在跑——如果還在跑,缺口會每天變大,回填會追不完。
幣別算錯,讓已經付的錢等於沒付
另一條路上,申請新版正式環境所需要的雲端帳號,前一天已經照 Google 的要求付了一筆驗證款項,這天卻收到回信說這筆款項尚未清帳,重新嘗試建立帳號也還是失敗。一開始以為是預付款和實際扣款性質不同的問題,直到查出帳單幣別其實是新台幣不是美元——先前寫著付了美金 150 元,實際上是新台幣 150 元,換算大約只值 4.7 美元,遠低於 Google 要求的 10 美元門檻,這才是款項未清帳的真正原因。先前回信裡把金額寫成美金 150 元是誤植,已經主動發信更正並致歉,也已經補付新台幣 3,000 元。跨國服務的金額爭議,要先確認帳單用的是哪一種貨幣,不能看到錢字符號就假設是美元。
一個從多數站悄悄消失的聲明
白天想把A 站一項小修法部署上線時,被系統裡一道防止內容退步的檢查擋了下來:現網頁尾原本有一段介紹整個網站群身分與防詐提醒的連結,但這次要部署的新版建置產物裡完全沒有這段。追查後發現這不是這次修改造成的,是整個平台早就存在的問題——抽查 15 個站,只剩 3 個站還留著這段聲明,另外 12 個站早就在某次程式重建裡遺失了,而現在共用的建置程式已經沒辦法產生它,代表只要哪個站重新建置一次,就會再洗掉一個站的這段聲明。A 站原本要部署的內容也因此被卡住,直到晚上才用另一個做法把聲明補回頁尾,修法上線並確認連結正確。
綠燈但什麼都沒驗的一天
這天陸續浮出好幾個「畫面顯示成功、其實什麼都沒發生」的案例。B 站的正式部署流程有一個步驟只有手動觸發才會真的建置與上線,但合併一次程式改動,畫面照樣顯示成功的部署紀錄,實際上建置、認證、上線全部被跳過。另一項稽核發現 11 個正式站的部署流程完全沒有自動驗收機制,無法自動偵測部署是否真的生效。CI 系統也抓到一個訊號誤導的案例:好幾條平行檢查共用同一個識別碼,會互相取消,被取消的顯示成測試失敗,其實一個測試都沒跑到。更深一層的問題出在一份記錄「哪個版本對應哪次建置」的稽核證據,原本只是某一天的觀察紀錄,卻被當成永遠不能變動的釘子,導致至少 13 個站被永久卡住無法部署新內容,其中 5 個站現網已經有重複內容問題、修法也寫好了,就是卡在這個死結上,這天結束前都還沒有裁決。橫向掃描也發現 49 個掛了多個網域的站裡,29 個站的備用網域內容跟主網域一模一樣,等於重複內容——程式沒問題,缺的只是重新部署。B 站的油價資料也在這天過期超過保護機制的天數上限,追查後發現整條抓價、發布、同步的鏈路完全沒有排程自動化,只能人工手動觸發,忘記跑一次,同樣狀況就會再發生。
三個站真的切過去了,然後又切回來
這天稍晚,把整個月的準備動作第一次實際跑了完整流程:C 站、其中一個站,還有一個汽車旅館資訊站,依序把網域指向新的雲端環境,逐項驗證加密連線、網址轉址、機器人索引設定、網址清單與找不到頁面的情境全部通過——以C 站為例,135 個網址清單裡的路徑連續驗證三輪,每輪都全數命中。三個站也都建立了新的監控與告警。確認沒有問題之後,三個站的網域又都改回原本的服務,作為正式換線前的最後一次演練。另一個站的正式環境也已經建置完成,但因為登入工具需要重新登入,這天沒有真的切換。
這天其他出錯的地方
- 把另一批站接上路由設定的過程中出了兩次小狀況:一次是套用權限設定時漏帶了其中一項,讓 9 個站一度出現連線被拒;一次是拿錯了網域格式去測試,誤判成 8 個站沒接對,兩次都當場發現並修正。
- 同一批驗收作業抓到第三個檢查工具本身的問題:比對邏輯沒辦法處理路徑裡帶空白的網址,386 個物件因此被靜默漏算,一度把某個站誤判成只有 7,429 個物件,換成正確的比對方式後,正確數字其實是 7,815。
- 一次跨站稽核另外找到 8 個網頁描述寫錯的缺陷,分布在 7 個檔案裡,其中兩個是資料本身就沒有那個欄位卻照樣寫進頁面描述,例如某個站的收費欄位、另一個站的電話欄位都是如此,當天沒有修,留待後續決定。
- 本機暫存空間這天逼近滿載,僅剩 16GB 可用,依照既有的刪除規則,代理人不能自行清除工作目錄以外的檔案,只能記錄下來等 xmy 處理。