A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.
オープンソース Redis Cache の Microsoft 実装である Azure Redis Cache サービスのジオレプリケーションサポートの一般提供を発表した。本発表は2017年6月に発表されたパブリックプレビューに続くものだ。
ジオレプリケーションのサポートには Azure Redis Cache のインスタンスが二つ必要になり、一つは一次キャッシュとして動作し、もう一つは二次キャッシュとして動作する。プライマリキャッシュと別リージョンにレプリカを置く必要はないが、同実装を行うことでプライマリキャッシュのリージョンが使用できない際に回復力が得られる。 現在の実装では単一リージョンにのみレプリケーション可能だ。サービスが非同期処理の書き込みを伴う場合、二次キャッシュは読み取り専用になる。
ジオレプリケーションは Azure ポータルを介してプライマリキャッシュとセカンダリキャッシュをリンクすることで設定できる。
Image source: https://docs.microsoft.com/en-us/azure/redis-cache/cache-how-to-geo-replication#add-a-geo-replication-link
ジオレプリケーションを利用するためにはいくつかの前提条件が存在する。
- Azure Redis Cache はプレミアム価格帯を選択する必要がある
- Azure Redis Cache 同士が同一サブスクリプションである必要がある
- 二次キャッシュは一次キャッシュと同一以上の価格帯を選択する必要がある
- 一次キャッシュがクラスタだった場合、二次キャッシュも同一数のシャード数である必要がある
- キャッシュは実行中である必要がある
- どちらのキャッシュでも Redis 永続化は有効にしてはいけない
現時点で Azure Redis Cache ジオレプリケーションはプライマリキャッシュとセカンダリキャッシュ間の自動フェイルオーバーはサポートしていない。アプリケーション設定変更時に手作業の手順が必要とされることを意味し、サービスのダウンタイムが発生する可能性がある。Microsoft の プリンシパルプログラムマネージャーである Ye Gu 氏はこのことをブログ投稿で説明している。
二つの Azure リージョン間における物理的な距離は全体的な応答時間に大きな遅延を加える可能性がある。そのため Azure Redis Cache は別リージョンのジオレプリケートされたキャッシュに自動的なフェールオーバーはしない。
フェイルオーバーは一次キャッシュから二次キャッシュをリンク解除することで管理できる。リンクが解除されると二次キャッシュは新たな一次キャッシュとなり、書き込み要求を受け入れることができる。
同サービスは Amazon、Heroku、Redis 等、他のクラウドベンダーとの競争に直面している。
Amazon AWS ElastiCache は複数ゾーンでマルチ AZ 自動フェイルオーバーを備えたジオレプリケーションをサポートしている。Azure Redis Cache と同様、フェールオーバー処理は即座に行われるのではなく、動作するまでに数分かかることもあるが、自動で DNS 設定を再構成し必要なアプリケーション再構成の手間を削減する。
Heroku Redis はセカンダリの可用性ゾーンにスタンバイレプリカを配置することで高可用性をサポートする。 AWS ElastiCache と同様に自動フェイルオーバーをサポートしており、移行時に利用不能になることをさけ、プライマリが使用できなくなることを保証するため AWS の様に即時に移行ではない。サービスの上位層ではキャッシュを利用するアプリケーションに対しフェールオーバーは透過的だ。
Redis Enterprise Cloud ソリューションは AWS ElastiCache の様にマルチリージョンをサポートしており、数分ではなく数秒のフェイルオーバー時間を要し、他の主要ベンダーの様にインスタンスベースではなく「サーバーレス」として動作する。
この Azure Redis Cache の機能はプレミアムレベルの価格帯でのみ利用できる。値段はプレミアムレベルでのキャッシュ名に依存し、現在の価格は P4 の月額約 $400/月 ~ P4 の月額 $3,200/月までとなる。サービス自体は無料だが、同じ価格帯で二つインスタンス、またはより上位の価格帯のインスタンスがセカンダリに必要だ。また、Microsoft が提案しているようにセカンダリキャッシュが別リージョンにある場合、サービスはプライマリとセカンダリのキャッシュインスタンス間の同期のため追加のデータ転送費用が必要となる。
Rate this Article
- Editor Review
- Chief Editor Action