この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
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)でした!