こんな方へ特におすすめ
- Azure Database for MySQLを利用している方
- SSL/TLS証明書に関する基本的な知識を持つ方
はじめに
こんにちは。サイオステクノロジーのはらちゃんです!今回3本目のブログ執筆です。
Azure Database for MySQLを利用していたら証明書エラーになったので調べた結果をお話したいと思います。
概要
ある日突然、Azure Database for MySQLへの接続が「証明書エラー」でできなくなった──。
DigiCertGlobalRootCA.crt.pem
を利用しており、こんな経験をした方はいませんか?
もしかしたら、「証明書が予期せず切れた?」と感じたかもしれません。しかし、その原因は、Azure側がセキュリティ強化のために計画的にルート証明書を変更したためです。
今回は、このAzure Database for MySQLで発生したルート証明書変更の背景、なぜ変更が必要だったのか、どのように対応すべきかを詳しく解説します。
なぜ証明書の変更が必要?
これまでAzure Database for MySQLで利用されていたルート証明書DigiCertGlobalRootCA.crt.pem
は、「SHA-1」というハッシュアルゴリズムで署名されていました。
しかし、このSHA-1には深刻な脆弱性が発見されており、現在では安全とは言えません。多くのWebブラウザやセキュリティ機関が、SHA-1証明書の使用を非推奨としています。
そこでMicrosoftは、ユーザーのデータセキュリティとコンプライアンスの基準を維持するため、より強固な「SHA-256」で署名された新しいルート証明書DigiCertGlobalRootG2.crt.pem
への計画的な移行を進めていました。
利用していた環境で突然接続が無効になったように感じられたのは、この移行期間において、MySQLサーバー側が新しい証明書を要求するように更新されたためと考えられます。
セキュリティは常に進化しており、古い技術は新しい脅威に対応できなくなります。今回の変更は、Azureがユーザーに最新のセキュリティを提供するための重要なステップだったのです。
SHA-1 | SHA-256 | |
---|---|---|
概要 | 任意の長さのデータを160ビットの固定長ハッシュ値に変換 | 固定長の256ビットのハッシュ値を生成 |
特徴 | 衝突耐性が低下しており、セキュリティリスク | SHA-1よりも高いセキュリティと衝突耐性 |
大きな違いは「生成されるハッシュ値の長さ」と「セキュリティの強度」です。
証明書の有効期限切れが原因ではない
「証明書エラー」と聞くと、まず「有効期限が切れたのでは?」と思うかもしれません。 確かに、サーバー証明書の有効期間はセキュリティ上の理由から年々短くなる傾向にあります。
しかし、今回のAzure MySQLの接続問題は、証明書の有効期限切れが直接の原因ではありません。あくまで、より安全な証明書への切り替えという、Azureの計画的なメンテナンスの一環でした。
2025 年 9 月 1 日以降、Azure Database for MySQL フレキシブル サーバーのルート証明書の変更を開始しています。
この違いを理解することは、今後のトラブルシューティングにおいても非常に重要です。
今後の対応
このルート証明書の変更については、Microsoftの公式ドキュメントで詳しく説明されています。今回のメンテナンスにより、以下の対応が求められます。
- 新しいルート証明書のダウンロード
Microsoft Learnのドキュメントから、最新のルート証明書(例:DigiCertGlobalRootG2.crt.pem
)をダウンロードします。 - アプリケーションへの適用
お使いのアプリケーションや接続ライブラリ(JDBC, ODBC, .NET, MySQL Connector/Pythonなど)の設定で、ダウンロードした新しいルート証明書を信頼するようパスを指定します。多くの場合、ssl_ca
やcafile
といったパラメータで設定します。 - 既存の証明書との併用(推奨)
一時的な期間は、古い証明書と新しい証明書の両方を信頼するように設定できる「CAバンドルファイル」を作成・利用することが推奨されます。これにより、環境全体が新しい証明書に対応するまでの移行期間中の接続断を防ぐことができます。
また、メンテナンスの通知設定なども紹介されているので合わせて確認しておくと役立つと思います。
まとめ
今回は、Azure Database for MySQLで発生したルート証明書変更の背景と、その対応策について解説しました。
「証明書エラー」の裏には、サービスのセキュリティ強化という重要な目的がありました。突然の接続断に驚かれたかもしれませんが、DigiCertGlobalRootG2.crt.pem
のような新しい安全な証明書への更新は、現代のクラウドサービス運用において不可欠なプロセスです。
今後もAzureからの重要なお知らせには注意を払い、公式ドキュメントを参照しながら早めに対応することが、安定したサービス運用の鍵となります。