すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:システム時刻ジャンプ訓練

最終更新日:Apr 22, 2025

時刻ジャンプとは、システムクロックの突然の変化を指します。システム時刻の正確さと、システムコンポーネント全体での時刻の整合性は、本番システムにとって非常に重要です。適切な時刻管理を行わないと、ロギング、同期、バックアップなどのさまざまな時刻依存サービスで異常な動作が発生する可能性があります。時刻ジャンプ訓練を実施することで、システム時刻ジャンプが発生した場合に、システムが正しい時刻を迅速に同期および回復し、ビジネス運用を再開できるかどうかを確認できます。

実装

このソリューションでは、クラウドアシスタントプラグイン ACS-ECS-TimeJump を使用します。これは、システム時刻のオフセットを設定することで、時刻を前後に調整できます。エラー回復は、Chrony サービスが NTP タイムサーバーと同期することで実現されます。したがって、このプラグインをエラー挿入に使用する場合は、Chronyc サービスをインストールする必要があります。

手順

前提条件

エラーの挿入

  1. ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. sudo アクセス権限を持つユーザーを使用して、クラウドアシスタントプラグイン ACS-ECS-TimeJump を実行します。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TimeJump --params inject,[time=paramA],[duration=paramB]

    [] 内のパラメーターは、オプションのエラー挿入パラメーターです。パラメーターの説明:

    • time (オプション): 秒単位の時刻オフセット。正の整数は時刻を早送りし、負の整数は時刻を巻き戻します。デフォルト値は 1 です。

    • duration (オプション): 秒単位の期間。デフォルト値は 300 です。

    次の情報が表示されたら、クラウドアシスタントプラグイン ACS-ECS-TimeJump が起動しています。

    image

  3. date コマンドを実行して、現在のシステム時刻が想定どおりかどうかを確認します。

    image

エラーの回復

  • 方法 1: タイムアウト後に自動回復を待ちます。

  • 方法 2: ECS インスタンスでエラー回復コマンドを実行します。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TimeJump --params recover
    重要

    回復コマンドは、実際には時刻同期をトリガーします。Chrony サービスの同期に必要な時間は、複数の要因によって異なります。したがって、訓練終了後に時刻が回復したかどうかを確認する必要があります。

訓練例

  1. 時刻ジャンプのプロセスをよりよく観察するために、ターミナルで次のスクリプトを実行します。このスクリプトは、現在のシステム時刻を 1 秒ごとに表示します。

    while true; do
        date +"%Y-%m-%d %H:%M:%S"
        sleep 1
    done
  2. インスタンスにデータを挿入して、エラーをシミュレートします。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TimeJump --params inject,time=1800

    このコマンドは、現在のシステム時刻を 1800 秒早送りします。調整されたシステム時刻を含む、次の情報が返されます。

    image

  3. エラー挿入の効果を確認します。

    15:35:01 にシステム時刻がジャンプしていることがわかります。

    image

  4. 回復コマンドを実行します。

    システムは NTP サーバーと自動的に時刻を同期します。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TimeJump --params recover

    sudo acs-plugin-manager --exec --plugin ACS-ECS-TimeJump --params recover

    システム時刻は正常に戻ります。

    image

システム時刻の設定

NTP 時刻同期サービスを設定し、時刻同期サービスが開始されているかどうかを確認します。詳細については、「時刻同期サービスの管理」をご参照ください。