Redshiftでのクラスター構築


はじめに

  • ここではAWSのサービスの一つであるRedshiftにおけるクラスター作成について、備忘録も兼ねて簡単にまとめる。
  • Redshiftについての基本的な知識や、AWSのネットワーク(VPCやセキュリティグループなど)に関してはここでは説明しない。
  • 以下は、Windowsからの接続で検証を行った。

作成手順

  • 以下の情報を入力後に「作成」を押す。

基本情報

  • クラスタ名、ノードの種類、ノード数、マスターユーザー情報、DB名などを入力。
  • ノード数は1つでも作成でき、リーダーノードがワーカーノードを兼任するようになる。
    (その場合のノードロールはSharedとなるみたい)

ネットワーク情報

VPCの選択

  • Redshiftのクラスターを作成するVPCを選択する。
  • VPCがグレーで選択できない場合は、立てる予定のリージョンにそもそもVPCが存在しないか、サブネットグループが存在しないかが原因。
  • サブネットグループの作成方法はAWS公式のYouTubeを参照 → YouTube

セキュリティグループの設定

  • セキュリティグループに関しては、どういったアーキテクチャーにするかによるので、次項で説明。

その他

  • 外部公開設定もでき、公開にした場合は外部アドレスが付与されていた。
  • 今回は外部公開する予定はなく、同一のVPC間の中で行う予定なので非公開とした。

セキュリティグループについて

  • 基本的には独立し、セキュリティの観点から直接アクセスできないようにし、踏み台経由のSSH接続とした。

  • そのためセキュリティグループによる通信の許可設定を行い、以下の構成とした。

接続方法

  • ローカル環境よりつなぐ場合は、以下のコマンドでSSHポートフォワーディングを行い、psqleditなどのクライアントツールで接続する。
ssh -N -L {ローカルの任意のポート}:{Redshiftのエンドポイント}:{Redshiftのポート} -i {キーペアファイルのパス} -p 22 ec2-user@{踏み台サーバーの外部IPアドレス}