Redshift Multi-AZの機能を試してみた #reinvent

2022.12.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どーも、データアナリティクス事業本部コンサルティングチームのsutoです。

re:Invent2022のアップデートで「RedshiftのMulti-AZ 構成(プレビュー)」が発表されました。

Cross-AZ cluster recoveryとの違いは?

既に似たような機能としてCross-AZ cluster recoveryという機能がありますが、大きな違いとしては、

  • 再配置の動作であるross-AZ cluster recoveryとは違い、Multi-AZはホットスタンバイのため、ダウンタイムが短い

ところになります。

制限事項(2022/12/6Preview時点)

Multi-AZの制限事項は以下となります。

インスタンスを一時停止できない、途中でインスタンスタイプの変更ができない、などいくつかあるので下記リンクをご確認ください。

やってみた

さっそく試してみました。

Previewクラスター作成

  • AWSコンソールでRedshift画面に移動すると、上部メッセージに「Create preview cluster」があるのでクリック

  • 従来のようなクラスター作成画面になるので、 Preview track に「preview2022」を選択、 Multi-AZ deployment に「はい」を選択してクラスターを作成

  • するとクラスター一覧にマルチAZが有効なクラスターが作成されました。

  • Primaryはap-northeast-1d、Secondaryはap-northeast-1cになっています。

手動フェイルオーバー実行

  • ではこの状態から「アクション」→「Inject Failure」を選択します。

  • 「本当に実施しますか?」というメッセージが出るので「確認」を選択してフェイルオーバーを実施してみます。

  • ステータスがModifyとなり、ap-northeast-1dが消え、Primaryがap-northeast-1cに変わりました。

  • 約4〜5分後、ステータスがAvairableになり、PrimaryのAZとSecondaryのAZが入れ替わったことがわかります。
  • また、AZが切り替わってもVPCエンドポイントの接続のENIのIPアドレスは変化していませんでした。

[ec2-user@ip-172-31-14-82 ~]$ dig redshift-cluster-preview.csidba11tagp.ap-northeast-1.redshift.amazonaws.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> redshift-cluster-preview.csidba11tagp.ap-northeast-1.redshift.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5906
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;redshift-cluster-preview.csidba11tagp.ap-northeast-1.redshift.amazonaws.com. IN        A

;; ANSWER SECTION:
redshift-cluster-preview.csidba11tagp.ap-northeast-1.redshift.amazonaws.com. 60 IN CNAME vpce-07a0860feda8a7ab8-qqpw9qpa.vpce-svc-0655570395b135666.ap-northeast-1.vpce.amazonaws.com.
vpce-07a0860feda8a7ab8-qqpw9qpa.vpce-svc-0655570395b135666.ap-northeast-1.vpce.amazonaws.com. 60 IN A 172.31.14.121
vpce-07a0860feda8a7ab8-qqpw9qpa.vpce-svc-0655570395b135666.ap-northeast-1.vpce.amazonaws.com. 60 IN A 172.31.38.139
  • さらにもう一度フェイルオーバーを実施して、ap-northeast-1dをPrimaryに戻した際、ノードIPアドレスの変化を見てみました。
  • 以下の画面のとおり、ダウンしたAZ側(ap-northeast-1c)のIPアドレスは変化しており、AZ切り替えに伴い、リーダーノードのIPアドレスも変化しています。

最後に

今回RedshiftのMulti-AZが実際にどのような動作をするのか試してみました。

RDSのように手動フェイルオーバーのアクションから動作確認できて、切り替え中の動作も似ているなーという印象でした。

まだPreviewなので、切り替わりのダウンタイムやクラスターのステータス変化の時間がどれくらいになるのかはわかりませんが、少なくともCross-AZ cluster recoveryよりも早く切り替えるのではないかと思います。

これで「Redshiftは冗長化できますか?」という何百万回された質問に対して、「Multi-AZの構成にできるので冗長化できますよ!」とハッキリ言うことができます。(ただしRA3インスタンスに限る)

Preview時点で東京リージョンも利用可能なので、GAになるのが待ち遠しいですね。