株式会社オズビジョンでは一緒に働く仲間を募集しています
SREチームの横地秀です。
今回はAWSを利用しているサイトのELBを無停止で変更する方法を紹介します。
例としては、Classic(非VPC)にあるサイトをVPC内に移行するという想定。
一般的にDNSのCNAMEレコードでELBに対応するFQDNを設定しています。そのため、新しいELBを作成した際にはDNSのCNAMEレコードを変更しなければなりません。
しかし、DNSレコードを変更した場合は「浸透期間72時間」というルールがありその期間は変更前後のどちらにもリクエストが発生してしまいます。
ELBに接続されているインスタンスが読み込み専用でしたら両方のELBに同じインスタンスを配置する方法も可能ですが、書き込みがあるものであればこの方法は利用できません。
そこで、ClassicLinkという機能を使いVPC内のELBからClassicのインスタンスに接続し、2つのELBから同じインスタンスへ接続している状態とした上でDNSのCNAMEを変更するというやり方で実現することができます。
以下のスライドを見ていただけるとイメージできるかと思いますのでご覧ください。