はじめてのRedshift


はじめてのRedshift

勉強前イメージ

AWSのDBのうちの1つってイメージ
そんなイメージしかない
ほかと何が違うんやろ

調査

Redshiftとは

データウェアハウスサービスです
データウェアハウスとは複数のシステムから大量のデータを蓄積し、必要なデータを収集し、目的別に再構成した統合データベースです
BI(ビジネスインテリジェンス)ツールと呼ばれています。
特徴としては、以下になります。

  • 時系列順に保存する
  • データの更新や削除は行わない BigQueryやVerticaもデータウェアハウスになります。

Redshiftの特徴

  • 列指向データベース
  • 簡単にインスタンス追加が出来る

Redshiftのクラスタを作って中に入ってみよう

概要

  1. Redshiftのクラスタを作成します
  2. 同じVPC内に作成したEC2にssh接続します
  3. 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=# 

勉強後イメージ

とりあえず作って接続するところまで。
セキュリティグループであれれ?ってちょっとなった。
まぁ作るだけだったらそんな難しくないよね...
今度はデータ入れたり触ってみよう

参考