View a markdown version of this page

ディザスタリカバリ - Amazon WorkSpaces Applications をデプロイするためのベストプラクティス

ディザスタリカバリ

Amazon AppStream 2.0 には、最大 3 つのアベイラビリティーゾーンにわたる冗長性が組み込まれています。つまり、あるアベイラビリティーゾーンにアクティブなセッションがあり、そのセッションが機能しなくなった場合、そのユーザーは接続を切断して再接続するだけで、正常なアベイラビリティーゾーンにセッションを予約できます (キャパシティに余裕があること)。これにより、リージョン内の可用性は高くなりますが、リージョンレベルでサービスに問題が発生した場合は、ディザスタリカバリのソリューションにはなりません。

WorkSpaces Applications ユーザーにディザスタリカバリプランを提供するには、まずセカンダリリージョンに WorkSpaces Applications 環境を構築する必要があります。設計の観点から、該当する場合、この環境にはオンプレミス環境への冗長接続が必要であり、プライマリリージョンに依存しないようにする必要があります。例えば、WorkSpaces Applications フリートがドメインに参加している場合、サイトとサービスを設定したセカンダリリージョンに追加のドメインコントローラが必要です。WorkSpaces Applications の観点から、この環境はプライマリリージョンと同じフリートとスタック設定で構成されている必要があります。フリート自体は同じベースイメージを実行する必要があり、コンソールまたはプログラムでセカンダリリージョンにコピーできます。WorkSpaces Applications セッション内で実行されるアプリケーションのバックエンド依存関係がプライマリリージョンに関連付けられている場合は、プライマリリージョンがダウンしてもユーザーがアプリケーションのバックエンドにアクセスできるように、そのアプリケーションにもリージョンの冗長性が必要です。送信先リージョンのサービスレベル制限は、プライマリリージョンと一致している必要があります。

ID ルーティング

DR シナリオでアプリケーションへのアクセスを提供するには、2 つの異なる方法があります。概して、この 2 つの方法は、ユーザーをフェイルオーバーリージョンに誘導する方法が異なります。1 つ目の方法は IdP 内の 1 つの WorkSpaces Applications アプリケーション設定を使用して実行され、2 つ目の方法には 2 つの個別のアプリケーション設定があります。

方法 1: アプリケーションのリレーステートを変更する

ユーザーが ID プロバイダー (IdP) から WorkSpaces Applications にログインすると、認証後、アクセスする予定のリージョンとスタックに合わせた特定の URL にリレーされます。リレーステート URL の詳細については、「Amazon WorkSpaces Applications 管理ガイド」を参照してください。管理者は、ユーザーがフェイルオーバーするプライマリリージョンと同じ WorkSpaces Applications イメージ上に構築されたクロスリージョンスタックを設定できます。管理者は、リレーステート URL をフェイルオーバースタックを指すように更新するだけで、このフェイルオーバーを制御できます。この方法が正しく動作するためには、関連する IAM ポリシーにプライマリスタックとフェイルオーバースタックの両方へのアクセスが反映されている必要があります。これらの IAM ポリシーの設定方法の詳細については、以下のポリシーの例を参照してください。

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

方法 2: IdP 内で 2 つの WorkSpaces Applications アプリケーションを設定する

この方法では、管理者が IdP 内で WorkSpaces Applications 用の 2 つのアプリケーションを個別に構築する必要があります。その後、両方のアプリケーションを表示し、ユーザーにどこに移動するかを選択させるか、またはユーザーはフェールオーバーするまでアプリケーションをロックまたは非表示にできます。この方法は、頻繁に移動するグローバルユーザーがいるユースケースに適しています。これらのユーザーは、最も近いエンドポイントからストリーミングする必要があるため、両方のアプリケーションを割り当てておくと、最も近いリージョンに設定されているアプリケーションを選択できます。これを自動化することもできます。詳細については、このブログ記事を参照してください。

ストレージの永続化

アプリケーション永続化ホームフォルダ同期など、WorkSpaces Applications に含まれるデータ永続機能を利用する場合、そのデータをフェイルオーバーリージョンに複製する必要があります。これらの機能は、特定の WorkSpaces Applications リージョンの Amazon S3 バケットに永続データを保存します。データをリージョン間で保持するには、ソースバケットのすべての変更をフェイルオーバーリージョン WorkSpaces Applications バケットに複製する必要があります。これは、Amazon S3 のクロスリージョンレプリケーションなどの Amazon S3 のネイティブ機能を使用して実行できます。各ユーザーの永続データは、ハッシュされたユーザー名のフォルダに保存されます。ユーザー名は同じクロスリージョンでハッシュされるため、データを複製するだけでセカンダリージョンのデータを保持できます。WorkSpaces Applications で使用される Amazon S3 バケットの詳細については、このガイドを参照してください。