Redshift Multi-AZの機能を試してみた #reinvent
どーも、データアナリティクス事業本部コンサルティングチームの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になるのが待ち遠しいですね。