Amazon RDSのSSL/TSL 証明書を更新する

AWSのAmazon RDSのSSL/TSL 証明書の期限が近づき更新するようアナウンスがあり、 2020/03/06 に切れるためその前に対応が必要でした。 更新にはオペレーションが必要なため、備忘録も兼ね手順を残します。

AWSのアナウンスについて

Classmethodさんの記事が分かり易いので引用させて頂きます。

  • 2020年2月5日: 新CA証明書への強制アップデートについての通知が送付される予定日
  • 2020年2月5日〜3月5日: メンテナンスウィンドウ準拠で新CA証明書へのアップデートが実施される予定。 新CA証明書適用が実施されると短時間のダウンタイムが発生する
  • 2020年3月5日: 現行のCA証明書の利用期限日。現行のCA証明書は利用できなくなり、アップデートがこの日までに実施されていなかった場合は強制アップデートが発生する( ダウンタイム発生 )。新しいCA証明書を持っていないアプリケーションはこの日以降SSL/TLS通信が不可能になる

Developers.IOより

更新には今すぐ更新と次のメンテナンスで更新かを選べます。

詳しくは、公式Developers.IOを参照してください。

SSL/TSL 証明書の期限の確認

データベースの「接続とセキュリティ」タブで証明書の期限を確認できます。 今回の対象はrds-ca-2015で以下のように認証機関の項に載っています。

ssl

証明書を更新する

証明書更新が必要なデータベースがある場合、左メニューの「Certificate update」に通知があり、 それをクリックすると更新のメニューが開きます。

ssl

更新したいDBを選択して、即時更新したい場合は「今すぐ更新」を選択。

ssl

チェックをして「今すぐ適用」をクリックすると証明書が更新されます。

ssl

更新が完了すると認証機関と証明書の日付が新しくなりました。

更新に伴うダウンタイムについて

証明書の更新には再起動がかかるためダウンタイムが生じます。

個人的に3回実行したのでかかった時間をまとめました。

インスタンスDBAZ再起動にかかった時間
db.t3.smallMySQL 5.6.41Single AZ11秒
db.t3.2xlargeMySQL 5.6.41Single AZ12秒
db.t2.smallOracle Standard Edition TwoSingle AZ不明?
  • フェイルオーバーも特になく 再起動にかかった時間 = ダウンタイム となっていました。
  • 再起動にかかった時間は10秒程でインスタンスクラスの差はほぼなさそう
  • アベイラビリティゾーン(AZ)がmultiの場合でも差はないそうです(Developers.IOより)
  • 再起動にかかった時間は最近のイベントにshutdown restarted のログが出るためそこで確認。
    • Oracleはそのログがないため不明としている。(更新してから認証機関を見に行くと既に新しくなっていたため、体感10秒以内に完了している)
  • コンソールでの手順はMySQLとOracleで違いはありませんでした。

次の証明書の期限は2024/08/23 までです。 次回も半年ぐらい前には通知が来ると思うので早めに対応したい。

Placeholder image

すずろく/suzu6

札幌にいるWEBアプリのエンジニア。最近はテストをもっと書きたい。

@suzu6_py Amazon ほしいものリスト

 関連記事

 新着 or 更新記事