Amazon Relational Database Service (Amazon RDS) および Amazon Aurora データベースの SSL/TLS 証明書を更新し、接続間の通信を暗号化したいと考えています。
解決策
現在の SSL/TLS 証明書を特定する
次の手順を実行します。
- Aurora と RDS コンソールを開きます。
- ナビゲーションペインで [データベース] をクリックし、目的の Amazon RDS または Aurora データベースを選択します。
- [接続とセキュリティ] において、データベースが使用する認証局 (CA) の [セキュリティ] セクションを確認します。
注: Amazon RDS および Aurora データベースで使用できる CA のリストについては、「認証局」を参照してください。
SSL/TLS 証明書を更新する
次の手順を実行します。
- Aurora と RDS コンソールを開きます。
- ナビゲーションペインで [データベース] をクリックし、目的の Amazon RDS または Aurora データベースを選択します。
- [変更] をクリックします。
- [接続] で [認証局] を選択します。
- [認証局] で [続行] をクリックし、変更内容を確認します。
- データベースエンジンが再起動不要の証明書ローテーションをサポートしている場合は、[すぐに適用] を選択します。
注: [すぐに適用] を選択しない場合、変更は次回のメンテナンス期間中に適用されます。
エンジンが再起動を必要とする場合は、[変更のスケジュール] で [次の定期メンテナンス期間中に適用] を選択します。
- [DB インスタンスの変更] をクリックします。
SSL/TLS 接続を強制する
Amazon RDS および Aurora MySQL 互換エディションに SSL/TLS 接続を強制するには、次の手順を実行します。
- データベースインスタンスにカスタムのパラメータグループを作成するか、既存のパラメータグループを使用します。
または、データベースクラスターにカスタムのクラスターパラメータグループを作成するか、既存のクラスターパラメータグループを使用します。
- カスタムパラメータグループの require_secure_transport パラメータを ON に設定します。このパラメータは動的であるため、再起動を必要とせず、即時有効になります。
require_secure_transport パラメータを有効化した後は、データベースインスタンスまたはクラスターへの接続を確立する際、CA を使用する必要があります。詳細については、「Amazon RDS の証明書バンドルをダウンロードする」を参照してください。
SSL/TLS 証明書向けにアプリケーションを更新する方法については、次の AWS ドキュメントを参照してください。
注: SSL モードに preferred を使用しており、CA が存在しないか最新でない場合は、非暗号化接続が行われます。preferred モードの使用は避けることをおすすめします。
暗号化された接続を確立できない場合、次のエラーメッセージが表示される可能性があります。
"MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while —require_secure_transport=ON."
この問題を解決するには、次のコマンドを実行します。
mysql -h yourEndpoint -P 3306 -u yourUserName -pYourPassword --ssl-ca=full_path_to_CA_certificate
注: 例内の値を実際の値に置き換えてください。
アプリケーションのトラストストアを更新する
データベースインスタンスの証明書を更新した後、トラストストアを新しい CA で更新する必要があります。
注: トラストストアを更新する手順は、証明書によって異なります。
Aurora と RDS コンソールでは、SSL/TLS 証明書に認証局の日付および DB インスタンス証明書の有効期限が含まれます。認証局の日付は、ルート CA の有効期限です。DB インスタンス証明書の有効期限は、インスタンス上の証明書の有効期限です。RDS は、DB サーバー証明書のローテーションを自動的に処理し、同じルート CA を使用してローテーションを行います。新しい CA バンドルをダウンロードする必要はありません。
関連情報
Amazon RDS リソースの暗号化
Update the CA certificate version for your Amazon Lightsail database (Amazon Lightsail データベースの CA 証明書バージョンを更新する)
Amazon RDS for Db2 DB インスタンスでの SSL/TLS の使用