SSL 接続用 ACM 証明書への移行
Amazon Redshift では、現在クラスターの SSL 証明書を「AWS Certificate Manager (ACM)」発行の証明書に置き換えています。ACM は、現在のほとんどのシステムで信頼されている信頼のある公開認証機関 (CA) です。引き続き SSL でクラスターに接続するには、現在の信頼ルート CA 証明書を更新する必要があります。
この変更は、以下のすべてに該当する場合のみ適用されます。
-
sslMode
接続オプションをrequire
、verify-ca
、またはverify-full
設定オプションに指定して、SQL クライアントまたはアプリケーションから Amazon Redshift クラスターに SSL 接続されている。 -
クラスターが、AWS GovCloud (米国) リージョン、中国 (北京) リージョン、または中国 (寧夏) リージョンを除く AWS リージョンにある。
-
Amazon Redshift ODBC または JDBC ドライバーを使用していない、または ODBC バージョン 1.3.7.1000 または JDBC バージョン 1.2.8.1005 より前の Amazon Redshift ドライバーを使用している。
この変更が影響する場合は、現在の信頼ルート CA 証明書を 2017 年 10 月 23 日までに更新する必要があります。Amazon Redshift は、お客様のクラスターを 2017 年 10 月 23 日までに順次 ACM 証明書に切り替えていきます。この変更によるお客様のクラスターのパフォーマンスまたはアベイラビリティーへの影響はほとんどありません。
現在の信頼ルート CA 証明書を更新するには、ユースケースを見極め、該当セクションの手順に従います。
最新の Amazon Redshift ODBC ドライバーまたは JDBC ドライバーを使用する
最新の Amazon Redshift の ODBC ドライバーまたは JDBC ドライバーを使用することが推奨されています。ODBC バージョン 1.3.7.1000 および JDBC バージョン 1.2.8.1005 以前の Amazon Redshift ドライバーは、自動的に Amazon Redshift の自己署名証明書から ACM 証明書に移行されます。最新のドライバーをダウンロードする方法は、「ODBC 接続を設定する」または「JDBC 接続を設定する」を参照してください。
最新の Amazon Redshift JDBC ドライバーを使用する場合は、JVM オプションの -Djavax.net.ssl.trustStore
を使用しないことをお勧めします。-Djavax.net.ssl.trustStore
を使用する必要がある場合は、「Redshift の認証機関バンドル」を指定の信頼ストアにインポートしてください。詳細については、「Redshift の認証機関バンドルを TrustStore にインポートする」を参照してください。
旧 Amazon Redshift ODBC ドライバーまたは JDBC ドライバーを使用する
バージョン 1.3.7.1000 より前の Amazon Redshift ODBC ドライバーを使用する必要がある場合は、「Redshift の認証機関バンドル」をダウンロードして、古い証明書ファイルに上書きしてください。
-
ODBC DSN が
SSLCertPath
を使用して設定されている場合は、指定されたパスの証明書ファイルに上書きします。 -
SSLCertPath
が設定されていない場合は、ドライバーの DLL の位置にある証明書ファイル (root.crt
) に上書きします。
バージョン 1.2.8.1005 より前の Amazon Redshift JDBC ドライバーを使用する必要がある場合は、以下のいずれかを行います。
-
JDBC 接続文字列で
sslCert
オプションを使用している場合は、sslCert
オプションを解除します。続いて、「Redshift の認証機関バンドル」を Java TrustStore にインポートします。詳細については、「Redshift の認証機関バンドルを TrustStore にインポートする」を参照してください。 -
Java コマンドラインの
-Djavax.net.ssl.trustStore
オプションを使用している場合は、可能であればコマンドラインから解除します。続いて、「Redshift の認証機関バンドル」を Java TrustStore にインポートします。詳細については、「Redshift の認証機関バンドルを TrustStore にインポートする」を参照してください。
Redshift の認証機関バンドルを TrustStore にインポートする
Redshift の認証機関バンドルの CA 証明書を Java TrustStore またはプライベート信頼ストアにインポートするには、redshift-keytool.jar
を使用します。
Redshift の認証機関バンドルを TrustStore にインポートするには
-
redshift-keytool.jar をダウンロードする
-
次のいずれかを行ってください。
-
Redshift の認証機関バンドルを Java TrustStore にインポートするには、次のコマンドを実行します。
java -jar redshift-keytool.jar -s
-
Redshift の認証機関バンドルをプライベート TrustStore にインポートするには、次のコマンドを実行します。
java -jar redshift-keytool.jar -k
<your_private_trust_store>
-p<keystore_password>
-
その他の SSL 接続タイプを使用する
次のいずれかを使用して接続している場合は、このセクションの手順に従います。
-
オープンソースの ODBC ドライバー
-
オープンソースの JDBC ドライバー
-
psql コマンドラインインターフェイス
-
libpq に基づく言語バインディング (例: psycopg2 (Python)、ruby-pg (Ruby))
その他の SSL 接続タイプで ACM 証明書を使用するには
-
「Redshift の認証機関バンドル」をダウンロードします。
-
バンドルの証明書を
root.crt
ファイルに追加します。-
Linux および Mac OS X オペレーティングシステムでは、ファイルは
~/.postgresql/root.crt
です。 -
Microsoft Windows では、
%APPDATA%\postgresql\root.crt
です。
-