Amazon Redshiftを利用料金そのままでds1.xlarge(旧:dw1.xlarge)からds2.xlargeにアップグレードしてみた|AWSを使い倒せ

AUTHOR :   ギックス

ds2.xlargeは、従来のCPU性能、メモリ容量が2倍、I/Oが1.5倍!なのにお値段そのまま!!

先日(2015/6/9)、AmazonよりRedshiftの新しいインスタンスタイプ「DS2」が発表されました。DS2インスタンスは、従来のインスタンスタイプの2倍の性能を提供しているが、利用料金が従来のインスタンスと変わらないとの事でしたので、早速、バージョンアップをしてみました。

実際にDS2インスタンスを性能と料金を確認

Redshiftの新しいインスタンスが発表され、従来のインスタンス「dw1.xlarge」は、「ds1.xlarge」に名前が変わってます。では、実際にAmazon Redshiftの料金ページより東京リージョンのインスタンスの性能と料金を確認します。redshift1

確認の結果、ds1.xlarge → ds2.xlargeに変更した場合の以下のようになる事を確認しました。

  • CPU:2 → 4(2倍)
  • ECU:4.4 → 14(約3倍)
  • メモリ:15GB → 31GB(約2倍)
  • I/O:0.3GB → 0.5GB(約1.5倍)
  • 利用料金:$1.19/時間 → $1.19/時間(そのまま)

Amazonの発表の通り、CPU、メモリ容量、I/Oが上がってます。また、実際の性能の指標であるECUも上がってますが、これはCPUなどの性能アップでECUの性能が上がっていると思われます。

実際にDS2インスタンスにアップグレード

では、実際にAmazonの発表の通りにインスタンスをアップグレードしたいと思います。

Redshiftのクラスターをバックアップして終了

AWSコンソールから起動中のRedshiftクラスターを選択し、「Cluster」から「Reboot」を選択し、Snapshot nameを入力し、クラスターをバックアップして終了します。redshift2

Redshiftのリストア時にノードタイプを変更

上記で作成したRedshiftのスナップショット(バックアップ)に対して、AWSコンソールからリストアします。リストアは、上記のリストアファイルを選択し、「Actions」から「Restore From Snapshot」を選択し、「Node Type」を「ds1.xlarge」から「ds2.xlarge」に変更します。redshift3

リストアが完了すると、ノードタイプ、CPU、メモリ容量が変わったのとが、AWSコンソールのRedshiftのクラスター情報から確認できます。redshift4

タイミングを見てDS2インスタンスにアップグレードする

今回、使用したRedshiftのクラスターの記憶容量は約30GBと小さいため、30分もかからずDS2インスタンスにアップグレードできました。しかし、実際の業務では、テラバイトクラスの記憶領域のRedshiftが多いため、アップグレードに数時間必要になると思います。業務を止めないように、深夜帯や休日などにアップグレードする必要がありそうです。なお、根拠のない経験則ですが、Redshiftのバックアップ/リストアは、早朝の時間帯が、比較的早く処理が行われる気がします。

実際に使ってみての感想(2015/06/22更新)

DS2にアップグレードしてから1週間経過しましたが、問題は全く起きていません。SQLでの処理時間ですが、2,000万件ぐらいの集計では殆ど変りなく、1億件ぐらいの集計では5分ほど掛かっていた処理が4分ほどになり、処理速度の改善を体験できました。処理時間が、それほど改善しなかったのは、取得結果をダウンロードしてくる時間が掛かったためかもしれません。

SERVICE