Amazon RDS SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新

2019年12月18日システムAWS

Amazon RDS SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新
Amazon RDS SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新

どうも、UT(@ut_1029)です。AWS(Amazon Web Service)のRDSで2020年2月5日までにSSL/TLS証明書の更新を行うよう通知が来ました。Amazon RDSSSL/TLS証明書rds-ca-2015からrds-ca-2019への更新作業を行ったので手順等を共有します。ぜひご覧ください。

AWS RDSのSSL/TLS証明書の更新とは

AWSRDSでは、SSL/TLSを使用してRDSDBインスタンスへ接続を行っています。そして2020年2月5日までに新しい認証機関(CA)の証明書が発行されたので、更新する必要があります。

2020年2月5日までに更新しない場合は、AWS側が設定しているRDSのメンテナンススケジュールにより自動で更新されます。なので、更新作業を忘れていても大丈夫です。が、証明書の更新により強制的に再起動されるので、サービス運営している場合は、サービスがダウンしてしまう為、事前に更新することをオススメします。

AWSからRDSのSSL/TLS証明書の更新通知メールが届く

AWSより2019年11月29日0時26分頃に以下のようなメールが届きました。

メールの文面をざっくり抜き出すと以下のような内容になります。

  • AmazonRDSSSL/TLS証明書の更新が必要
    • 更新は2020年2月5日までに行う
    • 期限を過ぎると登録されているスケジュール通りに自動で更新処理が開始される
    • 2020年1月14日以降に作成されたRDSDB インスタンスには新しい証明書が使用される
  • アプリケーションが SSL/TLS プロトコルを使用して RDSDB インスタンスに接続している場合は、別途手順が必要
    • クライアントアプリケーションはCA証明書を必ずトラストストアに追加

MySQLなどのクライアントアプリケーションを利用してRDSのDBインスタンスへ接続する際に、SSL/TLSで接続している場合は、別途トラストストアへCA証明書を追加する作業が必要みたいです。

RDSSSL/TLS更新に関する詳しい内容については、AWSのドキュメントに記載されています。

2020 年 2 月 5 日までに Amazon RDS SSL/TLS 証明書を更新してください

2020 年 2 月 5 日までに Amazon RDS SSL/TLS 証明書を更新してください
2020 年 2 月 5 日までに Amazon RDS SSL/TLS 証明書を更新してください

AWSマネージメントコンソールで、RDSダッシュボードを開きます。すると、左メニューに「Certificate update」という項目にバッチが付いていると思います。

Certificate updateを開くと以下のメッセージが表示されています。

2020 年 2 月 5 日までに Amazon RDS SSL/TLS 証明書を更新してください

RDS および Aurora データベースを使用するアプリケーションの中断を避けるため、これらのデータベースの認証機関 (CA、Certificate Authority) 証明書を 2020 年 2 月 5 日までに更新してください。
2020 年 1 月 14 日以降に作成された新しいデータベースでは、デフォルトで新しい CA 証明書が使用されます。
まず、新しい証明書を使用してクライアントアプリケーションを更新してください。

そして更新が必要なデータベースに対象のDBインスタンスが表示されていると思います。

Amazon RDS SSL/TLS 証明書の更新する前に

Amazon RDS SSL/TLS 証明書の更新する前に
Amazon RDS SSL/TLS 証明書の更新する前に

Amazon RDS SSL/TLS 証明書の更新作業に入る前に、RDS(Amazon Relational Database Service)の概要について軽く触れておきます。
AWS再入門 Amazon RDS編

Amazon Aurora DB クラスター

Amazon Aurora DB クラスターは、1 つ以上の DB インスタンスとデータを管理する 1 つのクラスターボリュームで構成されます。

基本構成としては、クラスター配下にマスタ(書き込み用)とリードレプリカ(読み込み用)を用意しておくことが多いと思います。

レプリケーション

DBインスタンスマスタ(書き込み用)とリードレプリカ(読み込み用)で用意し、データを同期させる構成がレプリケーションです。

フェイルオーバー

マスタ(書き込み用)のDBインスタンスに障害が発生すると、フェイルオーバーすることで他のリードレプリカ(読み込み用)のDBインスタンスマスタ(書き込み用)へ昇格します。

Amazon RDS SSL/TLS 証明書の更新する手順

 Amazon RDS SSL/TLS 証明書の更新する手順
Amazon RDS SSL/TLS 証明書の更新する手順

RDSのSSL/TLSの証明書更新を行うと、DBインスタンス再起動されます。その為にサービスを運営しているとダウンタイムが発生します。なので、更新手順をしっかりと把握しダウンタイムを短い時間で行う必要があります。

運営サービスのダウンタイムを気にしない場合

RDSのSSL/TLS証明書の更新による再起動ダウンタイムを特に気にしない場合は、簡単にRDSマネージメントコンソールから証明書更新できます。

作業すること
RDSのマネージメントコンソールより対象のDBインスタンスを選択し、rds-ca-2015からrds-ca-2019へ変更を行う。

SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

RDSSSL/TLS証明書rds-ca-2015からrds-ca-2019へ更新する手順を紹介します。

まずはRDSマネージメントコンソールを開きます。

 SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する
SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

SSL/TLS証明書を更新するDBインスタンスを選択して、[変更]ボタンを押下します。

SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する
SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

ネットワーク&セキュリティにある証明機関rds-ca-2015rds-ca-2019へ変更します。

 SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する
SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

rds-ca-2015からrds-ca-2019へ切り替えると以下の様なメッセージが表示されます。

Before scheduling the CA certificate rotation, update client applications that connect to your database to use the new CA certificate. Not doing this will cause an interruption of connectivity between your applications and your database. Get new CA certificates.

CA証明書のローテーションをスケジュールする前に、データベースに接続するクライアントアプリケーションを更新して、新しいCA証明書を使用します。これを行わないと、アプリケーションとデータベース間の接続が中断されます。新しいCA証明書を取得します。

画面下部にある[次へ]ボタンを押下します。

SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する
SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

変更のスケジュールを[すぐに適用]を行います。

※もし夜中などに自動で再起動して適用する場合は[次に予定されるメンテナンスウィンドウ中に適用します]で問題ありません。

そしてDBインスタンスの[変更]ボタンを押下します。するとDBインスタンスが再起動されSSL/TLS証明書が更新されます。

既にAWS側が自動でメンテナンスウィンドウへスケジュール登録されていることがあります。そのため同一の変更がすでにスケジュール登録されているというアラートが表示されます。すぐに適用する場合は、気にせずにDBインスタンスの変更をもう一度押下すると実行することが出来ます。

運営サービスのダウンタイムを気にする場合

RDSのSSL/TLS証明書の更新による再起動ダウンタイムを短くする必要がある場合は、事前に準備をしておく必要があります。

作業メモ
クラスターを使用して、レプリケーションしているDBインスタンスフェイルオーバーで切り替えます。
作業すること
クラスターリードレプリカを追加してリードレプリカDBインスタンス証明書rds-ca-2015からrds-ca-2019へ更新。そしてクラスターに紐づいている追加したリードレプリカではないDBインスタンスを選択し、フェイルオーバーを行う。そしてリードレプリカを書き込みへ切り替える。

リードレプリカをクラスタへ追加する

RDSSSL/TLS証明書rds-ca-2015からrds-ca-2019へ更新する際に、ダウンタイムを減らすようリードレプリカを追加し、フェイルオーバーする手順を紹介します。

まずはRDSマネージメントコンソールを開きます。

リードレプリカをクラスタへ追加する
リードレプリカをクラスタへ追加する

クラスターを選択し、[アクション]の[リーダーの追加]を行いリードレプリカクラスタへ追加します。

SSL/TLS証明書をrds-ca-2015からrds-ca-2019へ更新する

そして追加したリードレプリカSSL/TLS証明書rds-ca-2015からrds-ca-2019へ更新します。
※さきごど手順を紹介したので、ここでは割愛します。

マスタ(書き込み)のDBインスタンスをフェイルオーバーする

マスタ(書き込み)のDBインスタンスをフェイルオーバーする
マスタ(書き込み)のDBインスタンスをフェイルオーバーする

RDSマネージメントコンソールを開きます。そして先ほどリードレプリカを追加したクラスタに紐づいているマスタ(書き込み)となっているDBインスタンスを選択します。

[アクション]の[フェイルオーバー]を選択します。こうしてフェイルオーバーを手動で行います。すると数秒するとリードレプリカマスタへ昇格を行います。

あとはリードレプリカとなったDBインスタンスを削除して作業終了となります。

フェイルオーバーでの再起動などのダウンタイムについて

AWSよくある質問ページに数十秒でフェイルオーバーは完了すると記載があります。

Amazon Aurora レプリカを同一の、または異なるアベイラビリティーゾーンに作成しておくと、フェイルオーバーが発生した場合、Aurora は DB インスタンスの正規名レコード (CNAME) を切り替えて正常なレプリカを指定します。指定されたレプリカはこれにより新しいプライマリに昇格します。フェイルオーバーは開始から終了まで通常 30 秒以内に完了します。

https://aws.amazon.com/jp/rds/aurora/faqs/

参考サイト

今回この記事にある更新手順の「フェイルオーバーを起こしてマスタ(書き込み用)とリードレプリカ(読み込み用)の交代を行い更新を行いフェイルオーバー中のダウンタイムは許容」する方法を参考にしました。
AWS Aurora の SSL/TLS 接続用 CA 証明書を更新した話

RDSの更新方法で考えられる方法についてまとめられた記事です。画像付きで説明されているのでわかりやすかったです。
Amazon AuroraのDB インスタンスクラス変更方法まとめ

Amazon RDS SSL/TLS 証明書の更新によるダウンタイム

実際に RDSSSL/TLS証明書の更新とフェイルオーバーによるリードレプリカの切り替えを行いました。その際のダウンタイムについて記載しておくので作業する際の目安にご覧ください。

  • SSL/TLS証明書の更新
    • 15秒程度
  • フェイルオーバーによるリードレプリカの切り替え
    • 30秒程度

またDBインスタンスのデータ量によって時間が変動するかと予想していましたが、あまり関係はしないようです。それよりアベイラビリティゾーンなどの構成によって大きく変動するそうです。

\今なら/Amazonギフト券チャージでポイントが貯まる

Amazonチャージでギフト券をチャージするとお得
Amazonチャージでギフト券をチャージするとポイントが貯まる

Amazonチャージでギフト券をチャージしておくとポイントが貯まるのでめっちゃお得です。

UT

Amazonを利用している人ならお得な情報です。

Amazonチャージとは

Amazonギフト券を事前にチャージしておけるサービスです。特典としてチャージする度にポイントが付与されるのでお得です!

  • 5,000円以上:0.5%
  • 20,000円以上:1%
  • 40,000円以上:1.5%
  • 90,000円以上:2%

※Amazonギフト券の有効期限は10年間と長いので、9万円チャージしたとしても1年に9,000円以上使うのであれば無理なく使い切れます。

リンク:Amazonチャージはこちらから。

クレジットカードでチャージすると0.5%ポイントが貯まるキャンペーンが開催中

さらにAmazonプライム会員ならクレジットカードでチャージすると0.5%ポイントが貯まるキャンペーンが開催中
クレジットカードチャージで0.5%ポイントが貯まる

さらにAmazonプライム会員ならクレジットカードでチャージすると0.5%ポイントが貯まるキャンペーンが開催中です。

UT

以下のリンクからキャンペーンにエントリーする必要があるので注意が必要です。

リンク:Amazonチャージのキャンペーンエントリーはこちらから。

ブラックフライデー連動のスタンプラリー

ブラックフライデー連動のスタンプラリー
ブラックフライデー連動のスタンプラリー

Amazonでは、2021年12月17日までにスタンプを5つ集めると「10人に1人最大50,000~500ポイント」が当たるチャンス!なスタンプラリーが開催しています。

  • ポイントアップキャンペーンにエントリーする
  • Amazonプライム配送特典の対象商品を購入する
  • Prime Videoを観る
  • Amazon Music Primeを聴く
  • Prime Readingの本を読む
UT

スタンプの1つである「ポイントアップキャンペーン」へのエントリーは、2021年12月02日23時59分までに完了する必要があります。

リンク:Amazonプライムスタンプラリーはこちらから。

UT
UTの日常

1985年生まれ1児の父親です。ブログとか副業で収入を得る手段を模索中であります。(無理しない程度が理想wだから実績が出ないorz)
UTのプロフィール
Amazon欲しいものリスト

2019年12月18日システムAWS

Posted by UT