SSL/TLS を使用した DB クラスターへの接続の暗号化 - Amazon Aurora

SSL/TLS を使用した DB クラスターへの接続の暗号化

アプリケーションの Secure Socket Layer (SSL) または Transport Layer Security (TLS) を使用して、Aurora MySQL または Aurora PostgreSQL を実行する DB クラスターへの接続を暗号化できます。

SSL/TLS 接続は、クライアントと DB クラスターの間を移動するデータを暗号化することによって、1 つのセキュリティ層を提供します。オプションで、データベースにインストールされたサーバー証明書を検証することで、SSL/TLS 接続でサーバー ID 検証を実行できます。サーバーの ID 検証を必須にするには、次の一般的な手順に従ってください。

  1. データベースの DB サーバー証明書に署名する認証局 (CA) を選択します。認証局の詳細については、「認証局」を参照してください。

  2. データベースに接続するときに使用する証明書バンドルをダウンロードします。証明書バンドルをダウンロードするには、 すべての AWS リージョン の証明書バンドルそして特定の AWS リージョン の証明書バンドルを参照してください。

    注記

    証明書はすべて、SSL/TLS 接続を使用したダウンロードでのみ使用可能です。

  3. DB エンジンのプロセスで、SSL/TLS Connect を実装するプロセスで、データベースに接続します。各 DB エンジンには SSL/TLS を実装する独自のプロセスがあります。ご使用のデータベースの SSL/TLS の実装方法については、ご使用の DB エンジンに対応する以下のリンクを使用してください。

認証局

認証局 (CA) は、証明書チェーンの最上位にあるルート CA を識別する証明書です。CA は、各 DB インスタンスにインストールされているサーバー証明書である、DB インスタンス証明書に署名します。DB サーバー証明書は DB インスタンスを信頼できるサーバーとして識別します。

認証局の概要

Amazon RDS にはデータベース用の DB サーバー証明書に署名するための、以下の CA が用意されています。

認証局 (CA) 説明

rds-ca-2019

RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。この CA は 2024 年に有効期限が切れ、サーバー証明書の自動ローテーションはサポートされていません。この CA を使用して同じ標準を維持したい場合は、rds-ca-rsa2048-g1 CA に切り替えることをお勧めします。

rds-ca-rsa2048-g1

大半の AWS リージョン では、RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。

AWS GovCloud (US) Regions では、CA が RSA 2048 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。

この CA は rds-ca-2019 CA よりも長期間有効です。この CA はサーバー証明書の自動ローテーションをサポートします。

rds-ca-rsa4096-g1

RSA 4096 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

rds-ca-ecc384-g1

ECC 384 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

注記

AWS CLI を使用している場合は、describe-certificates を使用して、上記の認証局の有効性を確認できます。

これらの CA 証明書は、地域およびグローバル証明書バンドルに含まれています。rds-ca-rsa2048-g1、rds-ca-rsa4096-g1、または rds-ca-ecc384-g1 CA をデータベースで使用すると、RDS はデータベース上で DB サーバー証明書を管理します。RDS は、DB サーバーの証明書の有効期限が切れる前に証明書のローテーションを行います。

データベースに CA を設定する

データベースの CA は、以下のタスクの実行時に設定できます。

  • Aurora DB クラスターの作成 – AWS CLI または RDS API を使用して DB クラスター内で最初の DB インスタンスを作成するとき、Aurora クラスター内の DB インスタンスのための CA を設定できます。現在、RDS コンソールを使用して DB クラスターを作成するときは、DB クラスター内で DB インスタンスの CA は設定できません。手順については、Amazon Aurora DB クラスターの作成 を参照してください。

  • DB インスタンスの変更 – DB クラスターで DB インスタンスを変更することにより、CA を設定できます。手順については、DB クラスター内の DB インスタンスの変更 を参照してください。

注記

デフォルトの CA は rds-ca-rsa2048-g1 に設定されています。modify-certificates コマンドを使用して、AWS アカウント のデフォルト CA をオーバーライドできます。

使用可能な CA は、DB エンジンと DB エンジンのバージョンによって異なります。AWS Management Console を使用するとき、次の図に示すように、認証局の設定を使用して CA を選択できます。

認証局のオプション

コンソールには、DB エンジンおよび DB エンジンのバージョンで利用可能な CA のみが表示されます。AWS CLI を使用しているとき、create-db-instance コマンドまたは modify-db-instance コマンドを使用して DB インスタンスの CA を設定できます。

AWS CLI を使用しているとき、describe-certificates コマンドを使用して、アカウントで使用可能な CA を確認できます。このコマンドでは、出力内の ValidTill に各 CA の有効期限も表示されます。describe-db-engine-versions コマンドを使用すると、特定の DB エンジンと DB エンジンのバージョンで使用できる CA を検索できます。

次の例は、PostgreSQL DB エンジンのバージョンのデフォルト RDS で使用できる CA を示しています。

aws rds describe-db-engine-versions --default-only --engine postgres

以下のような出力が生成されます。使用可能な CA は SupportedCACertificateIdentifiers に記載されます。出力には、DB エンジンのバージョンで、SupportsCertificateRotationWithoutRestart の再起動なしで証明書のローテーションがサポートされるかどうかも表示されます。

{ "DBEngineVersions": [ { "Engine": "postgres", "MajorEngineVersion": "13", "EngineVersion": "13.4", "DBParameterGroupFamily": "postgres13", "DBEngineDescription": "PostgreSQL", "DBEngineVersionDescription": "PostgreSQL 13.4-R1", "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [ "Lambda" ], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "SupportsBabelfish": false, "SupportsCertificateRotationWithoutRestart": true, "SupportedCACertificateIdentifiers": [ "rds-ca-2019", "rds-ca-rsa2048-g1", "rds-ca-ecc384-g1", "rds-ca-rsa4096-g1" ] } ] }

DB サーバーの証明書の有効性

DB サーバー証明書の有効性は、DB エンジンのバージョンと、DB エンジンのバージョンによって異なります。DB エンジンのバージョンで、DB エンジンのバージョンで、DB サーバーのローテーションがサポートされる場合、DB サーバーの証明書の有効期間は 1 年です。それ以外の場合、有効期間は 3 年間です。

DB サーバー証明書ローテーションの詳細については、「サーバー証明書の自動ローテーション」を参照してください。

DB インスタンスの CA の表示

データベースの CA に関する詳細を確認するには、次の画像のように、コンソール内の [接続とセキュリティ] タブを表示します。

認証局の詳細

AWS CLI を使用している場合は、describe-db-instances コマンドを使用して DB インスタンスの CA の詳細を表示できます。

CA 証明書バンドルの内容を確認するには、次のコマンドを使用します。

keytool -printcert -v -file global-bundle.pem

すべての AWS リージョン の証明書バンドル

すべての AWS リージョン の中間証明書とルート証明書の両方を含む証明書バンドルは、https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem からダウンロードできます。

アプリケーションが Microsoft Windows 上にあり、PKCS7 ファイルが必要な場合は、PKCS7 証明書バンドルをダウンロードできます。このバンドルには、https://truststore.pki.rds.amazonaws.com/global/global-bundle.p7b にある中間証明書とルート証明書の両方が含まれています。

注記

Amazon RDS Proxy および Aurora Serverless v1 は AWS Certificate Manager (ACM) の証明書を使用します。RDS Proxy を使用している場合は、Amazon RDS 証明書をダウンロードしたり、RDS Proxy 接続を使用するアプリケーションを更新したりする必要はありません。詳細については、「RDS Proxy での TLS/SSL の使用」を参照してください。

Aurora Serverless v1 を使用している場合は、Amazon RDS 証明書をダウンロードする必要はありません。詳細については、「Aurora Serverless v1 での TLS/SSL の使用」を参照してください。

特定の AWS リージョン の証明書バンドル

AWS リージョン の中間証明書とルート証明書の両方を含む証明書バンドルを取得するには、次の表の AWS リージョン のリンクからダウンロードします。

AWS リージョン 証明書バンドル (PEM) 証明書バンドル (PKCS7)
米国東部 (バージニア北部) us-east-1-bundle.pem us-east-1-bundle.p7b
米国東部 (オハイオ) us-east-2-bundle.pem us-east-2-bundle.p7b
米国西部 (北カリフォルニア) us-west-1-bundle.pem us-west-1-bundle.p7b
米国西部 (オレゴン) us-west-2-bundle.pem us-west-2-bundle.p7b
アフリカ (ケープタウン) af-south-1-bundle.pem af-south-1-bundle.p7b
アジアパシフィック (香港) ap-east-1-bundle.pem ap-east-1-bundle.p7b
アジアパシフィック (ハイデラバード) ap-south-2-bundle.pem ap-south-2-bundle.p7b
アジアパシフィック (ジャカルタ) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
アジアパシフィック (メルボルン) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
アジアパシフィック(ムンバイ) ap-south-1-bundle.pem ap-south-1-bundle.p7b
アジアパシフィック (大阪) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
アジアパシフィック (東京) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
アジアパシフィック (ソウル) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
アジアパシフィック (シンガポール) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
アジアパシフィック (シドニー) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
カナダ (中部) ca-central-1-bundle.pem ca-central-1-bundle.p7b
カナダ西部 (カルガリー) ca-west-1-bundle.pem ca-west-1-bundle.p7b
欧州 (フランクフルト) eu-central-1-bundle.pem eu-central-1-bundle.p7b
欧州 (アイルランド) eu-west-1-bundle.pem eu-west-1-bundle.p7b
欧州 (ロンドン) eu-west-2-bundle.pem eu-west-2-bundle.p7b
ヨーロッパ (ミラノ) eu-south-1-bundle.pem eu-south-1-bundle.p7b
欧州 (パリ) eu-west-3-bundle.pem eu-west-3-bundle.p7b
欧州 (スペイン) eu-south-2-bundle.pem eu-south-2-bundle.p7b
欧州 (ストックホルム) eu-north-1-bundle.pem eu-north-1-bundle.p7b
欧州 (チューリッヒ) eu-central-2-bundle.pem eu-central-2-bundle.p7b
イスラエル (テルアビブ) il-central-1-bundle.pem il-central-1-bundle.p7b
中東 (バーレーン) me-south-1-bundle.pem me-south-1-bundle.p7b
中東 (アラブ首長国連邦) me-central-1-bundle.pem me-central-1-bundle.p7b
南米(サンパウロ) sa-east-1-bundle.pem sa-east-1-bundle.p7b

AWS GovCloud (US) 証明書

AWS GovCloud (US) Region の中間証明書とルート証明書の両方を含む証明書バンドルは、https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.pem からダウンロードできます。

アプリケーションが Microsoft Windows 上にあり、PKCS7 ファイルが必要な場合は、PKCS7 証明書バンドルをダウンロードできます。このバンドルには、https://truststore.pki.us-gov-west-1.rds.amazonaws.com/global/global-bundle.p7b にある中間証明書とルート証明書の両方が含まれています。

AWS GovCloud (US) Region の中間証明書とルート証明書の両方を含む証明書バンドルを取得するには、次の表の AWS GovCloud (US) Region のリンクからダウンロードします。

AWS GovCloud (US) Region 証明書バンドル (PEM) 証明書バンドル (PKCS7)
AWS GovCloud (米国東部) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud (米国西部) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b