与Azure workerrole的RDP连接导致AzureWebrole

时间:2014-04-09 07:43:29

标签: azure azure-web-roles azure-worker-roles rdp

我有以下问题。

我创建了以下云服务设置。

Azureproject
  Roles
    AruzeWebRole
    AzureWorkerRole

webrole有两个小实例,workerrole有一个额外的小实例。

当我将其部署到我们的天蓝色环境时,我正确地看到了三个实例:

Name                   Status       Role               Size
---------------------------------------------------------------------
AzureWorkerRole_IN_0   Running      AzureWorkerRole    Extra Small
AruzeWebRole_IN_0      Running      AruzeWebRole       Small
AruzeWebRole_IN_1      Running      AruzeWebRole       Small

一切正常。 但是,当我打开与我的两个Web实例的RDP连接,以及与workerrole-instance的第三个rdp连接时,我被踢出了一个web-instance。 当我仔细看一下,当打开RDP会话到workerrole时,它只是为Webrole实例创建一个RDP。

重新部署后,我可能会在另一个网络实例中使用。

如果我将workerrole的大小从XS更改为M,它仍会打开我的一个webroles的RDP。

我不确定我做错了什么。 我的workerrole是否真的部署在我的一个webrole实例上,或者Azure只是愚弄我。

如果有人有类似的情况,或者一些好的建议来检查这个。那会很好。

谢谢!

2 个答案:

答案 0 :(得分:1)

我可以说这是一种奇怪的行为。我有大致相同的配置,它工作得很好。 只是想一想。

RDP在Azure中的工作方式是:     有一个公共IP或yourapplication.cloudapp.net端点。您的所有实例都在负载均衡器后面。为了能够RDP你的任何实例,serviceDefinition文件中应该有这样的行。

<Imports>
   <Import moduleName="RemoteAccess" />
   <Import moduleName="RemoteForwarder" />
</Imports>

在您的情况下,这些行位于您的webrole实例下。这意味着,当您尝试连接到yourapplication.cloudapp.net端点时,RemoreForwarder会根据存储在RDP连接文件中的信息将您转发到特定实例。所以要检查一下。转到azure门户并下载webrole实例和workerrole实例的rdp连接文件。用记事本打开那些并看到你自己:相同的端点和一个向remoteforwader说明要连接到哪个实例的部分。

有一件事我忘了告诉你。如果要手动连接到实例(不使用azure portal中的RDP连接文件),则表示省略实例cookie ,很可能您将连接到您的某个webrole实例,可能是实例0。

答案 1 :(得分:0)

为什么你会从Web角色RDP到Web角色然后RDP到worker角色?只需从本地计算机直接RDP到worker角色。在门户中,您可以从Instances列表中选择辅助角色实例,然后选择Connect。