この記事は、インフラ勉強会 Advent Calendar 2018 (Qiita版)の第23日目の記事です
そういえば今日は、インフラ勉強会発足からちょうど1周年の日ですね
いつもどおりタイトル同様の内容です
結論を先にかいておきます
- 失敗談です
- 少なくともAWSでは起こらない(はず)
- 他のクラウドサービスは未検証
- クラウド上って言ったって仮想マシンと同じだろ、とか思うんじゃないぞ
- 公式ドキュメントはちゃんと読め
- 調子こいた結果のやらかしなので割と反省していて、禊として書きます
なにをしたのか
- Azure のVMインスタンス上に、Windows Server 2016でActive Directoryを2台構成で構築した
- 一般ユーザーがRDPできるようにGPO周りの設定をした
- 当時は構築フェーズだったこともあり、週末はADを2台とも停止させて退勤し、週明けに2台とも起動させた
なにがおきたのか
- 一部のメンバーサーバーで、一般ユーザーがRDPできなくなった
- 事象発覚時点では、特に規則性は思いつかなかった
- どちらのADから確認しても、ユーザーの追加/更新/削除は同期されるので権限「だけ」が割り当たっていない
- ちなみにユーザー追加/削除はちゃんと同期される
どう対応したのか
暫定対応
- 問題が発生しているサーバーは、全て02号機側のADからGPOを割り当たっていることがわかった
- 02号機を停止させて GPOを強制的に再適用したところ、一般ユーザーでRDPできるようになった
- プロジェクトに時間的余裕がなかったこともあり、ログのみ取得して02号機を降格させて再構築した
原因調査
- 02号機を停止し、再度起動した段階でSYSVOLの同期が壊れていることが判明
- なんかDFSレプリケーションが失敗してるログ出てる
- 検証環境で同じことをしたら、SYSVOLのバージョンに差異が発生
- 同期されているはずのフォルダ内にデータを作成したり更新したりしても、同期がかからないことも確認
原因調査その2
- SYSVOL同期が直接の原因だったことはわかったが、根本的な原因はなんやねん
- なんやこのクソややこいバグは…とか思ってたので本当にすみませんでした
- というか公式にちゃんと「やるな!」って書いてあった
公式の推奨事項から抜粋
- Active Directory 用の データベース、ログ、および SYSVOL を格納するための個別の仮想データ ディスクを作成します。 オペレーティング システムと同じディスクにこれらの項目を格納しないでください。
抜粋その2
はい、すみませんでした