觀點 · 資訊分享
Amazon Cognito 支援跨區域複製:主區域登入服務掛了,備援區域的帳號資料已經等著接手
AWS 讓 Cognito 使用者集區可以近即時同步到另一個區域。主區域出狀況時把流量切過去,已登入的人不必重新登入,但備援區域有幾項功能做不到。
- 發布
- 2026-06-04
- 篇幅
- 約 4 分鐘 · 1,957 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:AWS 讓 Cognito 的會員登入系統可以在另一個區域放一份近即時同步的備份,主區域出事時,登入流量可以改道過去。

先用白話講:Cognito 跨區域複製是什麼?
想像你開了一間會員制健身房,所有會員名單只放在一間分店的櫃台。那間分店淹水停電,全部會員都進不了門,連其他分店都不知道誰是會員。
如果每間分店都有一份同步更新的會員名單,總店出事時,會員改去另一間分店報上名字就能進場。這就是 Amazon Cognito 多區域複製要做的事。
Cognito 是 AWS 的「登入與會員管理服務」,很多網站和 App 用它處理帳號密碼、Google 或 Facebook 登入、企業 SAML 登入。以前一個使用者集區只住在一個 AWS 區域,那個區域的 Cognito 出狀況,登入就跟著停擺。
發生什麼事
AWS 在 2026 年 6 月 4 日宣布,Cognito 現在支援多區域複製:
- 把使用者與機器身分的資料(包含登入憑證、使用者集區設定、聯合登入設定)近即時同步到你指定的備援區域
- 主區域發生中斷時,可以把流量導到備援區域的使用者集區
- 已登入的使用者不必重新登入,已註冊的人可以用原本的帳密登入
- 備援區域支援帳號密碼、社群與 SAML / OIDC 聯合登入,以及機器對機器(M2M)授權流程
這是附加功能,使用者集區要在 Essentials 或 Plus 方案才能用。官方公告列出的可用區域,我自己數過共 16 個,包含東京、首爾、新加坡、雪梨、孟買等亞太區域,沒有看到台灣的區域。
備援區域做不到的事
官方開發者指南把限制列得很清楚,上線前一定要看:
| 項目 | 備援區域的狀況 |
|---|---|
| 新增使用者 | 不行,註冊與管理員建立都不行 |
| 重設密碼、修改個人資料 | 不行,要等主區域恢復 |
| TOTP 驗證碼 | 不支援,要等主區域服務時才能驗證 |
| 聯合登入 | 只有之前在主區域登入過的人才能登入 |
| 登入失敗鎖定次數 | 兩邊各算各的,不會同步 |
| 副本數量 | 每個使用者目錄最多一個備援 |
另外,資料同步是最終一致:主區域剛改的東西,備援區域可能慢一點點才看到。
給開發者的技術細節
開啟前的前置條件:
- 使用者集區要在 Essentials 或 Plus 方案(Lite 不能開)
- 先改用多區域的客戶自管 KMS 金鑰,而且所有副本所在的區域都要有這把金鑰
- 建議把使用者集區的簽發者(issuer)更新成官方建議的設定,讓不同區域的權杖驗證一致
新建的備援使用者集區一開始是 INACTIVE,要先檢查區域設定(電子郵件、簡訊、Lambda 觸發器、WAF 等可以各區域不同),再改成 ACTIVE。API 長這樣:
// CreateUserPoolReplica
{
"UserPoolId": "us-east-1_EXAMPLE",
"RegionName": "us-west-2"
}
要做到自動切換,還得在使用者集區網域上設定 Route 53 健康檢查(UpdateUserPoolDomain 的 Routing.Failover,填入備援區域與健康檢查 ID)。健康檢查判定不健康時,Cognito 會改由備援區域提供登入頁面與驗證;恢復健康後再切回主區域。公告沒有寫價格,官方只說另有附加費用,細節要看 Cognito 定價頁。
我的看法
接案時常遇到客戶問「雲端服務掛了怎麼辦」,過去對 Cognito 這類託管登入服務,我們能做的幾乎只有「祈禱」。這次官方把備援做成內建功能,對怕登入中斷的會員制網站是個好消息。
不過我會先問兩件事:第一,客戶真的需要嗎?中小企業的內部系統或小型電商,多數能接受一年停擺一兩次,多付一筆附加費加上維運複雜度不一定划算。第二,備援區域不能註冊、不能重設密碼,這些限制要在前端提前設計好提示畫面,不然切換當下客人會一頭霧水。
如果你的系統已經用 Cognito,建議先在測試環境跑一次完整的切換演練,確認健康檢查與畫面行為,再決定要不要上正式環境。
名詞小辭典
- 使用者集區(User Pool):Cognito 裡存放帳號、密碼與登入設定的地方,可以想成一份會員名冊。
- 聯合登入(Federation):讓使用者用 Google、Facebook 或公司的 SAML / OIDC 帳號登入,不必另外註冊。
- KMS:AWS 的金鑰管理服務,負責保管加密資料用的鑰匙。
- Route 53 健康檢查:定時檢查服務是否正常的功能,判定異常時可以觸發流量改道。