インスタンスがスケジュールされたタスクを時間通りに実行し、正しいログタイムスタンプを記録し、分散ECSクラスターでクロックの一貫性を維持する必要がある場合など、さまざまなシナリオでElastic Compute Service (ECS) インスタンスにとって時間の正確性と一貫性は重要です。 このトピックでは、LinuxおよびWindows ECSインスタンスで時刻同期サービスを設定および管理する方法について説明します。
時刻同期サービス
時刻同期サービスは、NTPを使用してECSインスタンスの時刻をNetwork time Protocol (NTP) サーバーの時刻と同期し、ECSインスタンスの時刻が正確であることを保証します。
Linux
chronyとNTPは、Linuxインスタンスの一般的な時刻同期ツールです。
次の表に、chronyおよびNTPサービスを示します。
時刻同期サービス | 説明 | シナリオ | 時間同期精度 | 安定性 |
クロニー | chronyは、ネットワークタイムプロトコルを使用してコンピュータシステムの時刻を世界中のNTPサーバーと同期させるソフトウェアパッケージです。 chronyはネットワーク環境の変更に適しており、システム時間を高速かつ効率的に調整できます。 | 高精度、高い安定性、およびオートメーションを必要とするシナリオに適しています。 | 高い | 高遅延および不安定なネットワーク環境に適しています。 |
NTP | NTPは、古典的な時刻同期サービスであり、NTPプロトコルの実装です。 NTPは、安定したネットワーク接続がある環境など、長時間実行されるサーバーに適しています。 | 高精度を必要としないほとんどのシナリオに適しています。 | Medium | 限られたレベルのネットワーク不安定性のみを処理します。 |
時刻同期サービスプロセスの表示
Alibaba Cloudパブリックイメージには、デフォルトの時刻同期設定が含まれています。 パブリックイメージから作成されたECSインスタンスは、時間同期を実装するためにchronyで実行されます。 ほとんどの場合、時刻同期サービスに介入する必要はありません。
NTPは、ECSインスタンスのCentOS 6イメージなど、以前の特定のバージョンのイメージに対して設定されています。 NTPは、NTPコミュニティによって維持されなくなりました。 ECSインスタンスがNTPを実行しているが、ビジネスがNTPを必要としない場合は、chronyを使用することを推奨します。
次のコマンドを実行して、ECSインスタンスによって実行されている時刻同期サービスを表示します。
sudo ps aux | grep -E "ntpd|chronyd"
次のコマンド出力は、ECSインスタンスがchronyで実行されていることを示します。
次のコマンド出力は、ECSインスタンスがNTPを実行していることを示します。
現在のシステム時刻を表示する
コマンドを実行して、現在のシステム時刻が正確かどうかを確認できます。
chrony
次のコマンドを実行して、システム時刻のオフセット、システム時刻の安定性、前回の時刻同期が実行された時刻など、時刻同期ステータスに関する情報を表示します。 [システム時間] パラメーターをチェックして、現在の時刻が正確であるかどうかを確認できます。 この例では、返された情報 (0.000025116秒slow of NTP time
) は、現在のシステム時刻がNTP時刻より遅いことを示します。
sudo chronyc tracking
次のサンプルコマンド出力が返されます。
NTP
次のコマンドを実行して、設定されたNTPサーバーと対応するステータスインジケータに関する情報を表示します。 コマンド出力では、offsetパラメーターは、NTPサーバー時刻とECSインスタンスのローカル時刻の差を示します。
sudo ntpd -p
次のサンプルコマンド出力が返されます。
手動時刻同期の設定
デフォルトでは、ECSインスタンスで実行されるchronyまたはNTPは、時間ジャンプを防ぐために時間を徐々に調整します。 手動で時刻を同期しないことを推奨します。 ビジネスで手動の時刻同期が必要な場合は、次の操作を実行します。
chrony
sudo chronyc makestep
chronyが時間同期を完了するために使用される場合、200 OK
が返される。
NTP
NTPは、NTPコミュニティによって維持されなくなりました。 ntpdate
コマンドを実行して時刻同期を実行すると、タイムジャンプが発生する可能性があります。 ntpdateコマンドを実行する場合は、タイムジャンプを防ぐために、コマンドに少なくとも3つのクロックソースを指定します。 Alibaba Cloud NTPサーバーの詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。
仮想プライベートクラウド (VPC) のECSインスタンスの時刻を手動で同期します。
sudo ntpdate ntp.cloud.aliyuncs.com ntp7.cloud.aliyuncs.com ntp10.cloud.aliyuncs.com ntp11.cloud.aliyuncs.com ntp12.cloud.aliyuncs.com
クラシックネットワークのECSインスタンスの時刻を手動で同期します。
sudo ntpdate ntp1.cloud.aliyuncs.com ntp2.cloud.aliyuncs.com ntp3.cloud.aliyuncs.com ntp4.cloud.aliyuncs.com ntp5.cloud.aliyuncs.com
NTPサーバーアドレスの指定
時刻同期用のNTPサーバを指定できます。
分散クラスター内のインスタンス間でクロックの一貫性を確保するには、すべてのインスタンスが同じか信頼できるNTPサーバーを指すアドレスで構成されていることを確認します。
chrony
Linuxインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」「」をご参照ください。
NTPサーバーを設定します。
Alibaba Cloud NTPサーバーを設定する場合は、
<NTP server>
パラメーターを設定します。 詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。 Alibaba Cloud NTPサーバーアドレスの選択方法については、NTP時刻同期が異常になった場合はどうすればよいですか? このトピックの「FAQ」セクションで。次のコマンドを実行して、
chrony
設定ファイルを開きます。sudo vim /etc/chrony.conf
不要なNTPサーバーをブロックするには、次の図に示すように、構成ファイルで不要なNTPサーバーをコメントアウトします。
NTPサーバーを追加します。 この例では、次の図に示すように、構成ファイルの
ntp12.cloud.aliyuncs.com
アドレスに新しいNTPサーバーを追加できます。 使用可能なNTPサーバーアドレスの詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。設定ファイルを保存して終了します。 次のコマンドを順番に実行して
chronyd
を再起動し、システム起動時にchronyを実行できるようにします。sudo systemctl restart chronyd.service sudo systemctl enable chronyd.service
chronyサービスのステータスを表示します。
次のコマンドを実行して、インスタンスの時刻同期ステータスを表示し、chronyが起動しているかどうかを確認します。
sudo chronyc tracking
次のコマンドを実行して、時刻同期サーバーに関する情報を表示します。
sudo chronyc -n sources -v
NTP
Linuxインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」「」をご参照ください。
NTPサーバーを設定します。
Alibaba Cloud NTPサーバーを設定する場合は、
<NTP server>
パラメーターを設定します。 詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。 Alibaba Cloud NTPサーバーアドレスの選択方法については、NTP時刻同期が異常になった場合はどうすればよいですか? このトピックの「FAQ」セクションで。次のコマンドを実行して、
NTP
設定ファイルを開きます。sudo vim /etc/ntp.conf
不要なNTPサーバーをブロックするには、次の図に示すように、構成ファイルで不要なNTPサーバーをコメントアウトします。
server <NTP server address> minpoll <Minimum request interval> maxpoll <Maximum request interval> iburst
コマンドを実行してNTPサーバーを追加します。 この例では、図に示すように、ntp12.cloud.aliyuncs.com
時に新しいNTPサーバが構成ファイルに追加されます。 NTPサーバーアドレスの詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。設定ファイルを保存して終了します。 次のコマンドを実行して
ntpd
を再起動します。sudo service ntpd restart
NTPを開始します。
次のコマンドを順番に実行して
NTP
を起動し、システム起動時にNTPを実行できるようにします。sudo service ntpd start sudo chkconfig ntpd on
次のコマンドを実行して、NTPのステータスを確認します。
sudo ntpstat
次のコマンドを実行してNTPピアを表示します。
sudo ntpq -p
Windows
Windowsインスタンスは、Windows time serviceやW32timeなど、時刻同期に組み込みのタイムサービスを使用します。
現在のシステム時刻を表示する
CLIを使用します。
Win + R
を押し、cmd
と入力し、enter
キーを押してCLIを開きます。コマンドプロンプトで次のコマンドを実行して、現在のシステム時間を表示します。
date /t time /t
date /t
コマンドは、現在の日付を返します。time /t
コマンドは、現在のシステム時刻を返します。
GUIを使用してタスクバーを表示します。 Windowsタスクバーの右下隅に、現在の日付と時刻を表示します。
日付または時刻の設定を変更するには、タスクバーの通知領域で日付と時刻を右クリックし、[日付 /時刻の調整] をクリックします。 現在の日付と時刻を表示および変更できます。
手動時刻同期の設定
CLI
Win + R
を押し、cmd
と入力し、enter
キーを押してCLIを開きます。次のコマンドを実行して、手動で時刻を同期します。
w32tm /resync
上記のコマンドは、Windows timeサービスによって設定された時刻を、設定されたNTPサーバに強制的に再同期します。
次のコマンドを実行して、同期結果の同期ステータスを表示します。
w32tm /query /status
GUI
タスクバーの通知エリアで、日付と時刻をクリックし、[日付と時刻の設定] をクリックします。
時間設定を表示します。 [日付と時刻] ページで、[時刻の自動設定] パラメーターが [オン] に設定されていることを確認します。
手動時刻同期を設定します。 [日付と時刻] ページで、[時計の同期] セクションの [今すぐ同期] をクリックして、手動の時刻同期を完了します。
NTP サービスの設定
時刻同期用のNTPサーバーを指定する場合は、ビジネス要件に基づいて次のいずれかの方法を使用します。
CLI
管理者としてCLIを開きます。
次のコマンドを実行して、NTPサーバーを指定します。
この例では、
ntp11.cloud.aliyuncs.com
のNTPサーバが使用されます。 NTPサーバーアドレスの詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。w32tm /config /manualpeerlist:"ntp11.cloud.aliyuncs.com" /syncfromflags:manual /reliable:YES /update
次のコマンドを実行して、時刻同期サービスを再起動します。
net stop w32time net start w32time
次のコマンドを実行して、時刻を再同期します。
w32tm /resync
GUI
デフォルトでは、Windows ServerオペレーティングシステムはMicrosoft NTPサーバー (time.windows.com) に同期されます。 しかしながら、同期エラーが発生することがある。 Windows ECSインスタンスを使用する場合、デフォルトのMicrosoft NTPサーバーをAlibaba Cloudが提供する内部NTPサーバーに置き換えることができます。 この例では、Windows Server 2022オペレーティングシステムが使用されています。 次の手順を実行して、デフォルトのNTPサーバーアドレスを変更します。
Windowsインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
タスクバーの通知エリアで、日付と時刻をクリックし、[日付と時刻の設定] をクリックします。
[設定] ページで、[異なるタイムゾーンの時計の追加] をクリックします。
[日付と時刻] ダイアログボックスで、[インターネット時間] タブをクリックし、[設定の変更] をクリックします。
[インターネット時刻設定] ダイアログボックスで、[インターネットタイムサーバーとの同期] を選択し、内部ネットワークにデプロイされたAlibaba Cloud NTPサーバーのアドレスを入力し、[今すぐ更新] をクリックし、[OK] をクリックします。 NTPサーバーアドレスの詳細については、このトピックの「Alibaba Cloud NTPサーバーのドメイン名」をご参照ください。
重要インスタンス上のサードパーティのウイルス対策ソフトウェアが原因で、時間同期が失敗する可能性があります。 ウイルス対策ソフトウェアを無効にし、時間を再同期します。
[OK] をクリックします。
よくある質問
付録
Alibaba Cloud NTPサーバーのドメイン名
次の表に、さまざまなネットワーク内のAlibaba Cloud NTPサーバーのドメイン名を示します。 これらのドメイン名はIPv4のみをサポートします。 Alibaba Cloud NTPサーバーアドレスを変更する場合は、ビジネス要件に基づいて次のいずれかのアドレスを選択できます。
クラシックネットワーク (内部ネットワーク) | VPC (内部ネットワーク) | インターネット |
ntp1.cloud.aliyuncs.com ntp2.cloud.aliyuncs.com ntp3.cloud.aliyuncs.com ntp4.cloud.aliyuncs.com ntp5.cloud.aliyuncs.com ntp6.cloud.aliyuncs.com 重要 クラシックネットワークのECSインスタンスに関連するサービスは、2025年2月28日にEOL (EOL) になります。 中止のお知らせとVPC移行計画の詳細については、「クラシックネットワークのAlibaba Cloud ECSインスタンスのEOL通知」をご参照ください。 | ntp.cloud.aliyuncs.com ntp7.cloud.aliyuncs.com ntp8.cloud.aliyuncs.com ntp9.cloud.aliyuncs.com ntp10.cloud.aliyuncs.com ntp11.cloud.aliyuncs.com ntp12.cloud.aliyuncs.com | ntp.aliyun.com ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ntp5.aliyun.com ntp6.aliyun.com ntp7.aliyun.com |
関連ドキュメント
Linuxオペレーティングシステムの時間関連の概念と操作、またはLinuxパブリックイメージへの構成変更の時間については、「Linuxの時間とタイムゾーン」をご参照ください。