Amazon RedshiftへODBC接続する手順を徹底解説!
今回の開発環境はGoogle Cloud Engine(以下GCE)で立てたVMインスタンスにVS codeからSSH接続して環境構築していきます。下記ブログを参考にGCEでVMインスタンスをたて接続できるようにしておいてください。本記事はOSがDebianであることを前提に進めます。
目次
ODBC接続とは?
ODBC接続(Open Database Connectivityの略)は、異なるデータベースシステム間でのデータのやり取りを可能にするための標準プロトコルです。 簡単に説明すると、ODBCはデータベースとアプリケーションの間に「通訳」のような役割を果たします。例えば、あなたがExcelを使用して特定のデータベースから情報を取得したいとします。しかし、そのデータベースはExcelと直接「話す」ことができません。ここでODBCが登場します。 ODBCドライバー(ソフトウェア)をインストールすると、Excelはこのドライバーを通じてデータベースと通信できるようになります。ドライバーはExcelからの要求をデータベースが理解できる形式に変換し、データベースの応答をExcelが理解できる形式に変換します。 このようにして、ODBCは異なるシステム間の通信を可能にし、アプリケーション開発者やエンドユーザーが複数のデータベースと効率的に作業できるようにするためのシステムです。
大まかなフロー
- Amazon Redshift ODBC ドライバーのインストール
- ODBCドライバーマネージャーのインストール
- ODBCドライバーマネージャーの設定
- 接続
Amazon Redshift ODBC ドライバーのインストール
まず、Amazon Redshift ODBC ドライバーのインストールをしていきます。下記コマンドを実行して64ビットDebianドライバーのインストールファイルをダウンロードしてきます。
https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.deb
インストールファイルのダウンロードが完了したら、下記コマンドを実行しインストールを行なってください。
sudo apt install ./AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.deb
これで、Amazon Redshift ODBC ドライバーのインストールは完了です。
ODBCドライバーマネージャーのインストール
次にODBCドライバーマネージャーをインストールしていきます。まずは、下記コマンドを実行しDebianシステムのパッケージリストを最新の状態に更新します。
sudo apt-get update
次に、ODBCドライバーマネージャーをインストールしていきます。今回はUnixODBCというODBCドライバーマネージャーを使います。下記コマンドを実行しツールのインストールを行なってください。
sudo apt-get install unixodbc unixodbc-dev
これで、ODBCドライバーマネージャーのインストールは完了です。
ODBCドライバーマネージャーの設定
概要
UnixODBCをインストールした後、Amazon Redshift ODBCドライバーを設定する必要があります。UnixODBCは通常、ODBCデータソース名(DSN)を設定するためにodbc.iniファイルと、ドライバー設定を格納するためにodbcinst.iniファイルを使用します。これらのファイルは通常、/etcディレクトリにあります。
- /etc/odbcinst.ini
- このファイルには、インストールされた各ODBCドライバーの設定が含まれます。
- Amazon Redshift ODBCドライバーのエントリを追加します。
- /etc/odbc.ini
- このファイルは、ODBCデータソースの接続情報を含みます。
- データソース名(DSN)を設定し、接続の詳細(ホスト名、データベース名、ユーザー名、パスワードなど)を指定します。
これらのファイルを編集していきます。ファイルの編集時はviで行なってください。
odbcinst.iniの編集
odbcinst.iniは下記を追記してください。
[Redshift]
Description = Amazon Redshift ODBC Driver
Driver = driverのパス
driverのパスは下記コマンドを実行して確認してください。
dpkg -L AmazonRedshift-64bit
拡張子が「.so」のパスをコピーして追記してください。
odbc.iniの編集
ここには、接続先の情報を追記します。下記のようにodbc.iniファイルを編集します。
[MyRedshiftDB]
Driver = Redshift
Server = [あなたのRedshiftサーバーのホスト名またはIP]
Database = [データベース名] Port = 5439
UID = [ユーザー名]
PWD = [パスワード]
接続
これらの作業が完了すると、環境設定は終了です。下記コマンドを実行し、Redshiftに接続できるか検証してください。
isql -v MyRedshiftDB