メモ > サーバ > サービス: AWS > ElastiCache (スペックダウン)
ElastiCache (スペックダウン)
ElastiCacheはスペックダウンの操作に制限があるようなので、実際のスペックダウンを試したときのメモ。
「シャード: 3 / ノードの数: 9」で作成したものに対し、シャードとノードの数を減らそうとしている。
■シャードの削除
AWSコンソールの
「ElastiCache → Redisクラスター → (削除したいElastiCacheを選択) → シャードとノード」
でシャードとノードの数を変更できそうなので試す。
「develop-0003」にチェックを入れ、「アクション → シャードの削除」で削除。
以下の警告が表示されるので「シャードを削除」をクリック。
develop のシャードを削除しますか?
これらのシャードを削除してよろしいですか?
develop-0003
クラスターをスケールインすると選択したシャードが削除され、これらのシャードに属していたスロットはクラスター内の残りのシャードに移行されます。
これにより、クラスター内のインメモリ容量が減少します。
メモリ容量が不足するとクラスターのパフォーマンスおよび可用性に影響が出ます。
減少後の容量がワークロードの要件に対して十分であるようにしてください。
クラスターはオンラインのままですが、このオペレーションには数分間から数時間程度かかる場合があります。
所要時間は、データのサイズ、クラスターの受信リクエストレート、およびシャード間で移行を必要とするスロット数によって異なります。
[キャンセル] [シャードを削除]
削除を実行すると、各シャードのステータスが「Modifying」に変わった。(3つとも変わった。)
また、Redisクラスターの一覧画面や詳細画面で「Modifying (32.24% 完了)」のように進捗が表示されている。
削除実行から10分ほどで「Modifying」に変わった。(パーセンテージが非表示になった。)
削除実行から15分ほどで「develop-0003」のステータスが「Deleting」に変わった。
削除実行から20分ほどで「develop-0003」が削除された。(一覧に表示されなくなった。)
削除実行から22分ほどで各シャードとElastiCacheのステータスが「Available」に変わった。
作業中、PHPのセッションが途切れることは無かった。
作業後は「シャード: 2 / ノードの数: 6」となった。
■シャードの削除(続き)
「develop-0002」にチェックを入れ、「アクション → シャードの削除」で削除。
つまり、シャードを1つにしてみる。
流れは同じだが、削除完了まで30分ほどかかった。
「シャード3つ → シャード2つ」よりも「シャード2つ → シャード1つ」の方が、移行すべきデータが多いからか。
■ノードの削除
ノードの削除を試す。
「develop-0001-003」「develop-0002-003」にチェックを入れ、「アクション → ノードの削除」で削除できるか。
…を試したが、両方にチェックを入れると削除できない。(削除を選択できない。)
「develop-0002-003」のみにチェックを入れ、「アクション → ノードの削除」で削除。
以下の警告が表示されるので「削除」をクリック。
develop-0002-003 を削除しますか?
このノードを削除してよろしいですか?
develop-0002-003
警告: 高可用性に適した設計にするには、シャードあたり少なくとも 3 ノードを確保することをお勧めします (プライマリノードが 1 つ、レプリカノードが 2 つ)。
[キャンセル] [削除]
「Cannot delete the given replicas as there needs to be nodes in two Availability Zones for this Multi-AZ enabled Replication Group」
というエラーが表示された。
ノードの途中削除は不可ということか。
■ノードの削除(続き)
シャードが1つの状態で、再度ノードの削除を試す。
「develop-0001-003」にチェックを入れ、「アクション → ノードの削除」から、普通に削除が開始された。
ノードのステータスが「Modifying」に変わった。ElastiCacheやシャードのステータスは「Available」のまま。
…が、すぐにノードのステータスも「Available」に変わった。
「develop-0001-003」は削除されていないまま。
再度削除を試しても同じ。
ノードを削除するには何か条件があるということか。