災難復原 - 部署 Amazon AppStream 2.0 的最佳實踐

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

災難復原

Amazon AppStream 2.0 已內建多達三個可用區域的備援功能。這表示,如果使用者在可用區域中的作用中工作階段變得降級,他們可以簡單地中斷連線並重新連線,假設您有容量,就會在健全的可用區域中保留工作階段。雖然這在區域內提供高可用性,但如果服務在地區層級遇到問題,則不會提供災難復原解決方案。

若要為 AppStream 2.0 使用者提供災難復原計畫,您首先需要在次要區域建置 AppStream 2.0 環境。從設計的角度來看,這個環境應該具有與您的內部部署環境的冗餘連接(如果適用),並且不應該依賴於主要區域。例如,如果您的 AppStream 2.0 叢集已加入網域,您應該在次要區域中有其他網域控制站,且已設定網站和服務。從 AppStream 2.0 的角度來看,此環境應包含您在主要區域中擁有的相同叢集和堆疊設定。車隊本身應該運行相同的基本映像,可以通過控制台或以編程方式將其複製到輔助區域。如果在 AppStream 2.0 工作階段中執行的應用程式具有與您的主要區域相關聯的後端相依性,該後端相依性也應該具有區域備援,以確保使用者在主要區域停止運作時仍可存取應用程式的後端。目的地區域的服務等級限制應符合您的主要地區。

身分路由

有兩種不同的方法可以在 DR 案例中提供對應用程式的存取權。在高層級上,這兩種方法會因為將使用者導向至容錯移轉區域的方式而有所不同。第一種方法是使用 IdP 中的單一 AppStream 2.0 應用程式組態來執行,而第二種方法則具有兩個獨立的應用程式組態。

方法 1:變更應用程式的中繼狀態

當使用者從身分識別提供者 (IdP) 登入 AppStream 2.0 時,在驗證之後,他們會轉送至與區域對齊的特定 URL,以及要存取的堆疊。如需有關轉送狀態 URL 的詳細資訊,請參閱 Amazon AppStream 2.0 管理指南。系統管理員可以設定建置在與主要區域相同 AppStream 2.0 映像上的跨區域堆疊,以便使用者容錯移轉至。系統管理員只要將轉送狀態 URL 更新為指向容錯移轉堆疊,即可控制此容錯移轉。若要讓此方法正常運作,相關聯的 IAM 政策將需要反映對這兩個堆疊的存取權,包括主要和容錯移轉。如需如何設定這些 IAM 政策的詳細資訊,請參閱下列範例政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "appstream:Stream", "Resource": [ "arn:aws:appstream:PrimaryRegion:190836837966:stack/StackName", "arn:aws:appstream:FailoverRegion:190836837966:stack/StackName" ], "Condition": { "StringEquals": { "appstream:userId": "${saml:sub}" } } } ] }

方法 2:在 IdP 中設定兩個 AppStream 2.0 應用程式

此方法需要管理員在 IdP 內為 AppStream 2.0 建立兩個獨立的應用程式。然後,它們可以同時顯示這兩個應用程序,並讓用戶選擇去哪裡,或者他們鎖定/隱藏應用程序,直到它的時間容錯移轉。這種方法更好地與經常移動的全局用戶的用例一致。這些用戶應該從最近的端點進行流式傳輸,因此兩個應用程序都分配給他們可以選擇為其最近的區域配置的應用程序的選項。這也可以自動化,有關更多信息,請參閱此博客文章

儲存持續性

利用 AppStream 2.0 隨附的資料持續性功能 (例如「應用程式持續性」和「主資料夾同步處理」) 時,您需要將該資料複寫到容錯移轉區域。這些功能會將持續性資料存放在指定 AppStream 2.0 區域的 Amazon S3 儲存貯體中。若要讓資料跨區域保存,您需要將來源儲存貯體上的所有變更複寫到容錯移轉區域 AppStream 2.0 儲存貯體。這可以使用 Amazon S3 原生功能來完成,例如 Amazon S3 跨區域複寫。每個用戶持久性數據將駐留在其哈希用戶名的文件夾下。由於使用者名稱會在相同的跨區域進行雜湊處理,因此只要複製資料就能在次要區域中提供資料持續性。如需 AppStream 2.0 所使用之 Amazon S3 儲存貯體的詳細資訊,請參閱本指南