私は既存のアプリをAzureに移行しようとしています。あるWebロールにはMVCアプリが、別のWebロールにはいくつかのWCFサービスがあります。ライブの場合、サイトはhttp://www.myapp.com
になり、サービスはhttp://api.myapp.com
になり、MVCアプリはhttp://api.myapp.com
のサービスを指すように設定されます。Azure - 段階でサービスウェブの役割のURLを動的に発見する
問題は、Azureの「ステージ」設定にアプリをプッシュするときです。私が理解していることは、それぞれの舞台への押し上げによって、サービスは新しいURL(http://4aa5ae2071324585ba5a902f4242a98c.cloudapp.net/
のようなランダムなURL)に生きることになります。この場合、私のMVCアプリケーションがサービスのURLを発見する最良の方法は何ですか?
1つのオプションは、http://stage.api.myapp.com
のようなdnsエントリを設定し、ステージにプッシュするたびに新しいAzureステージングURLを指すようにDNS CNAMEレコードを更新することです。
もう1つの選択肢は、ステージング、サービスの新しいURLの取得、MVCの各インスタンスへのRDCの取得、手動による設定の更新です。また、うんざり。
これを行う簡単な方法はありますか?上記の手順のいくつかをPowerShellのようなもので自動化できることは分かっていますが、これを簡単にするAzureフレームワークに焼き込まれたものが本当にあることを期待しています。このような標準的なシナリオのようです。
これは良いことではありません。ロール間の通信には、この目的のためだけに存在するエンドポイントを使用する必要があります。申し訳ありませんが、私はダウン投票しましたが、あなたが提案しているようにこれをしないことが重要であると本当に感じています。 –
私はあなたが質問を逃したように感じる。ステージングスロットを動的に発見する方法でした。たった2つの方法(私が概説し、mgmt APIを使用する方法)があります - これはすべて私が答えたものです。可能であればinterrole commを使用することは良いアイデアだとは同意見ではありませんが、実際にはLoad Balancerアドレスを使用する必要があり、彼は明確にしませんでした。 – dunnry
私はあなたが何を意味しているのか理解していますが、答えが正しいことではないことがあります。私が意味するところは、プロセッサとマザーボードを一緒にテープで貼り付ける方法を尋ねると、あなたは私に教えてくれますか、それとも、私はそれをそこに置いて、すでに実装されているメカニズムでピン止めすることができると教えてくれますか? DeploymentIdは "虐待"されるべきではありません。本当に答えを感じています(間違いありません!)なぜあなたが何をやっているかを絶対に知っておらず、他のすべてのオプションを使用していない限り、また、外部エンドポイントを使用している場合は、トラフィックを支払う必要があります。 –