ILB (内部ロードバランサー) 利用時には VIP スワップは利用できない

1 minute read

この記事は 旧 Japan Azure PaaS Support Blog からのコピーとなります。
記載されている内容は 2016 年 10 月 26 日 時点のものとなり、現時点におきましては変更されている可能性がありますので、ご注意下さい。

こんばんは。CIE サポート 小野寺です。
Cloud Service を仮想ネットワーク環境下でご利用いただく際、負荷分散や、冗長性確保の構成を構築するために、Internal Load Blancer をご利用いただくことになるかと思います。そのときの注意点についてお知らせいたします。


実は Cloud Service に対して Internal Load Balancer (以降 ILB) を利用するように設定を行っていた場合、 VIP スワップの機能をご利用いただくことはできません。
例えば Powershell で VIP スワップを行っていただいた場合には下記のメッセージにより VIP スワップが失敗することとなります。

BadRequest: The deployment <デプロイ ID> in hosted service <クラウドサービス名> contains an internal load balancer. VIP swaps are not supported if any deployment contains an internal load balancer C484C368-D570-48CC-8348-DA4AEC377831

このように、ILB を利用いただいている場合に VIP スワップが利用できないため、更新前環境を維持しつつ、サービスのダウンタイムなく本番環境のモジュールの切り替えを行う必要がある場合には、あらかじめ環境面で工夫いただく必要がございます。一つの案となりますが、以下のような方法が考えられます。

代替案) DNS の A レコードを変更し、本番とステージングの環境の切り替えを行う

以下のような環境があったとします。

A46459A1-E546-4C0B-B5A4-0080C3FCB0CE

この環境に対して新しいモジュールを展開するとします。このとき、CloudService A のステージング環境を
利用しても、VIP スワップの機能は使えません。そのため、 ILB (10.0.0.21) に対してユーザーがアクセスをする際には www.contoso.com を利用するように DNS を構成します。

1960D208-DE0B-421C-9817-F26FF5DAAAAA

新しいモジュールをデプロイした環境を上記のクラウドサービスとは別に作成します。

A820AD62-83A5-4B85-BB4E-BDD5762622A6

最新モジュールのテスト完了後、本番環境を最新モジュールのクラウドサービスに切り替える際には、DNS の設定を変更し、www.contoso.com でアクセスしたときに 10.0.0.31 の ILB に向くようにします。

E103B05C-9BAA-4FAF-B1C6-7E14E8BC7BEE

このようにすることで、VIP スワップと同等の操作を実施することが可能となります。

あらかじめ上記制約を考慮の上、環境構築ならびに運用設計を行っていただけますと幸いです。

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。