はじめに
システムをリプレイスする際の方法には様々な方法があります。
今回紹介する方法は、システムの基本的な構成は変わらないという条件下において、段階的なシステム移行を行う際のノウハウです。
以下のような条件が該当します。
移行前システムと移行後システムにおいて、
- URLのベースは変わらない
- サイトの見た目は変わらない
- DBは同じものを利用
以下のようなメニュー(Menu1, Menu2, Menu3)があるサイトを例にして説明します。
それぞれ
https://example.com/admin/menu1
https://example.com/admin/menu2
https://example.com/admin/menu3
でアクセスできるということにします。
移行前の状態
https://example.com/admin/menu1
https://example.com/admin/menu2
https://example.com/admin/menu3
にリクエストした場合、target-group1を利用して移行前システムにアクセスします。
ALBの設定は以下のような形になります。
移行中の状態(1)
移行後のシステムを開発し、
https://example.com/admin/menu3
が運用できる状態になったとします。
画面上のメニューによって、別システムへのアクセスができる形になります。
移行中の状態(2)
移行後のシステムで
https://example.com/admin/menu2
も運用できる状態になったとします。
おわりに
このような形でALBのルールでTargetGroupを切り替えることによって、段階的なシステム移行も可能になります。
今回は、アプリケーション側の考慮(例えば、システム間のセッションの取り扱い)については対象にしておりませんが、実際にはそのあたりの考慮が必要になるかと思います。