AWSのRedshift ServerlessにSQL Workbench/J(JDBC)で接続
Redshiftを使ってみたかったのでWindows10から接続してクエリを実行できる環境を作ってみた。 同じような記事はたくさんあるが、分かりづらかったので自分用のメモ。 今回はパブリックサブネットにRedshiftを構成してインターネット経由で自IPからのみ接続を許可する構成とした。
テストのために何度かRedshiftのクラスタの構築とか削除を実行したら思ったより時間がかかった。
Redshiftを利用するための準備
- Redshiftを利用するにはVPCとサブネットが最低3個必要。
- 作成したVPCで利用するセキュリティグループも必要となるので事前に作成しておくこと。
- 今回はテストだったのでセキュリティグループには自IPからはすべてのTCP, ポート範囲: 0-65535とした。
Redshift Serverlessの利用のための設定
- 変更した箇所は以下のところ
- 設定が完了したら「設定を保存」を押下すると完了。
大体2分ぐらいで利用が可能になる。
インターネット経由でRedshiftにアクセスする
- マネージメントコンソールのRedshiftから「ワークグループの設定」を押下。
- 右下の「パブリックにアクセス可能」が「オフ」になっているとインターネット側からアクセスできないので設定を変更するために、「編集」ボタンを押下。
- 「[パブリックにアクセス可能]をオンにする」にチェックを入れて、「変更を保存」を押下する。
- 1分程度すると設定がオンになるが、すぐには設定が反映されていないようなので数分待ったほうが良い。
SQL Workbench/Jで利用するJDBC用の接続文字列の確認
SQL Workbench/Jの設定
SQL Workbench/Jをダウンロードする。
https://www.sql-workbench.eu/Amazon Redshift JDBCドライバーをダウンロードする。
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/jdbc20-download-driver.html- ダウンロードしたファイルを任意の場所に展開。
今回はC:\Workbench-Build129-with-optional-libsに展開。 - C:\Workbench-Build129-with-optional-libs\JDBCDriversのフォルダを作成する。
- ダウンロードした Amazon Redshift JDBCドライバー(redshift-jdbc42-2.1.0.19.jar)をC:\Workbench-Build129-with-optional-libs\JDBCDriversにコピーする。
- C:\Workbench-Build129-with-optional-libs\SQLWorkbench64.exeを起動。
- 初回起動時に以下の画面が出てきたときは「Download JRE」を押下する。
- SQL Workbench/Jが起動してきたら「Manage Drivers」を押下する。
- 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を押下して完了。
- 赤枠内を埋めていく。
- 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」ボタンを押下して接続できるか確認する。
- 「Test」ボタンを押下してから以下の画面が出たら接続成功になるので、「OK」ボタンを押下して設定を保存しておく。