cloudpackエバンジェリストの吉田真吾@yoshidashingo)です。

下記にあるとおり、Amazon Redshiftのクラスターをリサイズ(ノードタイプ、台数の変更)をするときには、

  1. 既存のクラスターを読み取り専用にする
  2. 新しいクラスターを用意する
  3. データをコピーする
  4. 内部DNSが切り替わる

という操作がされています。

Amazon Redshift クラスター – Amazon Redshift #クラスターのサイズ変更

ということは、将来的なリサイズを考慮して、サブネットのIPアドレスレンジは、クラスターの最大台数の約2倍のIPアドレスが入るだけ用意しておく必要があるでしょうか?

ということで検証してみました。

VPCサブネットとRedshiftクラスターの作成

  • クラスターサブネットグループに所属させるサブネットを /28(利用可能なIPアドレスは11個)で作成します。
    Amazon VPC ダッシュボード - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない
  • クラスターサブネットグループを作成します
    クラスターサブネットグループを作成する - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない
  • Redshiftのクラスターを5ノードで構成します(消費IPアドレス:6個)
    Redshiftクラスタを5ノードで構成する - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない

Redshiftクラスターのリサイズ

この状態だと消費可能なIPアドレスは残り5個なので、ノード数の削減はできても、これ以上増やすことができない気がします。

  • Redshiftのクラスターを6ノード(消費IPアドレス:7個)に変更してみます。
    Redshiftクラスターをリサイズする - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない
  • あれ、なんか要求は受け付けてもらえたようで、リサイズ処理が開始しています。
    リサイズ後のRedshiftクラスターのステータス - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない
  • availableになったので`Node Ip Addresses`を見てみると、Public IPは全て変更されていますが、Private IPは既存のものを全て付け替えたうえで増加分を取得しているようです。
    リサイズ後のノードIPアドレス ーのステータス - Amazon Redshiftクラスタをリサイズするために空きIPアドレスは必要か→必要ない

まとめ

  • Redshiftのクラスターをリサイズするために空きIPアドレスを確保しておく必要はなさそうだ
  • クラスターをリサイズするとPublic IPは全て変更されるようだ
  • クラスターをリサイズするとPrivate IPは付け替えられるようだ

元記事は、こちらです。