チュートリアル 5: DNS エイリアスを使用してファイルシステムにアクセスする
FSx for Windows ファイルサーバーは、ファイルシステム上のデータにアクセスするために使用できるすべてのファイルシステムに、デフォルトのドメインネームシステム (DNS) 名を提供します。ユーザーが選択した DNS エイリアスを使用して、ファイルシステムにアクセスすることもできます。DNS エイリアスを使用すると、ファイルシステムのストレージをオンプレミスから Amazon FSx に移行するときに、ツールやアプリケーションを更新することなく、既存の DNS 名を使用して Amazon FSx に保存されたデータにアクセスできます。ファイルシステムには、一度で最大 50 個の DNS エイリアスを関連付けることができます。
DNS エイリアスを使用して Amazon FSx ファイルシステムにアクセスするには、次の 3 つのステップを実行する必要があります。
DNS エイリアスを Amazon FSx ファイルシステムに関連付けます。
ファイルシステムのコンピュータオブジェクトのサービスプリンシパル名 (SPN) を設定します。(これは、DNS エイリアスを使用してファイルシステムにアクセスするときに Kerberos 認証を取得するために必要です。)
ファイルシステムおよび DNS エイリアスの DNS CNAME レコードを更新または作成します。
トピック
ステップ 1: DNS エイリアスを Amazon FSx ファイルシステムに関連付ける
DNS エイリアスは、新しいファイルシステムを作成する際と、 Amazon FSx コンソール、CLI、および API を使用してバックアップから新しいファイルシステムを作成する際に、既存の FSx for Windows ファイルサーバーのファイルシステムに関連付けることができます。別のドメイン名でエイリアスを作成する場合は、親ドメインを含むフルネームを入力して、エイリアスを関連付けます。
この手順では、Amazon FSx コンソールを使用して新しいファイルシステムを作成するときに DNS エイリアスを関連付ける方法について説明します。DNS エイリアスと既存のファイルシステムとの関連付けに関する情報、および CLI および API の使用の詳細については、「DNS エイリアスを管理する」を参照してください。
-
https://console.aws.amazon.com/fsx/
で Amazon FSx コンソールを開きます。 「開始方法」セクションの ステップ 1: ファイルシステムを作成する で説明されているように、新しいファイルシステムを作成する手順に従います。
[Create file system] (ファイルシステムの作成) ウィザードの [Access - optional] (アクセス - オプション) セクションで、ファイルシステムに関連付ける DNS エイリアスを入力します。
DNS エイリアスを指定する場合は、次のガイドラインを使用します。
accounting.example.com
などの完全修飾ドメイン名 (FQDN)
としてフォーマットする必要があります。hostname.domain
英数字およびハイフン (‐) を使用できます。
ハイフンでスタートまたは終了することはできません。
数字で始めることができます。
DNS エイリアス名の場合、大文字または小文字を指定するか、あるいはエスケープコードで対応する文字を指定するかどうかに関係なく、Amazon FSx は英字を小文字 (a~z) として格納します。
メンテナンス設定 については、必要に応じて変更を加えてください。
-
タグ - オプション セクションで、必要なタグを追加し、[Next] (次へ) を選択します。
-
ファイルシステムの作成 ページに表示されるファイルシステム設定を確認します。ファイルシステムの作成 を選択して、ファイルシステムを作成します。
新しいファイルシステムが利用可能になったら、ステップ 2 に進みます。
ステップ 2: Kerberos のサービスプリンシパル名 (SPN) を設定する
Amazon FSx との転送中に、Kerberos ベースの認証と暗号化を使用することをお勧めします。Kerberos は、ファイルシステムにアクセスするクライアントに最も安全な認証を提供します。
DNS エイリアスを使用して Amazon FSx にアクセスするクライアントに対して Kerberos 認証を有効にするには、Amazon FSx ファイルシステムのアクティブディレクトリコンピュータオブジェクトの DNS エイリアスに対応するサービスプリンシパル名 (SPN) を追加する必要があります。SPN は、一度に 1 つのアクティブディレクトリのコンピュータオブジェクトにのみ関連付けることができます。元のファイルシステムのアクティブディレクトリコンピュータオブジェクトに対して設定された DNS 名の既存の SPN がある場合は、まずそれらを削除する必要があります。
Kerberos 認証に必要な SPN は 2 つあります。
HOST/
alias
HOST/alias.domain
エイリアスが finance.domain.com
の場合、必要な SPN は次の 2 つです。
HOST/finance HOST/finance.domain.com
注記
Amazon FSx ファイルシステムのアクティブディレクトリ (AD) コンピュータオブジェクトの新しいホスト SPN を作成する前に、アクティブディレクトリコンピュータオブジェクトの DNS エイリアスに対応する既存のホスト SPN を削除する必要があります。AD に DNS エイリアスの SPN が存在する場合、Amazon FSx ファイルシステムの SPN を設定しようとすると失敗します。
次の手順では、その方法を説明します。
元のファイルシステムのアクティブディレクトリコンピュータオブジェクト上の既存の DNS エイリアス SPN を検索します。
既存の SPN が見つかった場合、削除します。
Amazon FSx ファイルシステムのアクティブディレクトリコンピュータオブジェクト用の新しい DNS エイリアス SPN を作成します。
必要な PowerShell アクティブディレクトリのモジュールをインストールするには
-
Amazon FSx ファイルシステムが接続しているアクティブディレクトリに接続している Windows インスタンスにログオンします。
管理者として PowerShell を開きます。
次のコマンドを使用して、PowerShell アクティブディレクトリのモジュールをインストールします。
Install-WindowsFeature RSAT-AD-PowerShell
元のファイルシステムのアクティブディレクトリコンピュータオブジェクト上で、既存の DNS エイリアス SPN を検索して削除するには
次のコマンドを使用して、既存の SPN を検索します。
を、ステップ 1 でファイルシステムに関連付けた DNS エイリアスに置き換えます。alias_fqdn
## Find SPNs for original file system's AD computer object $ALIAS = "
alias_fqdn
" SetSPN /Q ("HOST/" + $ALIAS) SetSPN /Q ("HOST/" + $ALIAS.Split(".")[0])次のスクリプティング例を使用して、前のステップで返された既存の HOST SPN を削除します。
を ステップ 1 でファイルシステムに関連付けたフル DNS エイリアスに置き換えます。alias_fqdn
を元のファイルシステムの DNS 名に置き換えます。file_system_DNS_name
## Delete SPNs for original file system's AD computer object $Alias = "
alias_fqdn
" $FileSystemDnsName = "file_system_dns_name
" $FileSystemHost = (Resolve-DnsName ${FileSystemDnsName} | Where Type -eq 'A')[0].Name.Split(".")[0] $FSxAdComputer = (Get-AdComputer -Identity ${FileSystemHost}) SetSPN /D ("HOST/" + ${Alias}) ${FSxAdComputer}.Name SetSPN /D ("HOST/" + ${Alias}.Split(".")[0]) ${FSxAdComputer}.Name-
ステップ 1 でファイルシステムに関連付けた各 DNS エイリアスについて、これまでの手順を繰り返します。
Amazon FSx ファイルシステムのアクティブディレクトリコンピュータオブジェクトに SPN を設定するには
次のコマンドを実行して、Amazon FSx ファイルシステムの新しい SPN を設定します。
を Amazon FSx がファイルシステムに割り当てた DNS 名に置き換えます。file_system_DNS_name
Amazon FSx コンソールでファイルシステムの DNS 名を確認するには、ファイルシステムを選択し、自分のファイルシステムを選択し、ファイルシステムの詳細ページのネットワークとセキュリティペインを選択します。
また、DescribeFileSystems API オペレーションのレスポンスで DNS 名を取得することもできます。
をステップ 1 でファイルシステムに関連付けたフル DNS エイリアスに置き換えます。alias_fqdn
## Set SPNs for FSx file system AD computer object $FSxDnsName = "
file_system_DNS_name
" $Alias = "alias_fqdn
" $FileSystemHost = (Resolve-DnsName $FSxDnsName | Where Type -eq 'A')[0].Name.Split(".")[0] $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost) ##Use one of the following commands, not both: Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"} ##Or SetSpn /S ("HOST/" + $Alias.Split('.')[0]) $FSxAdComputer.Name SetSpn /S ("HOST/" + $Alias) $FSxAdComputer.Name注記
元のファイルシステムのコンピュータオブジェクトの AD に、DNS エイリアスの SPN が存在する場合は、Amazon FSx ファイルシステムの SPN の設定は失敗します。既存の SPN の検索および削除については、「元のファイルシステムのアクティブディレクトリコンピュータオブジェクト上で、既存の DNS エイリアス SPN を検索して削除するには」を参照してください。
-
次のスクリプティング例を使用して、新しい SPN が DNS エイリアス用に設定されていることを確認します。この手順で前述したように、レスポンスに 2 つのホスト SPN (
HOST/
とalias
HOST/
) が含まれていることを確認します。alias_fqdn
を Amazon FSx がファイルシステムに割り当てた DNS 名に置き換えてください。Amazon FSx コンソールでファイルシステムの DNS 名を検索するには、[Files systems] (ファイルシステム) を選択し、ファイルシステムを選択してから、ファイルシステムの詳細ページで [Network & security] (ネットワークとセキュリティ) ペインを選択します。file_system_DNS_name
また、DescribeFileSystems API オペレーションのレスポンスで DNS 名を取得することもできます。
## Verify SPNs on FSx file system AD computer object $FileSystemDnsName = "
file_system_dns_name
" $FileSystemHost = (Resolve-DnsName ${FileSystemDnsName} | Where Type -eq 'A')[0].Name.Split(".")[0] $FSxAdComputer = (Get-AdComputer -Identity ${FileSystemHost}) SetSpn /L ${FSxAdComputer}.Name -
ステップ 1 でファイルシステムに関連付けた各 DNS エイリアスについて、これまでの手順を繰り返します。
Amazon FSx ファイルシステムに接続するときに Kerberos 認証と暗号化を使用するようにクライアントを強制する方法については、「GPO を使用した Kerberos 認証の適用」を参照してください。
ステップ 3: ファイルシステムの DNS CNAME レコードを更新または作成する
ファイルシステムの SPN を適切に設定した後、元のファイルシステムに解決された各 DNS レコードを、Amazon FSx ファイルシステムのデフォルトの DNS 名に解決する DNS レコードに置き換えることによって、Amazon FSx にカットオーバーできます。
このセクションで説明するコマンドを実行するには、dnsserver
と activedirectory
の Windows モジュールが必要です。
必要な PowerShell コマンドレットをインストールするには
-
Amazon FSx ファイルシステムが参加しているアクティブディレクトリに接続している Windows インスタンスに、DNS 管理許可を持つグループ (AWS マネージド型アクティブディレクトリの AWSAWS 委任されたドメイン名システム管理者、および ドメイン管理者 またはセルフマネージドアクティブディレクトリで DNS 管理許可を委譲した別のグループ) のメンバーであるユーザーとしてログオンします。
詳細については、「Windows インスタンス用 Amazon EC2 ユーザーガイド」の「Windows インスタンスへの接続」を参照してください。
管理者として PowerShell を開きます。
この手順の要領を実行するには、PowerShell DNS サーバーモジュールが必要です。次のコマンドを使用してインストールします。
Install-WindowsFeature RSAT-DNS-Server
Amazon FSx ファイルシステムにカスタム DNS 名を更新または作成するには
-
DNS 管理許可を持つグループ (AWS マネージドアクティブディレクトリの AWS 委任されたドメイン名システム管理者、および ドメイン管理者、またはセルフマネージドアクティブディレクトリで DNS 管理許可を委任した別のグループ) のメンバーであるユーザーとして、Amazon EC2 インスタンスに接続します。
詳細については、「Windows インスタンスの Amazon EC2 ユーザーガイド」の「 Windows インスタンスへの接続」を参照してください。
-
コマンドプロンプトで、以下のスクリプティングを実行します。このスクリプティングは、既存の DNS CNAME レコードを Amazon FSx ファイルシステムに移行します。見つからない場合は、Amazon FSx ファイルシステムのデフォルト DNS 名に解決する DNS エイリアス
の新しい DNS CNAME レコードを作成します。alias_fqdn
スクリプティングを実行するには。
をファイルシステムに関連付けた DNS エイリアスに置き換えます。alias_fqdn
を Amazon FSx がファイルシステムに割り当てた DNS 名に置き換えてください。file_system_DNS_name
$Alias="
alias_fqdn
" $FSxDnsName="file_system_dns_name
" $AliasHost=$Alias.Split('.')[0] $ZoneName=((Get-WmiObject Win32_ComputerSystem).Domain) $DnsServerComputerName = (Resolve-DnsName $ZoneName -Type NS | Where Type -eq 'A' | Select -ExpandProperty Name) | Select -First 1 foreach ($computer in $DnsServerComputerName) { Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $computer -HostNameAlias $FSxDnsName -ZoneName $ZoneName } -
ステップ 1 でファイルシステムに関連付けた各 DNS エイリアスについて、前のステップを繰り返します。
これにより、DNS エイリアスを使用して Amazon FSx ファイルシステムの DNS CNAME 値を追加しました。これで、DNS エイリアスを使用してデータにアクセスできます。
注記
DNS CNAME レコードを更新して、以前に別のファイルシステムを指した Amazon FSx ファイルシステムを指す場合、クライアントはしばらくファイルシステムに接続できないことがあります。クライアント DNS キャッシュが更新されると、DNS エイリアスを使用して接続できます。詳細については、「DNS エイリアスを使用してファイルシステムにアクセスできない」を参照してください。
GPO を使用した Kerberos 認証の適用
アクティブディレクトリで次のグループポリシーオブジェクト (GPO) を設定することにより、ファイルシステムにアクセスするときに Kerberos 認証を適用できます。
NTLM の制限: リモートサーバーへの発信 NTLM トラフィック - このポリシー設定を使用して、コンピュータから Windows オペレーティングシステムを実行しているリモートサーバーへの発信 NTLM トラフィックを拒否または監査します。
NTLM の制限: NTLM 認証用のリモート サーバーの例外を追加する - このポリシー設定を使用すると、NTLM の 制限: リモートサーバーへの送信 NTLM トラフィックのポリシー設定が設定されている場合に、クライアントデバイスが NTLM 認証を使用することが許可されるリモートサーバーの例外リストを作成できます。
Amazon FSx ファイルシステムが管理者として参加しているアクティブディレクトリに参加させられた Windows インスタンスにログオンします。セルフマネージドアクティブディレクトリを設定してる場合は、アクティブディレクトリに次の手順を直接適用します。
[Start] (スタート) を選択し、[Administrative Tools] (管理ツール) を選択して[Group Policy Management] (グループポリシーの管理) を選択します。
グループポリシーオブジェクト を選択します。
グループポリシーオブジェクトが存在していない場合は、作成してください。
既存の [Network Security: Restrict NTLM: Outgoing NTLM traffic to remote servers] (ネットワークセキュリティ: NTLM の制限: リモートサーバーへの送信 NTLM トラフィック) ポリシーを見つけます。(既存のポリシーが存在しない場合は、新しいポリシーを作成します。) ローカルセキュリティ設定 タブで、コンテキスト (右クリック) メニューを開き、[Properties] (プロパティ) を選択します。
[Deny all] (すべてを拒否) を選択します。
[Apply] (適用) を選択して、セキュリティ設定を保存します。
クライアントの特定のリモートサーバーへの NTLM 接続の例外を設定するには、ネットワークセキュリティ: NTLM の制限: リモートサーバーの例外の追加を特定します。
コンテキスト (右クリック) メニューを開き、ローカルセキュリティ設定 タブの プロパティ を選択します。
例外リストに追加するサーバーの名前を入力します。
[Apply] (適用) を選択して、セキュリティ設定を保存します。