MattBは水からそれを打ちました。+1詳細については返信しますが、彼の主張を引き受けるつもりはありません。彼が言ったことに付け加えます。
私は彼が説明したものと同様の設定をしており、それはうまく機能しています。ARRは、1台のサーバー上でも実行できます。
ただし、いくつか追加します。
Mattが推奨するように、2つのサイトを作成します。yoursite.com01やyoursite.com02のような名前を付けます。
2つのURL書き換えルールを作成します。1つはwww.yourdomain.com用、もう1つはstaging.yourdomain.com用です。実稼働環境では、値(^ www.yourdomain.com $)|(yourIP)で{HTTP_HOST}を使用します。(または任意のバインディング)ステージングには、(^ staging.yourdomain.com $)の値で{HTTP_HOST}を使用します。ルールyoursite.comおよびstaging.yoursite.comを呼び出します。
Rule = yoursite.comをsite = yoursite.com01にバインドし、rule = staging.yoursite.comをsite = yoursite.com02にバインドします。
staging.yoursite.comでFTPをセットアップします。
本番トラフィックは、Rule = staging.yoursite.comおよびSite = yoursite.com01に移動します。反対に停滞。
任意の時点でステージングにデプロイ、テスト、事前スピンアップ、他の人にテストなどを行うことができます。日中に実行することは重要ではありません。毎回同じFTPアカウントにデプロイします。ビルドサーバーに最適です。
次に、ライブの準備ができたら、次の3つの変更を行います。-FTPバインディングをyoursite.com02からyoursite.com01に移動します-URL書き換えルールyoursite.comをyoursite.com02を指すように変更します-URL書き換えルールステージングを変更します。 yoursite.comを指すyoursite.com01
すぐにロールバック機能を使用して、ゼロダウンタイム、即時切り替えが可能になりました!
考慮すべき唯一の落とし穴は、プロセス外セッション状態です。スワップ中にセッション状態が失われないように、状態サーバーが両方のサイトIDを受け入れることを確認してください。
また、これはWebのみであり、データベースではないことに注意してください。
スクリプトを作成するには、構成エディターを使用します。必要な変更を行い、「スクリプトを生成」をクリックします。C#、appcmd、またはAHAdminコードが提供されます。
インスタンスをスワップするためのWebページのフロントエンドを使用して、これを数か月間使用してきましたが、振り返ることはありません。従来の展開と比較して、展開が非常に更新されます。