Amazon Redshiftではじめるビッグデータ処理入門

第3回 Amazon Redshiftを動かしてみよう

この記事を読むのに必要な時間:およそ 3 分

前回まで,Amazon Redshiftの機能や特徴について説明を行いました。今回からは実践編として,Amazon Redshiftクラスタを起動するところから,データのロード,SQLの実行やクラスタの操作まで説明していきます。今回は,Redshiftクラスタの起動と,自分のマシンからのRedshiftクラスタへの接続までを説明します。

今回のチュートリアルでは,最小構成(XLタイプのシングルノード/2TB)のRedshiftクラスタを起動しますが,この場合一時間あたり$0.85の費用(2013/5/3時点)が発生し,EC2の最小インスタンスの料金に比べてかなり高くなります。試される場合には,完了後にRedshiftクラスタをシャットダウンさせるなど管理にご注意ください※1)⁠

なお,Amazon Redshiftを使用するには,AWSのアカウントを事前に準備しておく必要がありますが,アカウントの取得については割愛させていただきます。

※1)
Hapyrusでは,RedshiftとFlyDataをお試しいただけるSandbox環境を無料で提供しています。また,ブラウザ上からRedshiftに対してSQLが実行できる機能もありますので,無料のRedshift環境にご興味のある方はぜひこちらからご登録をおすすめします。

事前準備

Redshiftクラスタを起動する前に,事前準備としてRedshiftクラスタに接続するクライアントツールを準備しましょう。Redshift自体はPostgreSQL(ver8.0.2)をベースに作られており,psql(PostgreSQL標準のクライアントコマンド)も使えますし,JDBCやODBCといった接続もサポートしているため,これらを用いたデータベースクライアントツールも利用できます。

今回は,無料のGUIのデータベースクライアントであるSQL Workbench Clientを利用します。このツールを利用するにはJava 6 runtime environmentがインストールされている必要がありますので,事前にお使いのマシンの設定をご確認ください。

Windows
コントロールパネルを開き,Javaのアイコンをクリック
MacOS X
システム環境設定を開き,Javaのアイコンをクリック。もしくはjava -versionコマンドをターミナル上で実行
Linux
java -versionコマンドをターミナル(シェル)上で実行

SQL Workbench Clientのセットアップ

SQL Workbench Client / Downloadsのページに行き,OSに応じたソフトをダウンロードします。

Mac
"Download package for MacOS"
Windows/Linux
"Download generic package for all systems"

ダウンロードしたファイルを解凍し,解凍してできたディレクトリを任意のディレクトリに移動します。

次にRedshiftクラスタに接続するためのJDBCドライバをダウンロードしてください。

JDBCドライバ
URL:http://jdbc.postgresql.org/download/postgresql-8.4-703.jdbc4.jar

ダウンロードしたドライバファイルは,SQL Workbench Clientのディレクトリの中に移動させましょう。

インストール作業は以上で,以下の通り起動できるか確認してください。

Mac
SQLWorkbenchJ.app を実行
Windows
SQLWorkbench.exeもしくはSQLWorkbench64.exe(64bit)を実行
Linux
sqlwbconsole.shもしくはsqlworkbench.jarを実行

Redshiftクラスタの起動

それでは,Redshiftクラスタの起動から始めていきましょう。ブラウザからAWSコンソールを開き,サインインを行います。

図1 AWSコンソール画面

図1 AWSコンソール画面

サインインの後,サービス一覧が表示されますのでRedshiftを選択します。リージョンはN. Virginia(us-east-1)にしておきましょう。

図2 AWSサービス一覧画面

図2 AWSサービス一覧画面

図3 Amazon Redshiftコンソールトップ画面

図3 Amazon Redshiftコンソールトップ画面

"Launch Cluster" をクリックすると,クラスタ作成ウィザードが開きますので(図4)⁠下記の情報を入力してください。

図4 Redshiftクラスタ起動設定(1)

図4 Redshiftクラスタ起動設定(1)

Cluster Identifier(クラスタ識別子)
クラスタを表す識別子で,クラスタのURLの一部に組み込まれます。
Database Name(データベース名)
クラスタ構築と同時に作成するデータベース名を指定します。
Database Port(ポート番号)
クラスタへ接続する際のポート番号を指定します。
Master User Name(管理者ユーザ名)
Master User Password(管理者ユーザパスワード)
データベースの管理者ユーザ名,パスワードを入力します。データベースの作成や削除,ユーザや権限の管理などに利用しますので,実運用でRedshiftを利用する際は厳重に管理してください。

"Continue"をクリックし,続いてクラスタの構成の設定画面に進みます。

図5 Redshiftクラスタ起動設定(2)

図5 Redshiftクラスタ起動設定(2)

Node Type(ノードタイプ)
Redshiftクラスタを構成する各ノード(サーバ)のインスタンスタイプを選びます。今回は最小構成ですので"dw.h1.xlarge"を選択しましょう。
Cluster Type(クラスタタイプ)
Single Node(シングルノード)か,Multi Node(マルチノード)が選択できます。マルチノードを選択した場合はノードの台数を増やし,容量や性能を向上させることができます。今回はシングルノードを選びましょう。

"Continue"をクリックすると,続いて追加設定の画面が表示されます。それぞれの項目については以下の通りですが,いずれもデフォルトの設定で構いません。

図6 Redshiftクラスタ起動設定(3)

図6 Redshiftクラスタ起動設定(3)

Cluster Parameter Group(クラスタパラメータグループ)
Redshiftでは,日付表示方法の設定などデータベースのパラメータを設定することができ,これらをまとめたグループを作成して指定することができます。今回はデフォルトで構いません。
Encrypt Database(データベースの暗号化)
このパラメータを"Yes"にすることで,データがRedshiftクラスタに保存される際,すべて暗号化されます。今回は"No"で構いません。
Choose a VPC(VPCの選択)
VPCの環境で,Redshiftクラスタを構築することができます。特に必要なければ"Not in VPC"で構いません。
Availability Zone(アベイラビリティゾーン)
クラスタを起動するゾーンを指定することができます。今回は"No Preference"で構いません。
Cluster Security Groups(クラスタセキュリティグループ)
Redshiftクラスタへのアクセスをアクセス元IPなどで制限することができ,ここではその設定を選択します。今回は"default"で構いません。セキュリティ設定については,後ほど行います。

"Continue"をクリックすると,最後に確認画面が表示されます。起動後は確認画面ページの下に記載されている通り課金がされますので,注意してください。それ以外特に問題無ければ,"Launch Cluster"をクリックしてRedshiftクラスタを起動しましょう。

図7 Redshiftクラスタ起動確認画面

図7 Redshiftクラスタ起動確認画面

以上でRedshiftクラスタの起動は完了です。クラスタの起動には,数十分程度かかりますので,その間にセキュリティグループの設定を進めましょう。

著者プロフィール

宮崎真(みやざきまさし)

HapyrusのソフトウェアエンジニアとしてAmazon Redshift向けプロダクトを開発中。

学生時代にIPA未踏ユースの経験を経て,卒業後ITコンサルティング会社に入社。この会社では基幹システムを対象としたミドルウェアの開発やiOSアプリ開発を経験。

その後米国グリーンカードの抽選に当選したのを機に,2012年にカリフォルニアベイエリアに移住しHapyrusに参画。

Twitter:@sockspaw


藤川幸一(ふじかわこういち)

学生時代からStartup (電脳隊・PIM)に関わり,PIMがYahoo! JAPANに買収された後は,エンジニアとしてYahoo!モバイルを開発。アジャイル開発コンサルやデリバティブ取引システムなどの開発経験を経て,シリウステクノロジーズでテクニカルマネージャ&夜はIPA未踏人材育成事業でHadoopのミドルウェア開発プロジェクト。日本JRubyユーザグループ発起人。

シリウスがYahoo! JAPANに買収されたのを機に,2010年FlyData Inc.(旧社名Hapyrus)をUSにて起業。カリフォルニアSunnyvale在住。

Twitter:@fujibee

コメント

コメントの記入