我需要配置Orleans群集以连接到Azure App Service。问题是网络是我的最弱点;)。 我已经使用Azure Worker Role(4个实例)配置了Orleans Silo,侦听默认端口:
.ConfigureEndpoints(siloPort: 11111, gatewayPort: 30000)
我已使用以下设置将辅助角色分配给Azure VNET(经典):
地址范围10.0.0.0/24
子网1 10.0.0.0/27(此处将工作人员角色分配为网络安全组的一部分)
指向站点范围10.0。 1 .0 / 24
GatewaySubnet 10.0.0.32/29(添加到同一网络安全组)
我看到这四个实例在Subnet-1中采用了正确的IP:10.0.0.4至10.0.0.7。
应用服务已分配给该VPN(“证书同步”)并报告:
路由到VNET的IP地址
10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255
我看到应用程序服务尝试连接到10.0.0.7:30000
我通过检查应用程序诊断和使用tcpping都测试了应用程序无法访问10.0.0.7:30000。(无法连接到10.0.0.7:30000:AccessDenied)
我肯定缺少这里的基本知识,十年来我没有配置IP!
(这类似于Vnet between Virtual Machine and App Service in Azure,但在这种情况下,我确实想配置VNet,并且有一个特定的实际问题)
答案 0 :(得分:1)
对于网络,我建议验证以下内容:
有关更多参考,Create a VNET and access an Azure VM hosted within it from an App Services Web App
答案 1 :(得分:0)
在详细检查了Nancy提供的所有文档之后,我最终通过VM连接到其中一个云服务VM(筒仓)。我需要允许它通过NSG。我用netstat -aon检查该服务正在侦听预期的端口。我可以ping该服务的其他实例。
然后,我下载了tcping并尝试从该实例连接到其他实例的预期端口。它被阻止了。当我在同一个筒仓中时,我现在可以将问题确定为“防火墙(VM或主机级别)”(Nancy提到的可能问题之一)。
解决方案是在Cloud Service定义(csdef)处配置端点,因此VM防火墙阻止了对这些端口的访问。我天真地以为可以在SiloBuilder级别上配置它们就足够了,但是SiloBuilder是应用程序层,它不会更新正在运行的VM。
结果是,现在netstat -aon显示的是与“ 11111”的服务连接为“已建立”,而不仅仅是“侦听”,并且VM的防火墙显示了新规则。辅助角色实例可以彼此连接。
应用程序服务(网络应用程序)仍然无法连接到任何辅助角色的host:port 。我尝试删除NSG,但是这导致实例之间无法再次看到对方,因此我将NSG重新分配给了子网1和GatewaySubnet。
我尝试的最后一件事是将App Service与VNET断开连接,然后重新连接。我在该步骤上遇到了其他(不相关的)错误,当我对这些错误进行整理时,我将对其进行更新。