継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

RDS と Aurora の SSL/TLS 証明書のメンテナンスアナウンスについて

タダです.

RDS 及び Aurora で使っている CA 証明書の入れ替えがアナウンスされています.今回はこのメンテナンスの情報をまとめ,対処や注意点に触れて関係する方の一助になればと思います.

2019/10/25 更新

AWS ドキュメントのアップデートがあり,デフォルト証明書適用開始日が11/1 から 2020年1月14日変更になった模様です.

Any new RDS DB instances created after January 14, 2020 will use the new certificates by default. If you want to temporarily modify new DB instances manually to use the old (rds-ca-2015) certificates, you can do so using the AWS Management Console or the AWS CLI. Any DB instances created prior to January 14, 2020 use the rds-ca-2015 certificates until you update them to the rds-ca-2019 certificates

更新されたドキュメントページ https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.htmldocs.aws.amazon.com

2019/12/21 更新

AWS から RDS 及び Aurora の証明書更新に関してブログが更新されました.今回の記事でデータベースを再起動せずに証明書を入れ替えられる AWS CLImodify-db-instance--no-certificate-rotation-restart オプションが紹介されています.今回のメンテナンスは, SSL/TLS でのデータベース接続していないデータベースにも影響があります.本稼働中のデータベースでは再起動を入れづらいと思いますのでこれは利用者にとってとてもありがたいアップデートですね.

aws.amazon.com

注意点として,下記の引用にもある様に上記のコマンドで再起動を避けられるが,証明書の適用されるのは再起動が発生するタイミングとなります.

If you do not want to restart your database, you can use a new CLI option for the modify-db-instance CLI command (--no-certificate-rotation-restart) specifically to rotate and stage the new certificates on the database host to avoid a restart. However, new certificates will be picked up by the database only when a planned or unplanned database restart happens.

データベースを再起動したくない場合は、modify-db-instance CLIコマンドの新しいCLIオプション(--no-certificate-rotation-restart)を使用して、特にデータベースホストで新しい証明書をローテーションおよびステージングできます。再起動を避けます。ただし、データベースが新しい証明書を取得するのは、計画的または計画外のデータベースの再起動が発生した場合のみです。

AWS CLI ドキュメント

docs.aws.amazon.com

AWS からのメンテナンスアナウンス情報まとめ

概要

今回のメンテナンスの概要ですが,RDS 及び Aurora に接続する際に通信を暗号化で使う SSL/TLS 証明書のデフォルトがrds-ca-2015からrds-ca-2019に変更となります.それに伴い,証明書の入れ替えが RDS 及び Aurora で発生します.また,クライアント側でも利用しているルート証明書の入れ替えを行う必要があります.

メールでのアナウンス

AWS より発行されている本メンテナンスに関するメールの引用文です.

タイトル

Update Your Amazon RDS SSL/TLS Certificates by October 31, 2019

本文

Hello,

Please act before October 31, 2019 to address an upcoming interruption of your applications using RDS and Aurora database instances.

To protect your communications with RDS database instances, a Certificate Authority (CA) generates time-bound certificates that are checked by your database client software to authenticate any RDS database instance(s) before exchanging information. Following industry best practices, AWS renews the CA and creates new certificates on a routine basis to ensure RDS customer connections are properly protected for years to come. The current CA expires on March 5, 2020, requiring updates to existing RDS database instances with certificates referencing the current CA.

You are receiving this message because you have an Amazon RDS database instance(s) in the AP-NORTHEAST-1, AP-NORTHEAST-2, AP-SOUTHEAST-1, AP-SOUTHEAST-2 Region(s). If your applications connect to those instances using the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocol please follow the detailed instructions in the link below to complete your update(s). If not completed, your applications will fail to connect to your DB instances using SSL/TLS after March 5, 2020.

We encourage you to test these steps within a development or staging environment before implementing them in your production environments. Beginning today, you can start testing and updating your existing RDS database instances. For detailed instructions, please visit: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html

Any new RDS instances created after November 1, 2019 will default to using the new certificates. If you wish to temporarily modify new instances manually to use the old (rds-ca-2015) certificates, you can do so using the AWS console or the AWS CLI. Any instances created prior to November 1, 2019 will have the rds-ca-2015 certificates until you update them to the rds-ca-2019 version.

If you have questions or issues, please contact AWS Support at: https://aws.amazon.com/support

公式ブログでのアナウンス

公式ブログではよくある質問への回答まとめ記事がでていましたので関係しそうな方は要チェックです.

aws.amazon.com

利用者側での必要な対処について

利用者側で必要な対処は,2つあります.

参考ドキュメント

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.htmldocs.aws.amazon.com

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.htmldocs.aws.amazon.com

注意点

注意点として,ドキュメントにも記載がありますがインスタンスの再起動が発生します.本番のワークロードに乗っている場合は計画的に再起動を検討していきましょう.

また, RDS への SSL 接続していない場合でも来年の3月5日に強制アップデートがかかるため,rds-ca-2015を使っていれば再起動されていた、、、なんてことが発生しかねないため注意して再起動メンテナンスのタイミングを計画した方が良いでしょう.

2020 年 2 月 5 日以降、既存の DB インスタンスについて、2020 年 3 月 5 日の最終期限を迎える前に実施される強制アップデートのスケジュールの通知を送付させていただきます。もし、CA 証明書が 2020 年 3 月 5 日までにアップデートされなかった場合、お客様のアプリケーションからの SSL/TLS 接続は、CA 証明書が無効になっているため、失敗するようになります。この最終期限につきましては、CA 証明書が実際に無効になる日付であるため、延期することができません。

11月1日から起動したインスタンスにはデフォルト証明書がrds-ca-2019が適用されます.これは即ちポイントインタイムリカバリやスナップショットからの復元でも適用される点は注意です.

2019 年 11 月 1 日以降、お客様が新たに DB インスタンス (Amazon RDS DB インスタンス、Amazon Aurora DB クラスター、リードレプリカおよびスナップショットからのリストアを含む) を作成した場合、そのインスタンスはデフォルトで新しい CA 証明書 (rds-ca-2019) を使用いたします

なお,公式ブログにはデフォルト証明書の切り替えタイミングは変更の可能性が記されていますが,早急に対応すべきメンテナンスのため,11月1日目処に切り替えられるよう準備を進めることをお勧めします.

新規 DB インスタンスにおける CA 証明書のデフォルトの切り替え日 (2019 年 11 月 1 日) につきましては予定となっており、お客様からのフィードバックを元に延期する予定でございます。新しい切り替え日につきましては、追ってご連絡させていただきます。

今回のメンテナンスに関わるスケジュール

最後に,今回のメンテナンスに関するスケジュールを以下にまとめます.

Q: CA 証明書更新のタイムラインはどのようになっていますか?
2019 年 10 月 31 日: 当初 2019 年 11 月 1 日より新しい CA 証明書が新規 DB インスタンスで使用される予定だったため、CA 証明書アップデートの早期実施の推奨日
2019 年 11 月 1 日: 当初新しい CA 証明書が新規 DB インスタンスで使用開始される予定だった日
2020 年 2 月 5 日: 最終期限である 2020 年 3 月 5 日より数週間前に実施される強制アップデートについての通知が送付される予定の日付
2020 年 3 月 5 日: 古い CA 証明書が無効になり、強制アップデートが実行され、新しい CA 証明書を持っていないアプリケーションが SSL/TLS 接続性を失う日付

まとめ

RDS 及び Aurora の SSL/TLS 証明書 入れ替えに伴うメンテナンス概要,利用者側の対応及び注意点を整理しました.RDS や Aurora を利用されている方は多くいらっしゃるかと思いますので,再起動も発生しますし入念に準備を進めて行きましょう.