メモ > サーバ > サービス: 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」は削除されていないまま
再度削除を試しても同じ
ノードを削除するには何か条件があるということか