はじめてのRedshift
勉強前イメージ
AWSのDBのうちの1つってイメージ
そんなイメージしかない
ほかと何が違うんやろ
調査
Redshiftとは
データウェアハウスサービスです
データウェアハウスとは複数のシステムから大量のデータを蓄積し、必要なデータを収集し、目的別に再構成した統合データベースです
BI(ビジネスインテリジェンス)ツールと呼ばれています。
特徴としては、以下になります。
- 時系列順に保存する
- データの更新や削除は行わない
BigQueryやVerticaもデータウェアハウスになります。
Redshiftの特徴
- 列指向データベース
- 簡単にインスタンス追加が出来る
Redshiftのクラスタを作って中に入ってみよう
概要
- Redshiftのクラスタを作成します
- 同じVPC内に作成したEC2にssh接続します
- EC2からクラスタにアクセスを行います
Redshiftでクラスタを作成する
- Redshiftの管理画面でクラスタを作成
- クラスタの設定
以下のクラスタの設定を行います
クラスタの識別子 : my-test-claster (クラスタの名称)
利用方法 : 無料トライアル (今回はテストで作成なので...)
- データベース設定
データベース名 : dev (デフォルト)
マスターユーザ名 : awsuser (デフォルト)
マスターユーザーのパスワード : 任意
上記の記載を行ったら、 クラスタを作成
で作成を行います
赤で囲っていない、データベースポートは今回デフォルトのままで設定しますが、
もし変更される際は、後から設定するセキュリティグループのポート番号も合わせて変更してください
- 作成されました
作成中と出ています。
ちょっと時間かかります
EC2のセキュリティグループを変更
接続するEC2インスタンスのセキュリティグループの変更を行います。
- セキュリティグループの変更
EC2のセキュリティグループに移動
接続するEC2インスタンスののセキュリティグループにチェックを入れて
アクション > インバウンドルールを変更 へ進む
- インバウンドルールの変更
元々あったsshのルールの追加に、Redshiftに接続するセキュリティグループの追加
タイプ : カスタムTCP
ポート範囲 : 5439
ソース : 0.0.0.0/0
記載したら、 ルールを保存
してください
このポート番号はRedshiftの データベース設定
の際に少しだけ書いたポート番号です。
Redshiftの設定のポート番号を変更するとこちらのセキュリティグループの設定も合わせて変更してください
- セキュリティグループの設定完了
きちんと追加されていました!
接続する
- EC2インスタンスにログイン
任意のEC2インスタンスにログインしてください
- psqlコマンドでログインを行う
psqlコマンドが入っていない方は yum install postgresql
でインストールしてください
接続コマンドは以下になります。
psql -h [エンドポイント] -U [マスターユーザー名] -d [データベース名] -p [ポート番号]
最初に聞かれるパスワードはマスターユーザーのパスワードです
[root@ip-xx-xx-xx-xx ~]# psql -h my-test-claster.xxxxxxxxx.xxxxxxxxx.redshift.amazonaws.com -U awsuser -d dev -p 5439
Password for user awsuser:
psql (9.2.24, server 8.0.2)
WARNING: psql version 9.2, server version 8.0.
Some psql features might not work.
SSL connection (cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
dev=#
勉強後イメージ
とりあえず作って接続するところまで。
セキュリティグループであれれ?ってちょっとなった。
まぁ作るだけだったらそんな難しくないよね...
今度はデータ入れたり触ってみよう