跳到主要內容

從伊朗無人機攻擊事件中找出那些 AWS 沒跟你說的事

2026 年 3 月 1 日凌晨,伊朗對杜拜的無人機攻擊讓 AWS ME-CENTRAL-1(UAE)區域的兩座資料中心同時受創,引發了大規模的服務中斷。EC2、S3 、DynamoDB 、Lambda 、RDS、Kinesis等關鍵服務停擺,整個 Region 的基礎設施幾乎崩潰。

比事件本身更值得深究的是, AWS 的官方更新報告在字裡行間所洩露的訊息:那些平時被反覆引用的雲端架構承諾,在這次事件面前一個接一個地開始鬆動。

以下問題點,全部來自 AWS 親口說出的原文。

可用區域「貌離神合」

AWS 官方反覆強調每個可用區域(Availability Zone)是獨立的實體機房,有獨立的電力供應、網路連線和冷卻系統,彼此之間的故障不會相互影響。理論上,只要你把服務跑在正常的 AZ,就應該沒事。

"The third Availability Zone (mec1-az1) continues to operate normally, though some services have experienced indirect impact due to dependencies on the affected zones."

mec1-az1 實體上沒有受損,電力正常、機器還在跑,但因為服務層面的跨 AZ 依賴,它也跟著出問題了。AZ 的物理隔離確實存在,但「服務隔離」顯然是另一回事,而 AWS 在宣傳時常常讓這兩個概念混用。

“Amazon EC2 instance launches remain throttled in the ME-CENTRAL-1 Region and will be relaxed as foundational service recovery and capacity allow.”

假設一個企業服務在 ME-CENTRAL-1 使用 Multi-AZ Auto Scaling 部署,機器分散在 az1、az2、az3。目前 az2 和 az3 已經嚴重受損,導致這兩個 AZ 機器不可用,因此流量很可能會集中到仍然正常運作的 az1。

但 AWS 目前對 az1 新增機器的動作進行限制,Auto Scaling 很可能無法啟動新的機器來補充容量,因此剩餘的機器也無法承受原本的流量負載。

壞一個沒問題,那壞兩個呢?

AWS 在報告中表示 S3 的設計只保護你抵抗單一 AZ 全損。ME-CENTRAL-1 只有三個 AZ,一次失去兩個,S3 的冗餘設計直接失效。

"Amazon S3 is a regional service and designed to withstand the total loss of a single Availability Zone while maintaining S3's durability and availability… As the second AZ became impaired, S3 error rates increased. With two Availability Zones significantly impacted, customers are seeing high failure rates for data ingest and egress."

另外AWS S3 的招牌賣點是 99.999999999% 的資料耐久性。這個數字出現在無數銷售簡報、架構討論和客戶提案之中,暗示你的資料幾乎不可能丟失。

"Full recovery of GET operations for pre-existing data remains dependent on restoring the affected infrastructure."

你金庫裡有錢,但櫃員跟你說現在不能領。耐久性(Durability)描述資料不會遺失,可用性(Availability)描述你能不能存取它,這兩個概念在客戶心中模糊化,讓人誤以為「資料不會丟」等於「隨時讀得到」。

有福同享,有難同當

雲端服務的模組化設計是重要賣點之一,每個服務獨立部署、獨立擴展、獨立容錯。客戶可以「只用 Lambda」或「只用 RDS」,服務之間理應有清楚的邊界。

"AWS Lambda, Amazon Kinesis, Amazon CloudWatch, Amazon RDS, and a number of other AWS services that were impacted by this event remain degraded. The availability of these services is dependent on the recovery of our foundational services — primarily Amazon S3 and Amazon DynamoDB — and we expect to see improvement across these services as that recovery progresses."

Lambda、Kinesis、CloudWatch、RDS⋯⋯這些在 AWS 服務目錄上看起來各自獨立的產品,骨子裡全都依賴同一批基礎服務(S3 和 DynamoDB)。
一旦基礎服務倒下,這些「獨立服務」就像牌樓一樣跟著倒。雲端服務的模組化在功能層面是真的,在故障隔離層面卻遠不如宣傳的那樣完善。

當最需要你的時候,你卻不在了

災難發生時,維運人員的第一直覺是登入 Console 或執行 CLI 來啟動備援計畫、修改 DNS 路由或是開始進行跨區域備份(如果平常沒設定)。由於兩個 AZ 的失效,導致 Console 與 CLI 工具同樣受到影響。

"We can confirm that the AWS Management Console and command line interface (CLI) are disrupted by the failure of two Availability Zones."

當你 Console 登不進去、CLI 也無法執行的時候,如果企業沒有事先準備完全自動化的容錯移轉(例如設定 Route53 failover, Terraform deploy)、或資料跨區雙向同步,手動撤離幾乎是不可能的任務。

雖然在 Well-Architeure 中的可用性支柱有提到控制平面可能會無法使用:

Consider scenarios where the primary site and its control plane are inaccessible. Verify that recovery actions can be performed independently without reliance on the primary site.

但實務上有多少企業或開發者會想的到呢?

誰叫你平常不買保險,出事不能怪我

這是整個事件報告中最微妙、也最值得深思的一點。從第一份重大更新開始,AWS 就持續在報告末尾附上同樣的段落:

"We strongly recommend that customers with workloads running in the Middle East take action now to migrate those workloads to alternate AWS Regions. Customers should enact their disaster recovery plans, recover from remote backups stored in other Regions, and update their applications to direct traffic away from the affected Regions."

這段話的弦外之音是:如果你沒有 DR 計畫,尤其是跨 Region 的 DR,那就是你的問題。而跨 Region 的備援架構代表著高昂的額外成本,在成本壓力之下,可以理解許多中小企業或開發者並未採用。

雲端就是別人的電腦

面對無人機直接攻擊資料中心這種前所未有的事件,不管是 AWS、GCP、Azure 還是任何一個雲端供應商恐怕都難以全身而退。工程師在極端惡劣的條件下持續更新狀態、嘗試軟體層面的補救方案,這份努力值得肯定。

但作為使用者,我們需要從這次事件中了解到:雲端服務的「高可用性」宣傳,有其明確的邊界條件,而這些邊界條件不會出現在銷售簡報上,往往被隱藏在技術文件的細節裡。

在中東戰爭局勢升溫的今天,任何在該區域有業務的企業,都應該重新審視自己的雲端架構。不是因為 AWS 不好,而是因為真正的韌性從來不依賴單一供應商的承諾。

留言

這個網誌中的熱門文章

2025 GCP Associate Cloud Engineer 題型分享

考試時間:2025/07 考試時長:2 小時 權限設定相關問題佔比重大:Organization、IAM 和 Service Account 至少十題以上 帳單分析:透過 Export 功能結合 BigQuery Spanner 全球關聯式資料庫核心概念 gcloud Compute 常用指令 SSH 安全連線最佳實踐 Cloud Run 服務特性與應用場景 GKE 基礎架構與使用方式 Load Balancer 類型與應用(內部/外部、全球/區域) Storage Bucket 版本控制與生命週期管理 Storage Data Lake 應用(結構化與非結構化資料儲存) AlloyDB 特點與優勢(增強版 PostgreSQL) Filestore 作為 VM 的 NFS 解決方案 GCP 現代化與全託管服務特性 Pub/Sub 訊息系統與其他服務整合應用 VPC 網路架構與 Landing Zone 網路設計

AWS 與 GCP VPN 窮連與富連設定

  在工作場景中,自己接觸到很多客戶透過VPN來連結多雲架構,於是決定實作連結AWS和GCP。 這篇文章整理 GCP Cloud VPN 與 AWS Site-to-Site VPN 的對接架構,並分別省錢版與企業版。 情境一:只是想連線測試或主管叫我省錢 這是省錢版,當你只是想測試連線功能,或主管叫你要省錢。 AWS 端設定 一個 Customer Gateway 填入GCP的固定IP 一個 Virtual Private Gateway 建立並與要測試連線的 VPC 關聯 一個 VPN Connection 因為 GCP Classic VPN Gateway 已經不支援BGP動態路由 ,因此設定 Routing options 時要選擇Static,並填上GCP要測試的 VPC 網段 確認Connection Static Route頁面有出現VPC網段 要測試連線的VPC子網路由表啟用Route Propagation(或手動加上要測試的網段) GCP 端設定 一個固定IP 建立一個固定IP 一個Classic VPN Gateway 因為在GCP建立VPN Gateway預設會啟用HA設定(也就是給你兩個Interface),所以必須手動調整為建立Classic VPN Gateway 一條VPN Tunnel 按照AWS Tunnel 1 or 2的資訊來填入Remote peer IP address(也就是Outside IP address)、Remote network IP ranges(也就是Inside IPv4 CIDR)、IKE PSK Key(下載配置檔從裡面得到Key) Routes 當你看到兩邊的Tunnel都亮綠燈時,想要用Ping測試連線,卻發現怎麼連不上 因為前面是設定靜態路由,所以我們還需要手動加上回AWS的路由 Destination IPv4 range > AWS子網網段 Next hop > 選擇建立的VPN Tunnel 注意事項 注意Tunnel 的IKE version一致 AWS預設一個 VPN Connection就會給你兩條Tunnel,你也不能更改,不管有沒有兩條都用都收一樣的錢(一個 Connection 跟兩...

AWS雲端資料中心第一次因為戰爭導致服務中斷?

AWS UAE Region 因被不明物體擊中導致其中AZ服務斷線。這應該是有史以來第一次雲端資料中心因為戰爭導致服務中斷的案例,特別紀錄起來,以後就可以嚇嚇客戶了。 AWS多次在其Well-Architected Framwork當中提到你要部屬Muti-Region, Muti-AZ架構,為了 就是要賺更多錢, 避免因為單一數據中心斷線而你的服務跟著一起斷線。提到的原因通常是天災、戰爭、斷水斷電等各種不可抗力因素。 但AWS用久了你就會發現(好像也不用多久?),AWS斷線幾乎都是因為人為錯誤原因( 例如又有人搞壞了DNS ),而不是這些聽起來有點遙遠的不可抗力因素。而這次美以伊戰爭示範給大家看,即使你不是戰爭國家的Region,還是有可能被波及到,導致服務斷線。 然而一個AZ可以被建立的資源是有限的,當今天突然有大量的請求要在某AZ新增資源(大家開始執行DR),這時可能就要拼建立速度,誰先建先贏。晚到的可能又出現錯誤訊息的情況,這時資料有沒有Muti-Region備份就變得很重要。 但重點是,現在政府各種強調資料主權,如果是被法規限制的行業,資料不可能在其他國家進行備份。所以這些企業或政府可能要Muti-Cloud架構,並且祈禱另一個雲服務的資料中心所在位置不會有事。但實務上有多少企業或機關有錢到可以做Muti-Cloud架構呢? 3月1日 太平洋時間上午9時41分 我們希望提供有關ME-CENTRAL-1地區單一可用區電力問題的額外資訊。在太平洋時間上午4時30分左右,我們的其中一個可用區(mec1-az2)受到撞擊資料中心的物體影響,產生火花和火災。消防部門在滅火過程中關閉了設施和發電機的電源。我們仍在等待開啟電源的許可,一旦獲准,我們將確保安全地恢復電源和連接。 上述說明當地消防部門因為要滅火關閉了電源,AWS正在等待電源開啟許可,所以他們也無法做什麼。聽起來有點耳熟?好像平常代理商會跟客戶說的,因為你用的是AWS全託管服務,所以如果服務壞了我們也不能做什麼。 事故截至目前從本來只有 mec1-az2被斷線,現在 mec1-az3也斷了。雖然 mec1-az1現有資源正常,但也無法新增機器了。