AWS亞馬遜雲經銷商:手把手教您配置AWS多可用區(多可用區)與跨地域自動災備架構

雲端 2026-05-29 阅读 11
1

做技術的朋友應該都聽過一句話:「一切皆會失敗,只是時間問題。」

在雲架構里,把所有的雞蛋放在一個籃子裡是最大的禁忌。 很多團隊以為把業務搬上 AWS(亞馬遜雲科技)就萬事大吉了,結果某個可用區(AZ)的光纜被挖斷,或者由於極端天氣導致整個地域(Region)斷電,服務瞬間宕機。 這時候你才發現,所謂的「高可用」在沒有正確配置的架構面前就是個笑話。

今天我們不聊虛的概念,不背官方文檔。 準備好你的 AWS 賬號,咱們直接上硬核乾貨,手把手帶你配置一套

兼顧「同地域多可用區(Multi-AZ)高可用」與「跨地域(Cross-Region)自動災備」的互聯網黃金架構

第一階段:同地域多可用區(Multi-AZ)-- 掐滅單點故障的火苗

「可用區(Available Zone)」是 AWS 的核心概念。 一個地域(比如俄勒岡

Us-west-2

)包含多個可用區(如

Us-west-2a

Us-west-2b

),每個可用區之間物理隔離(獨立的供電、散熱和網絡),但它們之間有超高速的光纖互聯。

我們的第一個目標是:

哪怕其中一個可用區徹底癱瘓,剩下的可用區也能秒級接管業務,用戶完全感知不到。

1. VPC 與子網(Subnet)的精細化設計

這是地基。 你不能把所有的服務器都扔進一個子網裡。

標準操作:在你的 VPC 里,至少選擇兩個不同的可用區(例如 AZ-A 和 AZ-B)。

在每個可用區里,各建一個公有子網(放負載均衡器)和一個私有子網(放 EC2 業務服務器和數據庫)。 這樣你就擁有了 4 個子網,天然形成了交叉防禦。

2. 計算層:ALB 負載均衡 Auto Scaling(自動伸縮組)

別再給用戶應用直接綁定單台 EC2 的公網 IP 了。

創建一個 Application Load Balancer (ALB),把它掛載到兩個可用區的公有子網上。 ALB 會化身為大門,流量進來後,它會均勻地把請求分發給後端的服務器。

創建一個 Auto Scaling 組 (ASG):啟動模板選好你的業務鏡像。 關鍵配置:在網絡選擇時,把兩個可用區的私有子網全部勾選上。 設置所需容量為 2(代表平時保持 2 台機器跑業務)。 底層邏輯:AWS 會非常聰明地在 AZ-A 和 AZ-B 各啟動一台 EC2。 如果某天 AZ-A 突發故障機器掛

了,ASG 會立刻感知到,並在健康的 AZ-B 自動拉起一台新機器補上,配合 ALB 自動剔除死掉的機器,全程自動化。

3. 數據層:RDS 數據庫一鍵 Multi-AZ

服務器掛了可以隨便重啟,數據要是掛了或者亂了,公司就直接開席了。

在創建 AWS RDS(如 MySQL)時,有一個黃金開關叫做 「多可用區部署 (Multi-AZ deployment)」,毫不猶豫地勾選它。

運作內幕:AWS 會在主可用區(AZ-A)建立主庫,同時在備可用區(AZ-B)建立一個完全同步的鏡像備庫。 所有寫入主庫的數據,都會以塊級別實時同步到備庫。

一旦 AZ-A 發生災難,RDS 會自動發起故障轉移(Failover),把備庫頂成主庫,並把數據庫的連接域名(Endpoint)自動解析到新主庫上。 你的後端代碼不需要修改任何一行 IP 地址,通常在 30 秒內自動滿血復活。

第二階段:跨地域(Cross-Region)災備 -- 禦敵於千里之外

完成了多可用區,你的系統已經能免疫 99% 的日常物理故障了。 但如果遇到整個地區網絡癱瘓、政策合規風波等大地震級別的災難呢? 這就需要引入

跨地域(Cross-Region)自動災備

我們假設:

生產地域(Primary)在東京(ap-northeast-1),災備地域(DR)在新加坡(ap-southeast-1)。

1. 數據的跨地域複製

要把東京的數據實時同步到新加坡。

數據庫層面:在東京的 RDS 主庫上,點擊操作 -> 「創建跨地域只讀副本 (Create cross-region read replica)」,地域選擇新加坡。 AWS 會利用其全球骨幹網,把東京的數據異步複製到新加坡。

文件存儲層面:如果你用了 S3 存儲桶存用戶圖片或文件,打開存儲桶的 「跨地域複製 (CRR, cross-Region Replication)」 功能,讓東京桶里的文件自動飛到新加坡桶里。

2. 災備地域(新加坡)的基礎設施冷備

在新加坡地域,同樣部署好一套 VPC、ALB 和 Auto Scaling 組。

省錢絕招:平時為了省錢,你可以把新加坡的 Auto Scaling 組的「最小容量」和「期望容量」都設為 0(或者 1 台低配機器用來做心跳測試)。 這時候,新加坡是不產生大額 EC2 計算費用的,

只有廉價的存儲費和數據庫同步費。

3. 靈魂指揮官:Route 53 智能路由與故障切換

怎麼在災難發生時,把全球用戶的流量從東京一鍵切換到新加坡? 這就需要用到 AWS 的 DNS 服務 --

Route 53

在 Route 53 中為你網站的域名(例如 api.yourcompany.com)配置 「故障轉移路由策略 (Failover Routing Policy)」。

配置兩條記錄:主記錄 (Primary):指向東京的 ALB 負載均衡器。 副記錄 (Secondary):指向新加坡的 ALB 負載均衡器。

綁定健康檢查 (Health Check):給東京的 ALB 配一個 Route 53 健康檢查,讓 AWS 路由每隔 10 秒去探測一次東京的網站主頁。

災難演練邏輯:如果東京整個Region炸了,route 53 的健康檢查會在連續幾次失敗後亮起紅燈。 它會瞬間啟動熔斷機制,直接把域名解析切到新加坡的 ALB 上。

第三階段:災難發生時的真實現場復活流程

一旦東京Region真的失聯,route 53 已經自動把流量帶到了新加坡,此時運維人員只需要執行最後兩步「提權」動作,系統即可徹底恢復生產:

數據庫提權(Promote):登錄新加坡的 AWS 控制台,選中那個從東京同步過來的只讀副本,點擊 「提升為獨立數據庫 (Promote Read Replica)」。 它會在幾分鐘內斷開與東京的同步鏈路,變成一個可讀可寫的標準主庫。

計算層一鍵喚醒:把新加坡 Auto Scaling 組的期望容量從 0 改成你需要的生產數量(比如 10)。 幾分鐘內,大批 EC2 服務器在新加坡原地拔地而起,自動讀取升級後的新數據庫。

流量進得來,服務器接得住,數據庫能讀寫,這場足以讓普通公司破產的地域級災難,在你的精確架構下,只化作了用戶端短暫的幾十秒加載延遲。

第四階段:高可用架構的成本與避坑血淚史

跨可用區流量費(Data Transfer Fee):AWS 規定,同一 VPC 內跨可用區傳輸數據是要收費的(雖然很便宜)。 因此,盡量讓你的前端 EC2 和後端內網服務在同一個 AZ 內交互。 只有在做數據庫同步、或者分布式集群節點同步時,再走跨 AZ 流量。

RPO 與 RTO 的權衡:RPO(數據能恢復到哪一刻):因為跨地域數據庫是「異

步複製」,東京倒下的一瞬間,可能有一兩秒的數據還沒來得及傳到新加坡,這部分數據會暫時滯留。 企業要做好數據對賬的準備。 RTO(恢復要花多少時間):利用本文的架構,自動化加上微量的人工干預,能把 RTO 控制在 5 到 15 分鐘以內。

定期搞破壞(混沌工程):高可用架構最忌諱「配完就放在那吃灰」。 很多公司配了跨地域災備,三年沒動過,第四年出事時發現新加坡的鏡像早就過期跑不起來了。 建議每半年選一個周末的凌晨,手動把 Route 53 切到災備地域,做一次真實的斷網演練。

總結

零單點故障不是靠運氣,而是靠科學的架構設計。

同地域多可用區解決的是「高可用(HA)」,保證日常不掉線;跨地域自動災備解決的是「災難恢復(DR)」,保證極端情況下公司能活命。

把這兩套防線焊死在你的 AWS 賬號里,從此無論外界網絡風浪再大,你都能坐在電腦前,穩如泰山。

1
← 返回新闻中心