0
0

Zero-Downtime AWS Cross-Region Migration : Application Cluster

Posted at

こんにちは。今回のポストでは、AWS Cross-Region Multi VPC環境で、無停止でアプリケーションサービスクラスターをMigrationした事例を共有したいと思います。

Context

[1] A社は大韓民国でB2Cサービスを提供している会社で、AWSソウルリージョンができる以前からAWS Cloud基盤のインフラを構築し、開発していました。

[2] サービスが大きくなるにつれ、A社もアプリケーションを複数のサービスに分離し始め(MSA)、生まれたAWSソウルリージョンにより、新しいサービスはソウルリージョンでプロビジョニングされていました。

[3] MSAによって分離されたサービス間のInternal通信が生まれ、ソウルリージョンと東京リージョンVPCをVPC Peeringにまとめて使用していました。

[4] A社はドメインをいくつか使っていて、ドメインAは東京リージョンにあるLBにつながり、様々なサービスをL7 Path Routingを通じてサービングしていました。

Problem

[1] サービスが次第に大きくなり、ソウルと東京リージョンに分かれたサービス間のInternal通信が多くなり、A社のサービスは応答速度低下問題を経験するようになりました。

[2] ドメインAとつながっているLBのサービスが多く、点検または中断環境ですべてのサービスを一度にマイグレーションするのは危険負担が大きく、漸進的なリージョンマイグレーションが必要でした。

Solution

[1] 東京リージョンにTLSが適用されていない新しいLBをPrivate Subnetにプロビジョニングし、既存のAドメインと同じPath Routingルールを適用します。 そしてNLBとVPC Endpointを利用してこのALBのEndpointを生成します。 最後に、ソウルリージョンにTLSが適用された新しいLBをプロビジョニングし、上記で生成したEndpointにルーティングします。

[2] 既存ドメインAをソウルリージョンのLBをResolveするように変更します。 AWS Route53のWeighted Routingなどの戦略を利用することができます。

[3] ソウルリージョンに既存のサービスを一つずつマイグレーションし、ソウルリージョンLBのPathルールを変更して接続します。 このプロセスを繰り返し、東京リージョン全体のサービスを移行します。

Visualization

Screenshot 2024-08-03 at 6.13.08 PM.png
Screenshot 2024-08-03 at 6.13.15 PM.png
Screenshot 2024-08-03 at 6.13.21 PM.png
Screenshot 2024-08-03 at 6.13.31 PM.png

0
0
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
0
0