カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

Redshiftクラスターの一時停止と再開を実施する

今回は今年の3月に提供開始したRedshiftクラスターの一時停止機能と再開機能を実施します。
aws.amazon.com


公式ブログで手順が記載されています。
aws.amazon.com


この機能の提供によりRedshiftのコスト削減が可能になりました。
Redshiftを使用する場合、コンピューティングリソースの料金とストレージの料金が発生しますが、一時停止することでコンピューティングの料金を止めることが可能です。


Redshiftの料金については、以下をご確認ください。
aws.amazon.com

実施作業

使用するRedshiftクラスターは以前作成したものを使用します。

一時停止と再開方法

まずはマネジメントコンソールにログインし、Redshiftコンソールを表示させます。
その後サイドメニューからクラスターを選択し、一時停止するクラスターを確認します。
f:id:live-your-life-dd18:20200616163419p:plain


対象のクラスターにチェックを付け、右上のアクションから一時停止を選択します。
f:id:live-your-life-dd18:20200616163603p:plain

一時停止する際の設定が表示されます。
f:id:live-your-life-dd18:20200616163657p:plain

設定内容として

  • Pause now(今すぐ停止)
  • Pause later(後から停止)
  • Pause and resume on schedule(停止と再開スケジュールの設定)

の3つから選択できます。

Pause now

この設定はすぐにクラスターの停止処理を開始します。
特にそれ以外に設定は不要です。
f:id:live-your-life-dd18:20200616164013p:plain

Pause later

この設定は、すぐにクラスターを停止せず、指定した時間に停止したい場合に使用します。
f:id:live-your-life-dd18:20200616164319p:plain

注意点として、
①時間指定する際はUTC時間での設定になること
②Redshiftスケジューラが停止できるように、IAMロールを指定する必要がある
というものがあるため、設定する際は確認した上での設定が必要です。

Pause and resume on schedule

最後はクラスターの停止と再開のスケジュールが可能になる設定です。
f:id:live-your-life-dd18:20200616164811p:plain

設定方法として、エディタでスケジュール設定する方法と
f:id:live-your-life-dd18:20200616164938p:plain

Cron構文で設定する方法があり、いずれも停止スケジュール・再開スケジュールを別々に設定します。
f:id:live-your-life-dd18:20200616165003p:plain

こちらもUTC時間かつIAMロールの指定が必要なため、注意が必要です。
また、開始日と終了日をしていない場合は永続的に実行されるため、その部分についても認識した上での設定が必要になります。

クラスターの一時停止

今回は即時停止を試します。
f:id:live-your-life-dd18:20200616165337p:plain

一時停止を実行するとクラスターの状態が一時停止中に変更されます。
場合によっては数分停止までかかることもあります。
f:id:live-your-life-dd18:20200616165411p:plain

一時停止が完了すると状態がPausedと表示されます。
f:id:live-your-life-dd18:20200616165744p:plain

一時停止の状態でエディタからアクセスしようとすると「クラスターがありません」と表示され、アクセスができないことが確認出来ます。
f:id:live-your-life-dd18:20200616165848p:plain

クラスターの再開

再開する場合も一時停止と同じようにクラスターのアクションから「再開」を選択します。
f:id:live-your-life-dd18:20200616170112p:plain

再開時の選択内容は一時停止時と同じ3種類あり、その設定内容もまったく同じです。

  • Resume now

f:id:live-your-life-dd18:20200616170157p:plain

  • Resume later

f:id:live-your-life-dd18:20200616170348p:plain

  • Resume and pause on schedule

f:id:live-your-life-dd18:20200616170403p:plain


ここでは一時停止時と同じく「Resume now」で再開します。
f:id:live-your-life-dd18:20200616170513p:plain

クラスターの状態がAvailableになったら正常に再開されています。
f:id:live-your-life-dd18:20200616171526p:plain

エディタからもDBにアクセスできることが確認出来ました。
f:id:live-your-life-dd18:20200616171615p:plain

感想及び所感

ユースケースとして、平日の日中帯のみ起動させたいという場合が考えられますが、スケジュールのエディタ設定では複数曜日の指定ができないみたいです。
f:id:live-your-life-dd18:20200616172206p:plain

Cron構文であれば範囲指定が可能なので、その場合はCronで指定すればできそうな気はしますね。
f:id:live-your-life-dd18:20200616172253p:plain