RedShiftの事始め~環境構築後編~

こんにちは。
暑い日が続きますが、皆様如何お過ごしでしょうか。
青いウサギのアイコンが目印のSSTD 手塚です。

青で思い出しましたけど、だいぶ前のニュースで真っ青な食べ物の特集をやっていました。
おいしいと言いながら真っ青なカレーを食べていましたが、
それはキャスターの方々は朝が早くてお腹がすいている時間だったからでは・・・?
なんて思ってしまったり。
青色は食欲を抑えたり、興奮状態を鎮めリラックスさせる色とされていますよね。
確かに真っ青のカレーをテレビで見たときはあまり美味しそうに見えませんでした。
着地点がないんですが、青で思い出したのでちょっと記載しました。



KMsysフリー素材集様より青色に加工された苺

と、まぁ特に何の脈略もない前振りもこれくらいに、RedShiftの事始めとして前回の続きを説明をしていきましょう。
あ、今回は文字だらけではなく、図も入るので読んでいて辛くなることは【多分】ありません。

まずは前回までの復習です。
前回はRedShiftの概要説明とWorkbenchのインストールまでを手順としてブログにまとめました。
前回記事についてはこちらから

さて、復習も済んだところで本記事の本題です。

【2.Amazon RedShiftクラスタの起動】

最近出来たサービスみたいですが、既にTokyoリージョンも選択可能なので、Tokyoリージョンを使用します。
これはS3もTokyoリージョンを利用しているからなのですが・・・
S3が別のリージョンを利用している場合、そのリージョンに合わせてRedShiftのリージョンを適宜変更する方が得策だと思います。
ちなみにですが、Tokyoリージョンは他のリージョンに比べて全体的に若干割高な気がします。
注意:これから先クラスタの起動を行うのですが、クラスタの起動以降は
   お金が発生しますので注意してください。

まず、AWSにログインし、Account Manager ConsoleからRedShiftを選択します。
RedShiftを選択すると次のような画面が出力されるので、【Launch Cluster】ボタンを押下します。

各種設定画面に飛ぶので、
必要事項を入力して、【Continue】ボタンを押下する。

  1.Cluster Identify:クラスタ名を命名する。
  2.DatabaseName:データベース名を設定する
  3.Database Port:データベースの接続ポート番号
  4.MasterUserName/MasterUserPassword:データベース管理者のユーザ名とパスワードを設定する

次の画面で必要なインスタンスなどを選択して、【Continue】ボタンを押下する。

NodeType:デフォルトのxlargeを選択(8xlargeの方がパワーはあるがお金が高い)
ClusterType:MultiになっているのでSingleNodeへ変更する

次の画面では主にセキュリティ関係の設定を行います。
今回は全部デフォルトで【Continue】ボタンを押下します。

何も設定変更しないので項目については割愛します。
なお、VPCを設定する場合は適宜変更しましょうとのことです。

設定するクラスターの情報とどのくらいのお金がかかるのかを概算的に出してもらえます。
内容に間違いがなければ【Launch Cluster】ボタンを押下してクラスターを作り始めましょう。

Tokyoリージョンで設定を行うと$1.25/hくらいになるらしいですね。
他のリージョンでは試していないのではっきりとはしないのですが、
Tokyoリージョンは他のリージョンに比べて金額が高めに設定されているらしいので、
この程度で済ませられればまずいい方だと思われます。
このまま数十分待つとクラスタが出来上がりますので、
その間に他の設定やWorkbenchの設定も済ませておきましょう。

と、言うわけで次のステップとしてSecurityGroupの設定を行います。

【3.SecurityGroupの設定】

Amazon RedShiftのアクセス制限はホワイトリストを用いて行われます。
SecurityGroupにて許可されたIPアドレス以外からのアクセスは基本的にはエラーとして返され、
接続を行うことが出来ません。
そのため、SecurityGroupの設定が必須として入ってきます。

RedShiftのクラスターが出来上がるまで数十分掛かりますし、
ただ画面を眺めていても何にも変わらないのでさくっとSecurityGroupの設定を行ってしまいましょう。

RedShiftのTOP画面にはSecurityGroupの項目があるので、クリックすると
多分設定されていないはずなので、defaultしかないはずですが・・・
この状態ではローカルマシンからの接続が出来ません。
そこで、チェックボックスにチェックを入れてconnectionType画面を出します。
プルダウンからCIDR/IPを選択すると
ローカルマシンのグローバルIPアドレスか何かが見えるはずなので、
textboxにIMアドレスを入力して【authorize】を押下しておきます。
これでローカルマシンからRedShiftへのアクセスが許可されたはずです。

セキュリティの関係上、画像を張るのは宜しくないと思われますので、画像は割愛

【4.Amazon RedShiftクラスタとWorkbenchをつなげる】

だいたい時間にして10分~20分程度放置するとRedShiftのクラスタが立ち上がるので、
さっそく接続をしてみたいと思います。
Workbenchと繋げるためにはPostgreSQLのJDBCドライバが必要となってきますので
次よりダウンロードしてきます。
postgresql_download
※クリックするとダウンロード出来ます。
先週インストール済みであるWorkbenchを立ち上げます。
立ち上げるとSQL Workbenchのメイン画面とは別にSelect Connection Profileが出力されます。
ようはProfile情報無いんだから情報入力しなさいよってことなんですが・・・。

DriverにはPostgreSQLを選択しましょう。
選択すると別のポップアップ画面(Manage drivers)が開かれるので、
LibraryにダウンロードしたPostgreSQL用のJDBCドライバを適用させて【OK】ボタンをクリックします。
※もし、選択した時にポップアップ画面が出力しなかった場合、左下に【Manage Drivers】ボタンがあるので押下する。

URLについてはAmazon Redshiftで作成したクラスタのProfile情報を見れば分かります。
usernameとPasswordはRedshiftを作成する際に指定したユーザ名とパスワードを入力します。
後はお好みなのですが、Autocommitのチェックボックスにもチェックを入れておきましょう。
すべての設定が終わったら【OK】ボタンをクリックします。

無事に設定が完了している場合はエラーメッセージなどがないので、使い始めることが可能です。
設定情報に誤りがある場合にはエラーメッセージが表示されます。
一番やってしまうのはSecurityGroupの設定漏れか、JDBCのファイルパスが間違っているかではないでしょうか。

これで一通りの設定が完了します。
2週に渡りRedShiftの環境構築をブログとして掲載させて頂きました。
次にRedShiftの記事を書く際にはsampleの実行について触れていきたいと思います。
夏休みに新しい技術に触るのも悪くないと思いますが、
家族サービスなども忘れずに行ってくださいね。

以上、SSTD 手塚でした。