skydum

個人的な作業記録とか備忘録代わりのメモ

AWS Redshift ServerlessにSQL Workbench/Jで接続

AWSのRedshift ServerlessにSQL Workbench/J(JDBC)で接続

Redshiftを使ってみたかったのでWindows10から接続してクエリを実行できる環境を作ってみた。 同じような記事はたくさんあるが、分かりづらかったので自分用のメモ。 今回はパブリックサブネットにRedshiftを構成してインターネット経由で自IPからのみ接続を許可する構成とした。

テストのために何度かRedshiftのクラスタの構築とか削除を実行したら思ったより時間がかかった。

Redshiftを利用するための準備

  • Redshiftを利用するにはVPCとサブネットが最低3個必要。
  • 作成したVPCで利用するセキュリティグループも必要となるので事前に作成しておくこと。
    • 今回はテストだったのでセキュリティグループには自IPからはすべてのTCP, ポート範囲: 0-65535とした。

Redshift Serverlessの利用のための設定

  1. 変更した箇所は以下のところ
    • 設定
      • 設定をカスタマイズ
    • 管理者ユーザー認証情報をカスタマイズ
      • 管理者ユーザー名: admin
      • 管理者ユーザーパスワード: 8~64文字で作成
    • 関連付けられたIAMロール
      • S3とRedshiftを連携させたい場合は設定が必要
      • 監査ログ記録: ログを取得するならチェックを入れる
    • ワークグループ
      • ベースRPU容量: テストなので最小値の8
      • ネットワークとセキュリティ
        • VPC: 事前に作成したVPCを指定
        • VPCセキュリティグループ: 事前に作成したセキュリティグループを指定
        • サブネット: 事前に作成したサブネットから3個を指定する(今回はパブリックサブネットを3個指定)
  2. 設定が完了したら「設定を保存」を押下すると完了。
    大体2分ぐらいで利用が可能になる。

インターネット経由でRedshiftにアクセスする

  1. マネージメントコンソールのRedshiftから「ワークグループの設定」を押下。
  2. 右下の「パブリックにアクセス可能」が「オフ」になっているとインターネット側からアクセスできないので設定を変更するために、「編集」ボタンを押下。
  3. 「[パブリックにアクセス可能]をオンにする」にチェックを入れて、「変更を保存」を押下する。
  4. 1分程度すると設定がオンになるが、すぐには設定が反映されていないようなので数分待ったほうが良い。

SQL Workbench/Jで利用するJDBC用の接続文字列の確認

  1. マネージメントコンソールのRedshiftから「ワークグループの設定」を押下。
  2. 後で利用するのでJDBCのところの文字列をコピーして保存しておく。

SQL Workbench/Jの設定

  1. SQL Workbench/Jをダウンロードする。
    https://www.sql-workbench.eu/

  2. Amazon Redshift JDBCドライバーをダウンロードする。
    https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/jdbc20-download-driver.html

  3. ダウンロードしたファイルを任意の場所に展開。
    今回はC:\Workbench-Build129-with-optional-libsに展開。
  4. C:\Workbench-Build129-with-optional-libs\JDBCDriversのフォルダを作成する。
  5. ダウンロードした Amazon Redshift JDBCドライバー(redshift-jdbc42-2.1.0.19.jar)をC:\Workbench-Build129-with-optional-libs\JDBCDriversにコピーする。
  6. C:\Workbench-Build129-with-optional-libs\SQLWorkbench64.exeを起動。
  7. 初回起動時に以下の画面が出てきたときは「Download JREを押下する。
  8. SQL Workbench/Jが起動してきたら「Manage Drivers」を押下する。
  9. Manage Driversの画面が開いたら左上の新規作成ボタンを押下。
    • Name: Redshift
    • Library: Libraryの横にあるフォルダボタンを押下して先程コピーしたC:\Workbench-Build129-with-optional-libs\JDBCDrivers\redshift-jdbc42-2.1.0.19.jarを選択。
    • Classname: 自動的に入る
    • Sample URL: jdbc:redshift://endpoint:port/database 単なる参考情報なので空欄でも可
    • OKを押下して完了。
  10. 赤枠内を埋めていく。
    • New Profile: Redshift
    • Driver: Redshiftを選択(これが出てこない場合はC:\Workbench-Build129-with-optional-libs\JDBCDriversにredshift-jdbc42-2.1.0.19.jarが存在するかどうか確認)
    • URL: マネージメントコンソールからコピーしたJDBCのURLをここに貼り付ける
    • username: admin
    • Password: Redshift構築時に入力したパスワード
    • 「Test」ボタンを押下して接続できるか確認する。
  11. 「Test」ボタンを押下してから以下の画面が出たら接続成功になるので、「OK」ボタンを押下して設定を保存しておく。

Redshift Serverlessの削除

  1. RedShift Serverlessを利用しない場合は削除しておきましょう。
  2. マネージメントコンソールのRedshiftから「ワークグループの設定」で「default-workgroup」を選択して「アクション」から「削除」を選択すると同時に「default-namespace」も削除できるので合わせて削除を実行。
    5分~10分ぐらいで削除が完了します。
  3. 作成したVPC, セキュリティグループ, IAMロールも削除します。
  4. 以上で完了。