ホーム>source

Elasticacheを通じてRedisを使用するサイトを現在実行しています。現在のインスタンスタイプで約70%が使用されているため、より多くのRAMを備えたより大きなインスタンスに移動します。

RDSインスタンスをスケーリングできるのと同じ方法でElasticacheインスタンスをスケールアップする方法はありますか?

別の方法として、レプリカグループを作成し、それに大きなインスタンスを追加したかったのです。次に、それが複製されて実行されたら、新しいインスタンスをマスターに昇格させます。レプリカはプライマリノードと同じインスタンスタイプで作成されるため、AWSコンソールではこれは不可能のようです。

私は何かが足りないのですか、それとも単に達成できないユースケースですか?より大きなインスタンスを開始し、手動でレプリケーションを処理してから、新しいサーバーを使用するようにWebサーバーを移動できることを理解していますが、これにはDNSの移行などによるダウンタイムが必要になります。

ありがとう! アラン

あなたの答え
  • 解決した方法 # 1

    Elasticacheは、memcachedの意味でのキャッシュソリューションのように感じます。つまり、スケールアップするには、実際に新しいクラスターを起動して、アプリケーションをそれに切り替えます。キャッシュを再構築する必要があるため、パフォーマンスは一瞬低下しますが、それ以上のものはありません。

    しかし、多くの人にとって(私はあなたも含まれていると思います)、Redisは、データの損失が許容できないNoSQLデータベースソリューションです。 Amazonはその問題の「解決策」としてリードレプリカを提供していますが、それでもまだ少し不確かです。もちろん、データ損失のリスクを軽減するためのレプリケーションを提供しますが、RedisのRDSほど生産安全(または成熟)には程遠いです。データベース (これは非常に完璧なキャッシュとは対照的に)、バックアップと復元の手順、およびスケールアップをサポートするための適切に構造化された変更管理を提供します。私の知る限り、ElastiCacheはない 実行中のクラスターのインスタンスタイプの変更をサポートします。これは、再起動時にすべてのデータが失われるのはメモリ内のソリューションにすぎないことを示唆しています。

    データの損失が気になる場合は、単にElastiCacheを使用するのではなく、自己ロール型のRedisソリューションを検討する必要があると私は言っています。実行する方がわずかに安くなるだけでなく、他のEC2インスタンスと同様にインスタンスタイプを変更できるようになります(もちろん、停止した後)。また、RDBまたはAOF永続性を使用することもできます。

  • 解決した方法 # 2

    ElastiCacheが次を維持しながら、より大きなノードタイプにスケールアップできるようになりました。

    https://aws.amazon.com/blogs/aws/elasticache-for-redis-update-upgrade-engines-and-scale-up/

  • 解決した方法 # 3

    はい、実行中のElasticacheインスタンスタイプをすぐに大きなサイズにスケールアップできます。私はそれをテストしましたが、実際のダウンタイムはほとんどありませんでした(最初は数秒と思いますが、コンソールが実際に終了するまでに数分かかるプロセスが表示されていても、すぐにオンラインに戻ります)。 .microからm3.mediumに問題なく。

  • 解決した方法 # 4

    スケールアップまたはスケールダウンできます

    Elasticacheサービスに移動

    クラスターを選択

    Actions から  上部のメニューで Modify を選択します

    Node Type を変更する  以下に示すように

    クラスターがある場合は、シャードを追加したり、シャードの数を減らしたり、スロット分散のバランスを再調整したり、リードレプリカを追加したりできます。クラスタ自体をクリックするだけで、このようなものが表示されます

    シャードを削除すると、データが他の既存のシャードに自動的に再配布されるため、他のシャードのトラフィックとオーバーロードに影響し、シャードを削除しようとすると、次のような警告が表示されます。

    さらにサポートが必要な場合は、お気軽にコメントを残してください。喜んでお手伝いさせていただきます。

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ CSSとHTMLで作成されたメールがGmailアプリで機能しない[iOS]