7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

システムをリプレイスする際の方法には様々な方法があります。

今回紹介する方法は、システムの基本的な構成は変わらないという条件下において、段階的なシステム移行を行う際のノウハウです。

以下のような条件が該当します。

移行前システムと移行後システムにおいて、

  • URLのベースは変わらない
  • サイトの見た目は変わらない
  • DBは同じものを利用

以下のようなメニュー(Menu1, Menu2, Menu3)があるサイトを例にして説明します。
それぞれ
https://example.com/admin/menu1
https://example.com/admin/menu2
https://example.com/admin/menu3
でアクセスできるということにします。

image.png

移行前の状態

https://example.com/admin/menu1
https://example.com/admin/menu2
https://example.com/admin/menu3
にリクエストした場合、target-group1を利用して移行前システムにアクセスします。

image.png

ALBの設定は以下のような形になります。

image.png

移行中の状態(1)

移行後のシステムを開発し、
https://example.com/admin/menu3
が運用できる状態になったとします。

以下のような構成になります。
image.png

ALBの設定は以下のような形になります。
image.png

画面上のメニューによって、別システムへのアクセスができる形になります。 
image.png

移行中の状態(2)

移行後のシステムで
https://example.com/admin/menu2
も運用できる状態になったとします。
image.png

ALBの設定は以下のような形になります。
image.png

サイトのアクセスは以下のようになります。
image.png

おわりに

このような形でALBのルールでTargetGroupを切り替えることによって、段階的なシステム移行も可能になります。
今回は、アプリケーション側の考慮(例えば、システム間のセッションの取り扱い)については対象にしておりませんが、実際にはそのあたりの考慮が必要になるかと思います。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?