[Windows Azure] Visual Studio + Windows Azure SDK 1.6 から発行に失敗すると配置が削除される


みなさん、こんにちは。本日はVisual Studioから発行した際の配置が削除されるという、お客様よりよくご質問いただく問題についてご紹介いたします。

問題

Visual Studio 2010と Windows Azure SDK 1.6 (もしくは下位バージョン) を使ってWindows Azure パッケージを発行する。その際に、Visual Studio 2010 と Windows Azure 間のネットワークなどに問題があり、エラーが発生すると、発行していた配置が削除される現象が発生する。

原因

Visual Studio 2010 と Windows Azure SDK 1.6 を使って発行する場合、配置中に何らかの問題 (ネットワーク障害など) が発生した場合に、Visual Studio 2010 の Azure 用ツールは配置自体をキャンセルします。その結果、配置中のアプリケーションが削除されます。本動作はWindows Azure SDK 1.6の仕様動作に該当します。詳細については、後述の補足をご参照ください。

※重要
Windows Azure SDK 1.6 から Visual Studio 発行時のインプレース アップグレードがサポートされています。インプレース アップグレードを Visual Studio から実施した際に、接続に問題が発生した場合にも同様の配置のキャンセルが行われます。この結果、インプレース アップグレードの場合にも、配置が削除される現象が発生します。

対応策

対応策としては以下の2つの方法があります。

  1. Visual Studio を利用せず、Windows Azure管理ポータル、または、 PowerShell コマンドから発行を行う。
  2. Windows Azure SDK 1.6 を 1.7 以降にバージョンアップする。

新機能の追加などもございますので、2番目の方法をお勧めいたします。また、実運用時には Visual Studio の発行やインプレース アップグレードではなく、管理ポータルを利用した VIP スワップによるアップグレード方法をお勧めいたします。

補足

本動作自体は過去のバージョンからの仕様動作ですが、Windows Azure SDK 1.7 から、エラー発生時に削除を制御するオプションが追加されています。設定は、下記の手順で確認が可能です。

  1. Visual Studio 2010 で、Windows Azureのプロジェクトを開きます。
  2. クラウドプロジェクト (地球儀のアイコンのプロジェクト) を右クリックし、Publish (発行) を選択します。
  3. 発行画面が出てきますので、[Settings (設定)] タブを選び、右側ペインの[Advanced Settings (詳細設定)]を選択します。
  4. [Delete deployment on failure (エラー発生時に配置を削除する)] を確認します。規定値はチェックが外れているため、1.7以降はエラー発生時にも削除は致しません。

image

特にクラウドサービスの IP アドレスを直接利用している場合には、この現象により配置済みのアプリケーションが削除される場合、クラウドサービスに割り当てられている IP アドレスが解放されます。その結果、再配置によりIPアドレスが再割り当てされ、 IP アドレスが変更になります。実運用時にアプリケーションの更新をかける際には管理ポータルの利用と VIP スワップによるアップグレードをお勧めいたします。


Windows Azure サポートチーム
平原

Comments (0)

Skip to main content