SSLの設定
SSLを使用してAmazon Redshiftに接続するには、Secure AgentをSSL用に設定し、Amazon Redshift V2接続プロパティでJDBC URLを介してSSLを有効にする必要があります。
2コマンドプロンプトで、次のコマンドを実行してキーストアに証明書ファイルを追加します: ${JAVA_HOME}/bin/keytool –keystore {JAVA_HOME}/lib/security/cacerts -import -alias <string_value> -file <certificate_filepath>
3管理者で、[ランタイム環境]を選択します。
4Secure AgentのリストからSecure Agentを選択します。
5右上隅の[編集]をクリックします。
6[システム構成の詳細]セクションで、[タイプ]を[DTM]に変更します。
7[JVMOption1]の横にある[エージェント設定の編集]アイコンをクリックし、次のコマンドを入力します。- Djavax.net.ssl.trustStore=<keystore_name>
8[JVMOption2]の横にある[エージェント設定の編集]アイコンをクリックし、次のコマンドを追加します。- Djavax.net.ssl.trustStorePassword=<password>
9Amazon Redshift V2接続のプロパティで指定したJDBC URLに次のパラメータを追加します。ssl=true。
例: jdbc:redshift://mycluster.xyz789.us-west- 2.redshift.amazonaws.com:5439/dev?ssl=true
10[OK]をクリックして変更を保存します。
サーバーレスランタイム環境でのSSLの設定
Amazon Redshift V2接続でサーバーレスランタイム環境を使用して、SSL対応のAmazon Redshiftデータベースに接続できます。
サーバーレスランタイム環境を使用して安全なAmazon Redshift V2接続を設定する前に、次のタスクを実行します。
- •Amazon S3バケットにSSL証明書を追加するまたはAzureコンテナ。
- •.ymlサーバーレス構成ファイルを設定する。
- •サーバーレス環境を設定する。
- •SSLを使用するように接続プロパティを設定する。
- Amazon S3バケットにSSL証明書を追加するまたはAzureコンテナ
- サーバーレスランタイム環境でSSL接続を設定するには、次の手順を実行します。
- 1AWSまたはAzureのサーバーレスエージェント設定用に次の構造を作成します: <補足ファイルの場所>/serverless_agent_config
- 2AWSアカウントまたはAzureアカウントの次の場所にあるAmazon S3バケットあるいはAzureコンテナに証明書名とソースパスを追加します: <補足ファイルの場所>/serverless_agent_config/SSL
- .ymlサーバーレス構成ファイルを設定する
- 次の手順を実行して、サーバーレスランタイム環境で.ymlサーバーレス構成ファイルを設定し、証明書名とパスエントリを追加して、Amazon Redshift V2コネクタがSSLを使用できるようにします。
- 1次のコードスニペットをテキストエディタにコピーします。
version: 1
agent:
agentAutoApply:
general:
sslStore:
- fileCopy:
sourcePath: SSL/<cert_name>
- importCerts:
certName: <cert_name>
alias: <alias name of the certificate>
ここで、ソースパスはAWSまたはAzureの証明書ファイルのディレクトリパスです。
- 2構文とインデントが有効であることを確認してから、ファイルをserverlessUserAgentConfig.ymlとして次のAWSまたはAzureの場所に保存します: <補足ファイルの場所>/serverless_agent_config
.ymlファイルの実行時に、SSL証明書がAWSまたはAzureの場所からサーバーレスエージェントディレクトリにコピーされます。
- サーバーレス環境を設定する
- サーバーレスランタイム環境でSSLの[JVMOption1]プロパティと[JVMOption2]プロパティを設定します。
- 1サーバーレスランタイム環境のプロパティに移動し、[編集]をクリックします。
- 2[ランタイム設定のプロパティ]タブで[JVMoption1]をクリックし、次のプロパティを追加します。
-Djavax.net.ssl.trustStore=/home/cldagnt/SystemAgent/jdk/jre/lib/security/cacerts
- 3[JVMoption2]をクリックして、次のプロパティを追加します。
-Djavax.net.ssl.trustStorePassword=changeit
- 4[保存]をクリックします。
- 5ランタイム環境を再デプロイします。
- SSLを使用するように接続プロパティを設定する
- サーバーレスランタイム環境でランタイムプロパティを設定した後、[JDBC URL]接続プロパティでssl=trueと指定します。
例: jdbc:redshift://mycluster.xyz789.us-west- 2.redshift.amazonaws.com:5439/dev?ssl=true