インスタンスに対するOracle Cloud Infrastructure NTPサービスの構成
Oracle Cloud Infrastructureには、完全に管理されたセキュアで可用性の高いNTPサービスが用意されており、これを使用すると、仮想クラウド・ネットワーク(VCN)内からコンピュート・インスタンスおよびデータベース・インスタンスの日時を設定できます。Oracle Cloud Infrastructure NTPサービスは、すべての可用性ドメインで冗長性があるStratum 1デバイスを使用します。Stratum 2デバイスは、すべてのホストが同期されている専用のStratum 1デバイスに同期されます。サービスはすべてのリージョンで使用可能です。
このトピックでは、このNTPサービスを使用するよう、コンピュート・インスタンスを構成する方法について説明します。
インスタンスがパブリックNTPサービスを使用するように構成するか、FastConnectを使用してオンプレミスNTPサービスを活用するかを選択することもできます。
Oracle Autonomous Linux 8.x、Oracle Autonomous Linux 7.x、Oracle Linux 9.x、Oracle Linux 8.x、Oracle Linux 7.x、Oracle Linux Cloud Developer 8.x、2018年2月より後にリリースされたCentOS 7.xおよびCentOS Stream 8のプラットフォーム・イメージには、デフォルトでChronyサービスが含まれています。これらのインスタンスに対してOracle Cloud Infrastructure NTPサービスを構成する必要はありません。
次のステップを使用して、Oracle Cloud Infrastructure NTPサービスを使用するようにOracle Linux 6.xインスタンスを構成します。
-
次のコマンドを使用して、Oracle Cloud Infrastructure NTP サービスへの接続を許可するようにIPtablesを構成します:
sudo iptables -I BareMetalInstanceServices 8 -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment --comment "Allow access to OCI local NTP service" -j ACCEPT
sudo service iptables save
-
次のコマンドを使用してNTPサービスをインストールします:
sudo yum install ntp
-
次のコマンドを使用して、インスタンスの日付を設定します:
sudo ntpdate 169.254.169.254
-
Oracle Cloud Infrastructure NTPサービスをiburstで使用するようにインスタンスを構成します。構成するには、
/etc/ntp.conf
ファイルを次のように変更します:-
server
セクションで、RHELサーバーを指定する行をコメント・アウトします:#server 0.rhel.pool.ntp.org iburst #server 1.rhel.pool.ntp.org iburst #server 2.rhel.pool.ntp.org iburst #server 3.rhel.pool.ntp.org iburst
-
Oracle Cloud Infrastructure NTPサーバーのエントリを追加します:
server 169.254.169.254 iburst
変更した
server
セクションの内容は次のようになります:# Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.rhel.pool.ntp.org iburst #server 1.rhel.pool.ntp.org iburst #server 2.rhel.pool.ntp.org iburst #server 3.rhel.pool.ntp.org iburst server 169.254.169.254 iburst
-
-
次のコマンドを使用して、インスタンスの起動時にNTPサービスが自動的に起動するように設定します:
sudo chkconfig ntpd on
-
次のコマンドを使用してNTPサービスを開始します:
sudo /etc/init.d/ntpd start
-
次のコマンドを使用して、NTPサービスが正しく構成されていることを確認します:
ntpq -p
出力は、次のようになります。
remote refid st t when poll reach delay offset jitter ============================================================================== 169.254.169.254 192.168.32.3 2 u 2 64 1 0.338 0.278 0.187
次のステップを使用して、Oracle Cloud Infrastructure NTPサービスを使用するようにOracle Linux 7.xインスタンスを構成します。
- 次のコマンドを使用して、このセクションのコマンドはルートとして実行します:
sudo su -
- 次のコマンドを使用してNTPサービスをインストールします:
yum -y install ntp
- 次のコマンドを使用し、UDPポート123の169.254.169.254で、Oracle Cloud Infrastructure NTPサーバーに対するインバウンド・トラフィックとアウトバウンド・トラフィックを許可するようにファイアウォール・ルールを変更します:
awk -v n=13 -v s=' <passthrough ipv="ipv4">-A OUTPUT -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment --comment "Allow access to OCI local NTP service" -j ACCEPT </passthrough>' 'NR == n {print s} {print}' /etc/firewalld/direct.xml > tmp && mv tmp /etc/firewalld/direct.xml
プロンプト
mv: overwrite '/etc/firewalld/direct.xml'?
で、y
と入力します。 - 次のコマンドでファイアウォールを再起動します:
service firewalld restart
- 次のコマンドを使用して、インスタンスの日付を設定します:
ntpdate 169.254.169.254
- Oracle Cloud Infrastructure NTPサービスをiburstで使用するようにインスタンスを構成します。構成するには、
/etc/ntp.conf
ファイルを次のように変更します:server
セクションで、RHELサーバーを指定する行をコメント・アウトします:#server 0.rhel.pool.ntp.org iburst #server 1.rhel.pool.ntp.org iburst #server 2.rhel.pool.ntp.org iburst #server 3.rhel.pool.ntp.org iburst
-
Oracle Cloud Infrastructure NTPサービスのエントリを追加します:
server 169.254.169.254 iburst
変更した
server
セクションの内容は次のようになります:# Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.rhel.pool.ntp.org iburst #server 1.rhel.pool.ntp.org iburst #server 2.rhel.pool.ntp.org iburst #server 3.rhel.pool.ntp.org iburst server 169.254.169.254 iburst
-
次のコマンドを使用して、NTPサービスを開始して有効にします:
systemctl start ntpd systemctl enable ntpd
また、NTPサービスがリブート後に自動的に開始されるようにするには、次のコマンドを使用して、chrony NTPクライアントを無効にすることも必要です:
systemctl stop chronyd systemctl disable chronyd
-
次のコマンドを使用して、NTPサービスが正しく構成されていることを確認します:
ntpq -p
出力は、次のようになります。
remote refid st t when poll reach delay offset jitter ============================================================================== 169.254.169.254 192.168.32.3 2 u 2 64 1 0.338 0.278 0.187
Windows ServerでNTPサービスを設定するときに時刻データが利用できなかったというエラー・メッセージが表示された場合は、Microsoftの既知の問題の記事で情報を確認してください。
-
次のいずれかを実行して、Oracle Cloud Infrastructure NTPサービスを使用するよう、Windows Serverインスタンスを構成します:
-
Windows Powershellを使用してNTPサービスを構成するには、Powershellで管理者として次のコマンドを実行します:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Parameters' -Name 'Type' -Value NTP -Type String Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'AnnounceFlags' -Value 5 -Type DWord Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer' -Name 'Enabled' -Value 1 -Type DWord Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Parameters' -Name 'NtpServer' -Value '169.254.169.254,0x9' -Type String Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient' -Name 'SpecialPollInterval' -Value 900 -Type DWord Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'MaxPosPhaseCorrection' -Value 1800 -Type DWord Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\W32Time\Config' -Name 'MaxNegPhaseCorrection' -Value 1800 -Type DWord
-
レジストリを手動で編集してNTPサービスを構成するには、次の手順を実行します:
- サーバー・タイプをNTPに変更します:
- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- 「タイプ」をクリックします。
- 値を
NTP
に変更して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
-
Timeserv_Announce_Yes
フラグとReliable_Timeserv_Announce_Auto
フラグを有効化するようにWindowsタイム・サービスを構成します。構成するには、
AnnounceFlags
パラメータを5に設定します:- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- 「AnnounceFlags」をクリックします。
- 値を
5
に変更して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
- NTPサーバーを有効にします:
- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
- 「有効」をクリックします。
- 値を
1
に変更して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
- 時刻のソースを設定します:
- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
- 「NtpServer」をクリックします。
- 値を
169.254.169.254,0x9
に変更して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
- ポーリング間隔を設定します:
- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\
- 「SpecialPollInterval」をクリックします。
- タイム・サービスの同期を行う間隔に値を設定します。値は秒単位です。15分に設定する場合は、値を
900
,に設定して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
- フェーズ修正制限設定を設定して、時間サンプル境界を限定します:
- レジストリ・エディタで、次の場所に移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
- 「MaxPosPhaseCorrection」をクリックします。
- 時間サンプルの将来の最大時間オフセットに値を設定します。値は秒単位です。30分に設定する場合は、値を
1800
に設定して「OK」をクリックします。 - 「MaxNegPhaseCorrection」をクリックします。
- 時間サンプルの過去の最大時間オフセットに値を設定します。値は秒単位です。30分に設定する場合は、値を
1800
に設定して「OK」をクリックします。
- レジストリ・エディタで、次の場所に移動します:
- サーバー・タイプをNTPに変更します:
-
- コマンド・プロンプトから次のコマンドを実行して、タイム・サービスを再起動します:
net stop w32time && net start w32time
-
コマンド・プロンプトから次のコマンドを実行して、NTPサービスへの接続をテストします:
w32tm /query /peers
出力は、次のようになります。
#Peer: 1 Peer: 169.254.169.254,0x9 State: Active Time Remaining: 22.1901786s Mode: 3 (Client) Stratum: 0 (unspecified) PeerPoll Interval: 10 (1024s) HostPoll Interval: 10 (1024s)
ポーリング間隔として指定された時間が経過すると、
State
がPending
からActive
に変わります。