2020/06/14
2019/11/20 から FSx はマルチAZに対応しました。もう自前で冗長化する必要はなくなりました。また、EC2 で DFS サーバーを建てる必要がなくなったので費用も安くなります。
(もう半年早ければ、この苦労はなかったのに。。。)
[Amazon FSx for Windows File Server が、複数のアベイラビリティーゾーンにまたがるファイルシステムをサポート開始](https://aws.amazon.com/jp/about-aws/whats-new/2019/11/amazon-fsx-for-windows-file-server-now-supports-file-systems-that-span-multiple-availability-zones/)
2019/11/24
DFS 名前空間でサーバーファイルにアクセスした場合、AD によってプライマリーとセカンダリーに自動で振り分けられ特に排他制御は行われません。そのため、同時に編集すると、デグレードが発生する場合があります。
この問題が解決できなかったため、現在名前空間による公開は使用していません。単純にサーバー名でアクセスするようにしています(解決方法があればコメントください…)。
前回の続きで FSx レプリケーション後のフェールオーバーについてです。
DFS でフェールオーバー
レプリケートした FSx をフェールオーバーさせるには Windows Server の DFS 名前空間を利用します。AWS のサービスでは今の所自動でフェールオーバーさせる方法がありません。
CloudWatch や Route53 でそのうち対応してくれるのを期待します。
名前空間の作成と共有と公開
名前空間の作成
- 名前空間サーバー用に EC2 (Windows Server) を作成します。冗長構成にする場合、2台作成します。
- Active Directory に参加します。
- DFS 管理ツールを起動し、名前空間を右クリック > 新しい名前空間(N)...
- サーバーを選択します。作業中のサーバーのコンピューター名をセットします。
- 名前空間名を入力します。説明文にあるように、名前空間公開後はファイルサーバーには「\domain名\入力した名前\」でアクセスします。
Public と入力したら、 \example.local\Public\ になります。
- ドメインベースの名前空間(D) を選択し、「Windows Server 2008 モードを有効にする(E)」にチェックを付けます。
- 確認画面が出るので、作成(E) をクリックします。
- 作成完了です。
名前空間管理サーバーの冗長化
- 引き続き DFS 管理ツールで、先程作成した名前空間を右クリック > 名前空間サーバーを追加(N)...
- もう一台の Windows Server を選択します。
- OK 押すとサーバーが追加されます。
名前空間の公開
- 公開したいレプリケーションを選択 > レプリケーションフォルダータブ > 名前空間の共有と公開…
- 「レプリケーションフォルダーを名前空間で共有および公開する(D)」を選択 > 次へ(N)
- 次へ(N)
- 「参照(R)」から作成した名前空間を選択します。「新規フォルダー名(D):」には任意の名前を入力します。
- 確認画面で「共有(S)」をクリックします。
- 作成完了
- アクセスしてみます。このパスにアクセスすると、1台がエラーになっても名前空間サーバーがフェールオーバーして、セカンダリーの FSx に向けてくれます。
トラブルシューティング
- サーバーの追加でエラーになる
- 名前解決できない
DFS でコンピューター名を名前解決する時、RPC プロトコルを使用します。セキュリティーグループ、ネットワーク ACL でポート135を許可しているか確認してください。その他開放しないといけないポートがあるので確認してください1。セキュリティーグループだけでなく、ネットワークACLでブロックしている場合もあります。 - 追加サーバーに DFS 機能が追加されていない
追加するサーバーにも DFS 機能をインストールします。 - 信頼関係のある別ドメインからアクセスできない
- DFS 名前空間サーバーを Windows Server 2012 で構築した場合、名前解決が上手く行かない場合があります。TargetPathがコンピューター名でできてしまうと、別ドメインから接続できません。Windows Server 2016 以上で構築すれば、TargetPath が FQDN になるので別ドメインからでも接続できます。
-
インバウンドでTCP/UDP 445 (SMB)、TCP 135 (RPC)、TCP/UDP 1024-65535 (Ephemeral ports for RPC) を許可する。Getting Started with Amazon FSx: Step8 ↩