うるう秒対応についてお知らせ

記事タイトルとURLをコピーする

サーバーワークス運用チームからうる秒対応についてのお知らせです。 
2015年7月1日8時59分(日本時間)にうるう秒が挿入されます。

なぜうるう秒が問題なのか

まず、問題の本質をごく簡単に紹介します。通常は59秒の次は0秒となりますが、うるう秒として1秒挿入され60秒という時刻が追加されます。つまり、8時59分60秒という時刻が発生します。この時刻をただの文字として受け止める場合は問題ありませんが、時刻として受け止めた場合、そのような時刻が起こりうると認識されていないハードウェア、ソフトウェアで異常動作が引き起こされる可能性が考えられます。

clock01_09

うるう秒問題対策

しかし、うるう秒問題は事前に対策を図ることで回避できる問題です。一番簡単の回避策は、その時間に全てのサービスを停止させることです。8時59分60秒という時刻を受け取らなければ問題はないのです。ただ、この回避策が許されているシステムは少数でしょう。現実的にできることは机上でのうるう秒対策のサポート状況の確認です。

その際に、サポート済み、未サポートというだけの判断では不十分です。サポート済みでもその実装には大きく2種類あります。8時59分60秒という時刻を受け取り、正常に処理できるような完全サポートと、8時59分60秒という時刻を発生させない回避型のサポートです。また、その回避型サポートの方法にも複数のパターンがあります。

AWS RDSの場合

AWSのRDSインフラはうるう秒を完全サポートしています。しかし、実際のRDSのうるう秒対応は利用しているデータベースに依存します。例えば、MySQLは回避型サポートです。8時59分59秒を2回カウントすることでうるう秒問題を回避します。PostgreSQLの場合は完全サポートです。(Oracleの場合はバージョンによっても異なりますので、ここで明言は避けさせていただきます。)

それを踏まえ、お客様のアプリケーションの対応状況を考えていく必要があります。つまり、各レイヤーでどう問題対策がなされているかを把握することでトータルリスクを探していかなければなりません。なぜなら、検証環境での実試験が難しい問題だからです。

aws

サーバーワークスのうるう秒当日のサポート体制

うるう秒当日のサーバーワークスのサポート体制をお知らせいたします。通常10:00〜19:00をサーバーワークスエンジニアのサポート時間とさせていただいておりますが、当日は9:00からサポート可能な体制を準備いたします。

お客様には事前に十分に調査いただき万全な状態でうるう秒を迎えていただきたいと考えています。それでも、当日、問題に直面されてしまった場合には、即座に対応できる体制でお客様に安心を提供していきたいと考えています。

最後になりましたが、既に公開されているうるう秒対応に関する情報リンクをご紹介させていただきます。それでもご不明な点につきましては、弊社サポート窓口までお問い合わせください。

サービスプロバイダー情報
AWSAWS公式ブログ (日本語)
AWS公式ブログ (English)

MySQL

MySQL5.6 公式マニュアル (English)
MySQL5.7 公式マニュアル (English)

PostgreSQL

PostgreSQL9.4.2公式ドキュメント (English)
PostgreSQL9.4.0公式ドキュメント (日本語)

Redhat

公式ドキュメント (English)
公式Knowledgebase (日本語)

Microsoft

Microsoft Support (日本語)