CDP:Weighted Transitionパターン
提供:AWS-CloudDesignPattern
重みづけラウンドロビンDNSを使った移行
目次 |
解決したい課題
システム全部をある地域から異なる地域へ移行したいというケースがある。例えば、オンプレミスのデータセンターから、クラウドへシステムを移行する場合、もしくはクラウドのある地域から異なる地域へ移行したい場合が考えられる。この際、システムのドメイン名を変えることなく、なおかつ、システムを停止することなく、できるだけスムーズに移行したいという要望は大きい。
クラウドでの解決/パターンの説明
ドメイン名を変えることなくシステム全部を移行させるには、DNSサーバーにおいて重みづけラウンドロビンという機能を用い、名前解決する際に既存システムから新システムに切り替える手法がある。最初は新システムに少しだけ振り分け、問題が無ければ、新システムへの配分を徐々に増やしていくことができる。クラウドで提供されているDNSサービスを用いれば、重みづけラウンドロビン設定も容易に行えるため、最小限のDNSサーバーの運用の考慮で移行作業を行うことができる。
実装
AWSのRoute 53(名前解決サービス)で重みづけラウンドロビン(Weighted Round Robin)機能を用いて下記のようにシステム移行ができる。
- Route 53のホステッドゾーンに、既存システムのレコードセットを作成する。
- 既存システムと同等の構成で、新システムを準備する。
- Route 53のホステッドゾーンの中に、新システムへのレコードセットを作成し、重みづけの設定を行う。
- 当初は新システムへの振り分けを非常に小さくしておき(例えば1%)、問題なくシステムが稼働すれば、徐々に重みづけを増やし、最終的に新システムに完全に移行する。
構造
利点
- 既存システムに手を入れることなく新システムへの移行が可能になる。
- トラフィックをコントロールしながら既存システムへ移すことができるので、何か問題があったときにはすぐに切り戻すことができる。
注意点
- 移行の際にデータベースのデータ同期が必要な場合は、その部分は別途考慮する必要がある。