はじめに
今回は作成済みのAmazon FSx for Windows File Server(以降FSx)で
DNS エイリアスを使用する手順について紹介します。
前提条件
今回は以下を前提として、FSxでDNSエイリアスを使用する手順を紹介します。
以下の構築方法についてはこちらの記事をご参照ください。
- FSx の設定が完了している
- FSx に接続出来るWindowsサーバ(ドメイン参加済み)がある
- 上記Windowsサーバに管理者権限でログイン出来る
設定手順
DNSエイリアスをFSxに関連付ける
AWSコンソールにアクセスし、Amazon FSxからファイルシステムを選択し、作成済みのFSxを選択します。
開いたFSxでネットワークとセキュリティのタブからDNSエイリアスの「管理」を選択します。
DNSエイリアスの管理でFSxに関連付けるDNSエイリアスを入力し、「関連付ける」を選択します。
DNSエイリアスに入力したDNS名が表示され、ステータスが作成から利用可能になったことを確認し閉じます。
以上でFSxへのDNSエイリアスの関連付けは完了となります。
Kerberos のサービスプリンシパル名 (SPN) を設定する
FSx に接続出来るWindowsサーバにアクセスします。
手順内で実行しているコマンドについては、こちらのドキュメントをご参照ください。
管理者としてPowerShellを開き、ActiveDirectory関連の作業を行なうため
下記コマンドでPowerShell ActiveDirectoryモジュールをインストールします。
Install-WindowsFeature RSAT-AD-PowerShell
既存のSPNを検索
下記コマンドで既存SPNがあるか確認を行ない、既存SPNがある場合は削除を行ないます。
PS C:\Windows\system32> $ALIAS = "DNSエイリアス名" PS C:\Windows\system32> SetSPN /Q ("HOST/" + $ALIAS) ドメイン DC=my-test-domain,DC=com を確認しています そのような SPN は見つかりませんでした。 PS C:\Windows\system32> SetSPN /Q ("HOST/" + $ALIAS.Split(".")[0]) ドメイン DC=my-test-domain,DC=com を確認しています そのような SPN は見つかりませんでした。 PS C:\Windows\system32>
既存のSPNの削除
今回は既存SPNがなかったため削除は不要でしたが、もし既存SPNがあった場合は
こちらのドキュメントを参考に削除を行なってください。
SPNの設定
下記コマンドを実行し、FSxのActiveDirectoryにSPNを設定します。
PS C:\Windows\system32> $FSxDnsName = "FSxのDNS名" PS C:\Windows\system32> $ALIAS = "DNSエイリアス名" PS C:\Windows\system32> $FileSystemHost = (Resolve-DnsName $FSxDnsName | Where Type -eq 'A')[0].Name.Split(".")[0] PS C:\Windows\system32> $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost) PS C:\Windows\system32> PS C:\Windows\system32> Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"} PS C:\Windows\system32> SetSpn /S ("HOST/" + $Alias.Split('.')[0]) $FSxAdComputer.Name ドメイン DC=xxxxxxx,DC=com を確認しています CN=amznfsxxxxxxx,OU=FSx,OU=AWS Reserved,DC=xxxxxxx,DC=com の ServicePrincipalNames を登録しています HOST/test-FSx 更新されたオブジェクト PS C:\Windows\system32> SetSpn /S ("HOST/" + $Alias) $FSxAdComputer.Name ドメイン DC=xxxxxxx,DC=com を確認しています CN=amznfsxxxxxxx,OU=FSx,OU=AWS Reserved,DC=xxxxxxx,DC=com の ServicePrincipalNames を登録しています HOST/test-FSx.xxxxx.xxxx.com 更新されたオブジェクト PS C:\Windows\system32>
設定したSPNが登録されていることを確認する
下記のように設定したSPNが確認できれば、SPNの設定は完了となります。
PS C:\Windows\system32> $FSxDnsName = "amznfsxxxxxxx.xxxxxx.com" PS C:\Windows\system32> $FileSystemHost = (Resolve-DnsName ${FSxDnsName} | Where Type -eq 'A')[0].Name.Split(".")[0] PS C:\Windows\system32> $FSxAdComputer = (Get-AdComputer -Identity ${FileSystemHost}) PS C:\Windows\system32> SetSpn /L $FSxAdComputer.Name 次の項目に登録されている CN=amznfsxxxxxxx,OU=FSx,OU=AWS Reserved,DC=xxxxxxx,DC=com: 〜〜〜〜〜〜〜〜〜省略〜〜〜〜〜〜〜〜〜〜 HOST/test-FSx.xxxxx.xxxx.com HOST/test-FSx 〜〜〜〜〜〜〜〜〜省略〜〜〜〜〜〜〜〜〜〜 PS C:\Windows\system32>
ファイルシステムのDNSCNAMEレコードを作成する
DNSCNAMEレコードを更新するため、下記コマンドでPowerShellDNSサーバーモジュールをインストールします。
Install-WindowsFeature RSAT-DNS-Server
既存のDNSCNAMEレコードをFSxのDNSレコードに切り替えます。
PS C:\Windows\system32> $ALIAS = "test-FSx.xxxxx.xxxx.com" PS C:\Windows\system32> $FSxDnsName = "amznfsxxxxxxx.xxxxxx.com" PS C:\Windows\system32> $AliasHost=$Alias.Split('.')[0] PS C:\Windows\system32> $ZoneName=((Get-WmiObject Win32_ComputerSystem).Domain) PS C:\Windows\system32> $DnsServerComputerName = (Resolve-DnsName $ZoneName -Type NS | Where Type -eq 'A' | Select -ExpandProperty Name)[0] PS C:\Windows\system32> PS C:\Windows\system32> Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsServerComputerName -HostNameAlias $FSxDnsName -ZoneName $ZoneName PS C:\Windows\system32>
上記でFSxに設定したDNSエイリアスがDNSCNAMEに追加されました。
DNSエイリアスでFSxをWindowsサーバにアタッチ
下記コマンドでDNSエイリアスを使用してFSxをアタッチします。
PS C:\Windows\system32> net use Z: \\test-FSx.xxxxx.xxxx.com\share コマンドは正常に終了しました。 PS C:\Windows\system32>
エクスプローラーからZドライブにFSxがマウントされていることが確認できました。
以上でFSxでDNSエイリアスを使用する手順は完了となります。
まとめ
SPNの設定やDNSCNAMEレコードを作成など、少々手間がかかる作業はありましたが
DNSエイリアスを使用してFSxをマウントすることができました。
DNSエイリアスを使用することで、緊急時のバックアップからの復旧の際に、DNSの設定を更新をせずに
既存のDNSエイリアス名でFSxに保管されたデータへアクセスできるなどの利点があるため、要件にあわせて
上手く活用していただければと思います。