内容
AWS公式手順でFSXに既存ファイルサーバ名を引き継ぐ設定をやってみた
FSXにDNSエイリアス設定後、Kerberos認証を有効にするためSPNの設定、DNSにCNAMEレコードの更新または実施
CNAMEの設定箇所で既存ファイルサーバのCNAMEは置き換えられるが既存ファイルサーバのAレコードがあるとエラーになる
その場合はAレコードを削除してからCNAMEレコードを作成する
やりたいこと
- FSxでファイルシステム作成時DNS名「(例)amznfsx57en0pst」が払い出される
- これだとクライアントPCからは\\amznfsx57en0pstでアクセス出来る
- 既存ファイルサーバ名はAWSFileSV.awstest.localであると仮定
- 既存ファイルサーバから切替後、FSxに\\AWSFileSV.awstest.localでアクセスしたい
- あと追加で\\AWSFileSV2.awstest.localでもアクセスしたい
- 念のためFSxのIPアドレス「(例)\\10.50.30.25」でもアクセス出来るか確認
FSxファイルシステム追加後、デフォルト状態
- FSxにはデフォルトDNS名でアクセス可
- あとIPアドレスでも可(AWSで自動で割り振られたもの)
下記手順でDNSエイリアスなど設定後
- 既存のファイルサーバ名、また追加したサーバ名でもアクセス可
環境・前提条件
- FSx for Windows file serverの設定が完了している
- FSx for Windows file serverに接続出来るWindowsサーバ(ドメイン参加済み)がある
- 上記Windowsサーバに管理者権限でログイン出来る
参考情報
手順
## 手順1.FSXにDNSエイリアスを紐づける
- ステータスが利用可能になれば完了(2分位かかった)
## 手順2.SPNを追加する
手順2.1.モジュールのインストール
Install-WindowsFeature RSAT-AD-PowerShell
手順2.2.既存のDNSエイリアスSPNを検索
- 既存SPNがある場合は削除せよとのこと(AWS公式より)
- 下記の例では既存はなし
PS C:\> $ALIAS = "AWSFileSV.awstest.local"
PS C:\> SetSPN /Q ("HOST/" + $ALIAS)
ドメイン DC=awstest,DC=local を確認しています
そのような SPN は見つかりませんでした。
PS C:\> SetSPN /Q ("HOST/" + $ALIAS.Split(".")[0])
ドメイン DC=awstest,DC=local を確認しています
そのような SPN は見つかりませんでした。
}
手順2.3.SPNを登録する
PS C:\> $FSxDnsName = "amznfsx57en0pst.awstest.local"
PS C:\> $Alias = "AWSFileSV.awstest.local"
PS C:\> $FileSystemHost = (Resolve-DnsName $FSxDnsName | Where Type -eq 'A')[0].Name.Split(".")[0]
PS C:\> $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost)
PS C:\>
PS C:\> Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"}
PS C:\> SetSpn /S ("HOST/" + $Alias.Split('.')[0]) $FSxAdComputer.Name
ドメイン DC=awstest,DC=local を確認しています
CN=amznfsx57en0pst,CN=Computers,DC=awstest,DC=local の ServicePrincipalNames を登録しています
HOST/AWSFileSV
更新されたオブジェクト
PS C:\> SetSpn /S ("HOST/" + $Alias) $FSxAdComputer.Name
ドメイン DC=awstest,DC=local を確認しています
CN=amznfsx57en0pst,CN=Computers,DC=awstest,DC=local の ServicePrincipalNames を登録しています
HOST/AWSFileSV.awstest.local
更新されたオブジェクト
}
手順2.4.登録情報を確認する
PS C:\> SetSpn /L ${FSxAdComputer}.Name
次の項目に登録されている CN=amznfsx57en0pst,CN=Computers,DC=awstest,DC=local:
HOST/AWSFileSV.awstest.local
HOST/AWSFileSV
MSServerClusterMgmtAPI/AWSFileSV2.awstest.local
MSServerClusterMgmtAPI/AWSFILESV2
MSClusterVirtualServer/AWSFileSV2.awstest.local
MSClusterVirtualServer/AWSFILESV2
HOST/AWSFileSV2.awstest.local
HOST/AWSFILESV2
MSServerClusterMgmtAPI/AWSFileSV.awstest.local
MSServerClusterMgmtAPI/AWSFILESV
MSClusterVirtualServer/AWSFileSV.awstest.local
MSClusterVirtualServer/AWSFILESV
MSServerClusterMgmtAPI/amznfsx57en0pst.awstest.local
MSServerClusterMgmtAPI/amznfsx57en0pst
MSClusterVirtualServer/amznfsx57en0pst.awstest.local
MSClusterVirtualServer/amznfsx57en0pst
HOST/amznfsx57en0pst.awstest.local
HOST/amznfsx57en0pst
手順3.CNAME登録
手順3.1.モジュールのインストール
Install-WindowsFeature RSAT-DNS-Server
手順3.2.CNAME追加
- AWSFileSV2.awstest.localについても同様に実施
$Alias="AWSFileSV.awstest.local"
$FSxDnsName="amznfsx57en0pst.awstest.local"
$AliasHost=$Alias.Split('.')[0]
$ZoneName=((Get-WmiObject Win32_ComputerSystem).Domain)
$DnsServerComputerName ="EC2AMAZ-T77KK7D"
Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsServerComputerName -HostNameAlias $FSxDnsName -ZoneName $ZoneName
- 既存ファイルサーバのAレコードがあってResourceExistsで失敗する場合はAレコード削除後に実行
Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsServerComputerName -HostNameAlias $FSxDnsName -ZoneName $ZoneName
Add-DnsServerResourceRecordCName : サーバー EC2AMAZ-T77KK7D 上のゾーン awstest.local にリソース レコード AWSFileSV2 を
作成できませんでした。
発生場所 行:1 文字:1
+ Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsS ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (AWSFileSV2:root/Microsoft/...urceRecordCName) [Add-DnsServerResourceRec
ordCName], CimException
+ FullyQualifiedErrorId : WIN32 9709,Add-DnsServerResourceRecordCName
手順3.3.レコード確認
- CNAMEが追加されていることを確認