ドメインコントローラーとタイムゾーンが異なる場合もドメインに参加できるか確認してみた
AWS上のリソースのタイムゾーンは大体UTCだけど大丈夫かな
こんにちは、のんピ(@non____97)です。
皆さんは「Active Directory のドメインコントローラー(以降AD DC)とタイムゾーンが異なる場合にドメインに参加できるか」気になったことはありますか? 私はあります。
EC2インスタンスやAmazon FSx for NetApp ONTAP(以降FSx for ONTAP)などのマネージドサービスのタイムゾーンは特に設定しなければUTCです。
AD環境はオンプレミス上にあるものをそのまま使うケースが多いと思います。そして、オンプレミス上にあるサーバーのタイムゾーンはAsia/Tokyo
にしていることが多いのではないでしょうか
Active Directory(以降AD DC)ではユーザー認証にKerberos認証を使用しています。
Active Directory Domain ServicesとWindowsは、サービス プリンシパル名 (SPN) のサポートを提供します。これは、クライアントがサービスを認証する Kerberos メカニズムの主要なコンポーネントです。
Microsoft Windows Server オペレーティング システムには、公開キー認証に対応した Kerberos Version 5 認証プロトコルと拡張機能が実装されています。
そして、Kerberos認証がAD DCと参加したいコンピュータとの時刻の差の最大許容値のデフォルトは5分です。また、ベストプラクティスも5分となっています。
ベスト プラクティス
- コンピューターのクロック同期の最大許容値を 5 分の値に設定することをお勧めします。
コンピューターのクロック同期の最大許容値 (Windows 10) - Windows security | Microsoft Learn
タイムゾーンが異なれば、ローカルタイムが5分以上時刻がズレるのは必至です。
ということで、AD DCと参加したいコンピュータのタイムゾーンが異なる場合でもドメイン参加できるか確認してみました。
いきなりまとめ
- AD DCとドメインに参加するコンピューターのタイムゾーンが異なる場合もドメインに参加できる
- Windowsは正確な実装ではないが、NTPの使用で定義されているアルゴリズムで時刻同期をする
- NTPは時刻同期する際にUTCを使用しており、タイムゾーンの設定の影響を受けない
ドキュメントから時刻同期の仕組みを確認
まずはドキュメントからWindowsの時刻同期の仕組みを確認してみましょう
すると、以下のような文言を見つけました。
Windows タイム サービスは、ネットワーク タイム プロトコル (NTP) の正確な実装ではありませんが、ネットワーク全体のコンピューターのクロックが可能な限り正確であることを確認する NTP 仕様で定義されているアルゴリズムの複雑なスイートを使用します。
. . (中略) . .
AD DS フォレストでは、あらかじめ決められた時間同期階層を持ちます。 Windows タイム サービスは、上部にある最も正確な参照時計と、階層内のコンピューター間の時間を同期します。 1 つ以上のタイム ソースがコンピューターで構成されている場合、Windows タイムはそのタイム ソースと同期するコンピューターの機能に基づいて構成されたソースから最適なタイム ソースを選択する NTP アルゴリズムを使用します。 Windows タイム サービスは、ネットワークのブロードキャストまたはマルチキャストのピアからの同期をサポートしていません。 これらの NTP 機能に関する詳細については、IETF RFC データベースでの RFC 1305 を参照してください。
. . (中略) . .
ネットワーク タイム プロトコル
ネットワーク タイム プロトコル (NTP) は、既定のオペレーティング システムで Windows タイム サービスによって使用される同期プロトコルの時間します。 NTP はフォールト トレラントで拡張性の高いタイム プロトコルで、指定された時刻に参照を使用してコンピューターのクロックを同期するために最もよく使用されるプロトコルです。
NTP 時刻の同期では、時間の期間にわたってが行われ、ネットワーク経由で NTP パケットの転送は、です。 NTP のパケットには、時刻の同期に、クライアントと参加しているサーバーの両方からタイム サンプルが含まれるタイムスタンプが含まれています。
NTP では、使用する最も正確な時間を定義する参照クロックに基づいてし、その参照の時計をネットワーク上のすべてのクロックを同期します。 NTP は、普遍的な基準として、現在の時刻を世界協定時刻 (UTC) を使用します。 UTC はタイム ゾーンから独立しており、タイム ゾーンの設定に関係なく、世界中どこでも使用する NTP を使用します。
正確な実装ではないようですが、NTPで時刻同期をしているようです。NTPは時刻同期する際にUTCを使用しており、タイムゾーンの設定は関係ないことも明記されていますね。
また、システムはローカルタイムではなく、UTCを使用していることもMicrosoft公式ドキュメントに記載がありました。
システムは内部的に UTC ベースの時刻を使用しますが、通常、アプリケーションには ローカル時刻 (タイム ゾーンの日付と時刻) が表示されます。 したがって、正しい結果を得るには、関数が UTC ベースの時刻または現地時間を受け取る必要があるかどうか、および関数が UTC ベースの時刻またはローカル時刻を返すかどうかを認識する必要があります。
以上のことから、AD DCと参加したいコンピュータのタイムゾーンが異なる場合でもドメイン参加できそうですね。
試してみる
検証環境
検証環境は以下の通りです。
AD DCとタイムゾーンが異なるEC2インスタンスと、FSx for ONTAPを用意してそれぞれドメイン参加できるか確認します。
EC2インスタンスのドメイン参加
それでは、タイムゾーンが異なるWindows ServerのEC2インスタンスをドメインに参加させてみます。
AD DCのタイムゾーンはUTCになっています。
> tzutil /g UTC
また、AD DCの時刻同期の設定も確認します。
# 時刻同期の状態確認 > w32tm /query /status Leap Indicator: 0(no warning) Stratum: 4 (secondary reference - syncd by (S)NTP) Precision: -23 (119.209ns per tick) Root Delay: 0.0564918s Root Dispersion: 0.9390326s ReferenceId: 0xA83DD74A (source IP: 168.61.215.74) Last Successful Sync Time: 11/4/2022 12:20:31 AM Source: time.windows.com,0x8 Poll Interval: 7 (128s) # 時刻同期の設定確認 > w32tm /query /configuration [Configuration] EventLogFlags: 2 (Local) AnnounceFlags: 10 (Local) TimeJumpAuditOffset: 28800 (Local) MinPollInterval: 6 (Local) MaxPollInterval: 10 (Local) MaxNegPhaseCorrection: 172800 (Local) MaxPosPhaseCorrection: 172800 (Local) MaxAllowedPhaseOffset: 300 (Local) FrequencyCorrectRate: 4 (Local) PollAdjustFactor: 5 (Local) LargePhaseOffset: 50000000 (Local) SpikeWatchPeriod: 900 (Local) LocalClockDispersion: 10 (Local) HoldPeriod: 5 (Local) PhaseCorrectRate: 7 (Local) UpdateInterval: 100 (Local) [TimeProviders] NtpClient (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) CrossSiteSyncFlags: 2 (Local) AllowNonstandardModeCombinations: 1 (Local) ResolvePeerBackoffMinutes: 15 (Local) ResolvePeerBackoffMaxTimes: 7 (Local) CompatibilityFlags: 2147483648 (Local) EventLogFlags: 1 (Local) LargeSampleSkew: 3 (Local) SpecialPollInterval: 1024 (Local) Type: AllSync (Local) NtpServer: 169.254.169.123,0x9 time.windows.com,0x8 (Local) NtpServer (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 1 (Local) InputProvider: 0 (Local) AllowNonstandardModeCombinations: 1 (Local) VMICTimeProvider (Local) DllName: C:\Windows\System32\vmictimeprovider.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) # 時刻同期先との同期状態確認 > w32tm /query /peers #Peers: 3 Peer: time.windows.com,0x8 State: Active Time Remaining: 14.2024429s Mode: 3 (Client) Stratum: 3 (secondary reference - syncd by (S)NTP) PeerPoll Interval: 6 (64s) HostPoll Interval: 6 (64s) Peer: State: Pending Time Remaining: 785.9387454s Mode: 0 (reserved) Stratum: 0 (unspecified) PeerPoll Interval: 0 (unspecified) HostPoll Interval: 0 (unspecified) Peer: 169.254.169.123,0x9 State: Pending Time Remaining: 898.6229488s Mode: 0 (reserved) Stratum: 0 (unspecified) PeerPoll Interval: 0 (unspecified) HostPoll Interval: 0 (unspecified)
AllSync
でAmazon Time Sync Serviceとtime.windows.com
に時刻同期するようになっており、現在はtime.windows.com
と時刻同期していますね。
同様にドメインに参加するEC2インスタンスのタイムゾーンと時刻同期設定を確認します。
# タイムゾーン確認 > tzutil /g UTC # 時刻同期の状態確認 > w32tm /query /status Leap Indicator: 0(no warning) Stratum: 4 (secondary reference - syncd by (S)NTP) Precision: -23 (119.209ns per tick) Root Delay: 0.0006558s Root Dispersion: 3.7744759s ReferenceId: 0xA9FEA97B (source IP: 169.254.169.123) Last Successful Sync Time: 11/4/2022 12:21:29 AM Source: 169.254.169.123,0x9 Poll Interval: 9 (512s) # 時刻同期の設定確認 > w32tm /query /configuration [Configuration] EventLogFlags: 2 (Local) AnnounceFlags: 10 (Local) TimeJumpAuditOffset: 28800 (Local) MinPollInterval: 9 (Local) MaxPollInterval: 11 (Local) MaxNegPhaseCorrection: 54000 (Local) MaxPosPhaseCorrection: 54000 (Local) MaxAllowedPhaseOffset: 1 (Local) FrequencyCorrectRate: 4 (Local) PollAdjustFactor: 5 (Local) LargePhaseOffset: 50000000 (Local) SpikeWatchPeriod: 900 (Local) LocalClockDispersion: 10 (Local) HoldPeriod: 5 (Local) PhaseCorrectRate: 1 (Local) UpdateInterval: 120 (Local) [TimeProviders] NtpClient (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) AllowNonstandardModeCombinations: 1 (Local) ResolvePeerBackoffMinutes: 15 (Local) ResolvePeerBackoffMaxTimes: 7 (Local) CompatibilityFlags: 2147483648 (Local) EventLogFlags: 1 (Local) LargeSampleSkew: 3 (Local) SpecialPollInterval: 900 (Local) Type: NTP (Local) NtpServer: 169.254.169.123,0x9 (Local) VMICTimeProvider (Local) DllName: C:\Windows\System32\vmictimeprovider.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) NtpServer (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 0 (Local) InputProvider: 0 (Local)
タイムゾーンはUTCでAmazon Time Sync Serviceと時刻同期するようになっていますね。
それでは、タイムゾーンを変更して、ドメイン参加してみます。
まず、タイムゾーンを日本標準時に変更します。
# タイムゾーンを日本標準時に変更 > tzutil /s "Tokyo Standard Time" # タイムゾーンが変更されたことを確認 > tzutil /g Tokyo Standard Time > Get-TimeZone Id : Tokyo Standard Time DisplayName : (UTC+09:00) Osaka, Sapporo, Tokyo StandardName : Tokyo Standard Time DaylightName : Tokyo Daylight Time BaseUtcOffset : 09:00:00 SupportsDaylightSavingTime : False
次に、ドメイン参加するために参照先のDNSサーバーとして、AD DCのIPアドレスを指定します。
# 現在のDNSサーバーのIPアドレスを確認 > Get-DnsClientServerAddress InterfaceAlias Interface Address ServerAddresses Index Family -------------- --------- ------- --------------- Ethernet 7 IPv4 {10.0.1.2} Ethernet 7 IPv6 {} Loopback Pseudo-Interface 1 1 IPv4 {} Loopback Pseudo-Interface 1 1 IPv6 {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3} # 参照先のDNSサーバーとして、AD DCのIPアドレスを指定 > Set-DnsClientServerAddress -InterfaceIndex 7 -ServerAddresses ("10.0.1.10") # 参照先のDNSサーバーのIPアドレスが変更されたことを確認 > Get-DnsClientServerAddress InterfaceAlias Interface Address ServerAddresses Index Family -------------- --------- ------- --------------- Ethernet 7 IPv4 {10.0.1.10} Ethernet 7 IPv6 {} Loopback Pseudo-Interface 1 1 IPv4 {} Loopback Pseudo-Interface 1 1 IPv6 {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
続いて、DNSサフィックスを修正します。
デフォルトでは、ec2.internal
とus-east-1.ec2-utilities.amazonaws.com
が指定されており、corp.non-97.net
の名前解決をしようとすると2回タイムアウトします。
# DNSサフィックスの確認 > ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : EC2AMAZ-1484DCE Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No DNS Suffix Search List. . . . . . : us-east-1.ec2-utilities.amazonaws.com ec2.internal Ethernet adapter Ethernet: Connection-specific DNS Suffix . : ec2.internal Description . . . . . . . . . . . : Amazon Elastic Network Adapter Physical Address. . . . . . . . . : 0E-45-B9-A0-88-D3 DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : fe80::b8de:ed67:b206:d72d%7(Preferred) IPv4 Address. . . . . . . . . . . : 10.0.1.27(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.192 Lease Obtained. . . . . . . . . . : Friday, November 4, 2022 9:06:14 AM Lease Expires . . . . . . . . . . : Friday, November 4, 2022 10:36:13 AM Default Gateway . . . . . . . . . : 10.0.1.1 DHCP Server . . . . . . . . . . . : 10.0.1.1 DHCPv6 IAID . . . . . . . . . . . : 118145671 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-F6-0F-CE-0E-45-B9-A0-88-D3 DNS Servers . . . . . . . . . . . : 10.0.1.10 NetBIOS over Tcpip. . . . . . . . : Enabled # corp.non-97.net のゾーンの名前解決 > nslookup a.corp.non-97.net Server: ip-10-0-1-10.ec2.internal Address: 10.0.1.10 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. Name: a.corp.non-97.net Address: 10.2.2.2
DNSサフィックスを修正して、名前解決の際にタイムアウトしないように設定します。
# 現在の Connection-specific DNS Suffix の確認 > Get-DnsClient InterfaceAlias Interface ConnectionSpecificSuffix ConnectionSpecificSuffix RegisterThisConn UseSuffixWhen Index SearchList ectionsAddress Registering -------------- --------- ------------------------ ------------------------ ---------------- ------------- Ethernet 7 ec2.internal {} True False Loopback Pseudo-Interface 1 1 {} True False # Connection-specific DNS Suffix を corp.non-97,net に変更 > Set-DnsClient "Ethernet" -ConnectionSpecificSuffix "corp.non-97.net" # 変更されたことを確認 > Get-DnsClient InterfaceAlias Interface ConnectionSpecificSuffix ConnectionSpecificSuffix RegisterThisConn UseSuffixWhen Index SearchList ectionsAddress Registering -------------- --------- ------------------------ ------------------------ ---------------- ------------- Ethernet 7 corp.non-97.net {} True False Loopback Pseudo-Interface 1 1 {} True False # 現在の DNS Suffix Search List の確認 > Get-DnsClientGlobalSetting UseSuffixSearchList : True SuffixSearchList : {us-east-1.ec2-utilities.amazonaws.com, ec2.internal} UseDevolution : True DevolutionLevel : 0 # DNS Suffix Search List を corp.non-97,net に変更 > Set-DnsClientGlobalSetting -SuffixSearchList @("corp.non-97.net") # 変更されたことを確認 > Get-DnsClientGlobalSetting UseSuffixSearchList : True SuffixSearchList : {corp.non-97.net} UseDevolution : True DevolutionLevel : 0 # 名前解決の際にタイムアウトしないことを確認 > nslookup a.corp.non-97.net Server: ip-10-0-1-10.ec2.internal Address: 10.0.1.10 Name: a.corp.non-97.net Address: 10.2.2.2
下準備ができたので、ドメイン参加させます。
> $password=ConvertTo-SecureString -AsPlainText -Force "<ADのAdministratorのパスワード>" > $credential=New-Object System.Management.Automation.PSCredential("corp.non-97.net\Administrator",$password) > Add-Computer -DomainName corp.non-97.net -Credential $credential -Restart -Force
再起動後、ドメインに参加できているか確認します。
> Get-WMIObject Win32_ComputerSystem Domain : corp.non-97.net Manufacturer : Amazon EC2 Model : t3.micro Name : EC2AMAZ-1484DCE PrimaryOwnerName : EC2 TotalPhysicalMemory : 1043886080
ドメイン参加できましたね。タイムゾーンが異なっていてもドメインに参加できることを確認できました。
なお、タイムゾーンは日本標準時のままです。
> Get-TimeZone Id : Tokyo Standard Time DisplayName : (UTC+09:00) Osaka, Sapporo, Tokyo StandardName : Tokyo Standard Time DaylightName : Tokyo Daylight Time BaseUtcOffset : 09:00:00 SupportsDaylightSavingTime : False
また、時刻同期のタイプはNTP
からAllSync
に、時刻同期先はAmazon Time Sync Serviceのみからtime.windows.com
が追加されました。
# 時刻同期の状態確認 > w32tm /query /status Leap Indicator: 0(no warning) Stratum: 4 (secondary reference - syncd by (S)NTP) Precision: -23 (119.209ns per tick) Root Delay: 0.0495899s Root Dispersion: 1.8007270s ReferenceId: 0xA83DD74A (source IP: 168.61.215.74) Last Successful Sync Time: 11/4/2022 10:01:56 AM Source: time.windows.com,0x8 Poll Interval: 6 (64s) # 時刻同期の設定確認 > w32tm /query /configuration [Configuration] EventLogFlags: 2 (Local) AnnounceFlags: 10 (Local) TimeJumpAuditOffset: 28800 (Local) MinPollInterval: 6 (Local) MaxPollInterval: 10 (Local) MaxNegPhaseCorrection: 4294967295 (Local) MaxPosPhaseCorrection: 4294967295 (Local) MaxAllowedPhaseOffset: 300 (Local) FrequencyCorrectRate: 4 (Local) PollAdjustFactor: 5 (Local) LargePhaseOffset: 50000000 (Local) SpikeWatchPeriod: 900 (Local) LocalClockDispersion: 10 (Local) HoldPeriod: 5 (Local) PhaseCorrectRate: 1 (Local) UpdateInterval: 100 (Local) [TimeProviders] NtpClient (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) CrossSiteSyncFlags: 2 (Local) AllowNonstandardModeCombinations: 1 (Local) ResolvePeerBackoffMinutes: 15 (Local) ResolvePeerBackoffMaxTimes: 7 (Local) CompatibilityFlags: 2147483648 (Local) EventLogFlags: 1 (Local) LargeSampleSkew: 3 (Local) SpecialPollInterval: 1024 (Local) Type: AllSync (Local) NtpServer: 169.254.169.123,0x9 time.windows.com,0x8 (Local) VMICTimeProvider (Local) DllName: C:\Windows\System32\vmictimeprovider.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) NtpServer (Local) DllName: C:\Windows\system32\w32time.dll (Local) Enabled: 0 (Local) InputProvider: 0 (Local)
FSx for ONTAPのCIFSサーバーのドメイン参加
次に、タイムゾーンが異なるFSx for ONTAPのCIFSサーバーをドメインに参加させてみます。
まず、デフォルトのタイムゾーンを確認してみます。
FsxId0985568f56d10b4a2::> timezone Timezone: Etc/UTC FsxId0985568f56d10b4a2::> cluster date show Node Date Time zone --------- ------------------------- ------------------------- FsxId0985568f56d10b4a2-01 11/4/2022 01:20:15 +00:00 Etc/UTC FsxId0985568f56d10b4a2-02 11/4/2022 01:20:15 +00:00 Etc/UTC 2 entries were displayed.
FSx for ONTAPのクラスター及び、ノードに設定されているタイムゾーンはUTCでした。
時刻同期先も確認してみましょう。
FsxId0985568f56d10b4a2::> cluster time-service ntp server show Is Authentication Server Version Enabled Key ID ------------------------------ ------- -------------- ------ 169.254.169.123 auto false -
Amazon Time Sync Serviceと時刻同期していますね。
それでは、FSx for ONTAPのクラスターのタイムゾーンを変更してみます。
# タイムゾーンを日本標準時に変更 FsxId0985568f56d10b4a2::> cluster date modify -timezone Asia/Tokyo Error: "modify" is not a recognized command # 権限を変更して再チャレンジ FsxId0985568f56d10b4a2::> set advanced Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel. Do you want to continue? {y|n}: y FsxId0985568f56d10b4a2::*> cluster date modify -timezone Asia/Tokyo Error: "modify" is not a recognized command
どうやらFSx for ONTAPでは時刻の修正をするコマンドであるcluster date modifyは実行できないようです。
2022/11/30 追記 : timezone コマンドでタイムゾーンを指定するとタイムゾーンの変更ができました
# 現在のタイムゾーンを確認 FsxId057bb6afad5d6a27f::> timezone Timezone: Etc/UTC # 現在の時刻を確認 FsxId057bb6afad5d6a27f::> date show (cluster date show) Node Date Time zone --------- ------------------------- ------------------------- FsxId057bb6afad5d6a27f-01 11/30/2022 08:33:45 Etc/UTC +00:00 FsxId057bb6afad5d6a27f-02 11/30/2022 08:33:45 Etc/UTC +00:00 2 entries were displayed. # タイムゾーンを変更 FsxId057bb6afad5d6a27f::> timezone -timezone Asia/Tokyo 1 entry modified # タイムゾーンが変更されたことを確認 FsxId057bb6afad5d6a27f::> timezone Timezone: Asia/Tokyo # 各ノードのタイムゾーンが変更されたことを確認 FsxId057bb6afad5d6a27f::> date show (cluster date show) Node Date Time zone --------- ------------------------- ------------------------- FsxId057bb6afad5d6a27f-01 11/30/2022 17:34:34 Asia/Tokyo +09:00 FsxId057bb6afad5d6a27f-02 11/30/2022 17:34:34 Asia/Tokyo +09:00 2 entries were displayed.
仕方がないので、AD DC側のタイムゾーンを変更します。
# AD DCの現在のタイムゾーンを確認 > tzutil /g UTC # AD DCのタイムゾーンをハワイの標準時刻に変更 > tzutil /s "Hawaiian Standard Time" # タイムゾーンが変更されたことを確認 > tzutil /g Hawaiian Standard Time > Get-TimeZone Id : Hawaiian Standard Time DisplayName : (UTC-10:00) Hawaii StandardName : Hawaiian Standard Time DaylightName : Hawaiian Daylight Time BaseUtcOffset : -10:00:00 SupportsDaylightSavingTime : False (PowerShellを別ウィンドウで開く) # 現在の時刻を確認 > Get-Date -Format "yyyy/MM/dd hh:mm:ss zzz" 2022/11/03 05:19:11 -10:00
AD DCのタイムゾーンがハワイの標準時刻で、FSx for ONTAPのタイムゾーンがUTCの状態でSVMを作成します。
# SVMを作成するときに使用するパラメーターの指定 $ filesystem_id=fs-0985568f56d10b4a2 $ svm_name=ntp-test $ net_bios_name=NTP-TEST $ domain_name=corp.non-97.net $ organizational_unit_distinguished_name='OU=FSxForONTAP,DC=corp,DC=non-97,DC=net' $ service_account_user_name=FSxServiceAccount $ service_account_password='<ADのAdministratorのパスワード>' $ dns_ip=10.0.1.10 $ create_storage_virtual_machine_input=$(cat <<EOM { "ActiveDirectoryConfiguration": { "NetBiosName": "$net_bios_name", "SelfManagedActiveDirectoryConfiguration": { "DomainName": "$domain_name", "OrganizationalUnitDistinguishedName": "$organizational_unit_distinguished_name", "UserName": "$service_account_user_name", "Password": "$service_account_password", "DnsIps": [ "$dns_ip" ] } }, "FileSystemId": "$filesystem_id", "Name": "$svm_name", "Tags": [ { "Key": "Name", "Value": "$svm_name" } ], "RootVolumeSecurityStyle": "NTFS" } EOM ) # SVMの作成 $ create_storage_virtual_machine_output=$(aws fsx create-storage-virtual-machine \ --cli-input-json "$create_storage_virtual_machine_input" ) # aws fsx create-storage-virtual-machine のレスポンス確認 $ echo $create_storage_virtual_machine_output \ | jq -r { "StorageVirtualMachine": { "ActiveDirectoryConfiguration": { "NetBiosName": "NTP-TEST", "SelfManagedActiveDirectoryConfiguration": { "DomainName": "corp.non-97.net", "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net", "UserName": "FSxServiceAccount", "DnsIps": [ "10.0.1.10" ] } }, "CreationTime": "2022-11-04T01:31:06.708000+00:00", "Endpoints": { "Iscsi": { "DNSName": "iscsi.svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com" }, "Management": { "DNSName": "svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com" }, "Nfs": { "DNSName": "svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com" }, "Smb": { "DNSName": "NTP-TEST.corp.non-97.net" } }, "FileSystemId": "fs-0985568f56d10b4a2", "Lifecycle": "PENDING", "Name": "ntp-test", "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-0985568f56d10b4a2/svm-06704545782b37da4", "StorageVirtualMachineId": "svm-06704545782b37da4", "Subtype": "DEFAULT", "Tags": [ { "Key": "Name", "Value": "ntp-test" } ] } } # SVMのID確認 $ svm_id=$(echo $create_storage_virtual_machine_output \ | jq -r ".StorageVirtualMachine.StorageVirtualMachineId" ) # SVMが作成されたか確認 $ aws fsx describe-storage-virtual-machines \ --storage-virtual-machine-ids "$svm_id" { "StorageVirtualMachines": [ { "ActiveDirectoryConfiguration": { "NetBiosName": "NTP-TEST", "SelfManagedActiveDirectoryConfiguration": { "DomainName": "corp.non-97.net", "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net", "UserName": "FSxServiceAccount", "DnsIps": [ "10.0.1.10" ] } }, "CreationTime": "2022-11-04T01:31:06.708000+00:00", "Endpoints": { "Iscsi": { "DNSName": "iscsi.svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com", "IpAddresses": [ "10.0.1.76", "10.0.1.125" ] }, "Management": { "DNSName": "svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com", "IpAddresses": [ "10.0.1.71" ] }, "Nfs": { "DNSName": "svm-06704545782b37da4.fs-0985568f56d10b4a2.fsx.us-east-1.amazonaws.com", "IpAddresses": [ "10.0.1.71" ] }, "Smb": { "DNSName": "NTP-TEST.corp.non-97.net", "IpAddresses": [ "10.0.1.71" ] } }, "FileSystemId": "fs-0985568f56d10b4a2", "Lifecycle": "CREATED", "Name": "ntp-test", "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-0985568f56d10b4a2/svm-06704545782b37da4", "StorageVirtualMachineId": "svm-06704545782b37da4", "Subtype": "DEFAULT", "UUID": "61a1a264-5be0-11ed-b73a-4fa3a538501a" } ] }
SVM作成後、ONTAP CLIでSVM内のCIFSサーバーがドメインに参加していることを確認します。
FsxId0985568f56d10b4a2::> cifs show -instance Vserver: ntp-test CIFS Server NetBIOS Name: NTP-TEST NetBIOS Domain/Workgroup Name: CORP Fully Qualified Domain Name: CORP.NON-97.NET Organizational Unit: OU=FSxForONTAP,DC=corp,DC=non-97,DC=net Default Site Used by LIFs Without Site Membership: Workgroup Name: - Authentication Style: domain CIFS Server Administrative Status: up CIFS Server Description: List of NetBIOS Aliases: -
ドメインに参加していますね。
CIFSサーバーのコンピュターオブジェクトが作成されていることも確認できました。
> Get-ADComputer -Filter 'Name -eq "NTP-TEST"' -SearchBase "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net" DistinguishedName : CN=NTP-TEST,OU=FSxForONTAP,DC=corp,DC=non-97,DC=net DNSHostName : NTP-TEST.CORP.NON-97.NET Enabled : True Name : NTP-TEST ObjectClass : computer ObjectGUID : 5060573e-9983-4e0e-aaba-49e7c0223a76 SamAccountName : NTP-TEST$ SID : S-1-5-21-38571244-2121234638-1230449559-1112 UserPrincipalName :
NTPによる時刻同期はタイムゾーンの影響を受けない
AD DCとドメインに参加するコンピューターのタイムゾーンが異なる場合もドメインに参加できるか確認してみました。
結論としては、「NTPによる時刻同期はUTCでタイムゾーンの影響を受けない」 = 「タイムゾーンが異なっていてもドメインには参加できる」でした。
マネージドサービスではタイムゾーンを変更できないものもあるので、確認できて安心しました。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!