2

AzureでクラウドサービスとVMの役割を設定しています。My CloudServiceはServer2012で実行されるシンプルなMVCサイトであり、VMはredisがインストールされたUbuntuOSです。役割間の通信はAzureでどのように機能するはずですか?(すべてが同じデータセンターにあります。)

VMにパブリックエンドポイントを設定することはできますが、redisマシンを公開したくありません。これを行う適切な方法はありますか?VMに割り当てられているプラ​​イベートIPは固定されていますか?もしそうなら、私はそれを使うことができますよね?

4

1 に答える 1

3

WindowsAzure仮想マシンとWindowsAzureクラウドサービス間の通信を開くには、Windows Azure仮想ネットワーク(WAVN)を使用する必要があります。

WAVNには、アフィニティグループを指定するための明示的な要件があることに注意してください。したがって、お持ちでない場合は、仮想ネットワークを作成するときに作成できます。これで、その仮想ネットワークに「参加」できるようにするには、クラウドサービス(つまり、Web /ワーカーの役割)が同じアフィニティグループに属している必要があります。サービスの作成後にクラウドサービスのアフィニティグループを変更できるかどうかわかりません。したがって、仮想ネットワークを作成したアフィニティグループを指定して、新しいクラウドサービスを作成するだけです。

次のステップは、作成した仮想ネットワークを使用するように仮想マシンを構成することです。これは、「ギャラリーから」プロセスの一部です。

次に、クラウドサービス(Web /ワーカーの役割)に指示する必要があります。これは、VisualStudioのクラウドプロジェクトの.csconfigファイルを介して行われます。ネットワークを構成するためのUIはまだありません。含める必要があるのは、ルート要素NetworkConfigurationの直接の子孫としてのセクションです。Configuration

<NetworkConfiguration>
  <VirtualNetworkSite name="SampleNetwork" />
  <AddressAssignments>
    <InstanceAddress roleName="ContactManager.Web">
      <Subnets>
        <Subnet name="FrontEnd" />
      </Subnets>
    </InstanceAddress>
  </AddressAssignments>
</NetworkConfiguration>

ロールと、ロールを配置する仮想ネットワーク名およびサブネットについて説明します。

指が交差しました。これで、すべてが同じネットワーク(作成したネットワーク)に配置されます。名前解決は一般的に機能している必要がありますが、プレビューであるため、問題が発生する可能性があります。これで、MVCアプリケーションはLinuxVMを直接「呼び出す」ことができます。アドレス指定には、VM名を使用します。

Linux VMからMVCを呼び出す場合は、WebRoleの特定のインスタンスをアドレス指定する必要があります。

IPアドレスに関して-内部IPアドレス(別名ダイレクトIPアドレスまたはDIP)は決して固定されません!仮想ネットワークを作成する場合でも、DHCPに割り当てることができるIPアドレスは1つだけです。また、仮想ネットワークの設定で指定したプールから割り当てられます。

Windows Azure仮想ネットワークに関する優れた資料は、ここにあります。

于 2012-11-13T17:40:47.143 に答える