[R言語] Amazon RedshiftへSSLで接続する

  • 0
    いいね
  • 0
    コメント

    やりたいこと

    RスクリプトからAmazon RedshiftへSSL(証明書の検証アリ)で接続したい。

    やりかた

    RからRedshiftへの接続方法については、下記の資料が参考になります。

    RからAmazon Redshiftに接続する

    SSLでの接続方法 / サーバ認証については、下記の資料が参考になります。

    接続のセキュリティオプションを設定する - Amazon Redshift

    コード

    library(RJDBC, quietly = TRUE)
    
    connectRedshift <- function() {
        driver <- JDBC('com.amazon.redshift.jdbc.Driver', './redshift/RedshiftJDBC42-1.2.1.1001.jar', identifier.quote="`")
        url <- sprintf(
            'jdbc:redshift://%s:%s/%s?ssl=true&sslMode=verify-full&sslrootcert=%s&user=%s&password=%s',
            Sys.getenv('REDSHIFT_HOST'),
            Sys.getenv('REDSHIFT_PORT'),
            Sys.getenv('REDSHIFT_DB'),
            './redshift/redshift-ssl-ca-cert.pem',
            Sys.getenv('REDSHIFT_USER'),
            Sys.getenv('REDSHIFT_PASS')
        )
        return(dbConnect(driver, url))
    }
    

    一応GitHubにも上げました。
    https://github.com/pinkumohikan/gocha-gocha/tree/master/r/redshift-connector

    参考にした資料