サーバークラスターでの Guides の使用

スティッキーセッションを使用しないサーバークラスターでのガイドのレンダリングは、NullPointerException が発生して失敗します。Guides 要求では、デフォルトで、要求を生成するサーバーに固有の保護された URL が利用されます。スティッキーセッションを使用するクラスターでは、要求がクラスター内のノードに届いた後、そのセッションまたはユーザー向けの後続するすべての要求がそのサーバーだけにルーティングされるので、順調に処理が進みます。スティッキーセッションを使用しないクラスターでは、後続する要求がクラスター内のどのサーバーにも届く可能性があります。要求が届いたサーバーが元のサーバーと異なる場合、保護された URL を解決できません。

スティッキーセッションを使用しないサーバークラスターで Guides を使用する場合は、GuidesUtility サービスの macKeySeed 値を設定した上で、クラスターを停止して再起動します。

macKeySeed 値は、保護された URL の生成に使用される乱数ジェネレーターのシード値です。この値を設定すると、各クラスターノードで乱数ジェネレーターが同様に初期化され、同じ保護された URL にアクセスできるようになります。このシード値には任意の乱数文字列を使用できます。

保護された URL を更新する必要がある場合は、macKeySeed 値を変更します。保護された URL の更新方法はセキュリティポリシーによって異なり、サーバーのマスタールートパスワードを変更するための更新ポリシーに類似しています。macSeedValue は、保護された URL に対するマスターパスワードと言えます。保護された URL の生成および取得で使用する新しい一意の乱数生成に、この値が使用されるからです。

macSeedValue が読み取られるのはシステム起動時だけなので、クラスターを再起動する必要があります。すべてのノードを再起動して、この値を読み取らせる必要があります。シード値を使用して内部的な乱数を初期化するために、各ノードがそれぞれ独立してこの値を使用するからです。