社区
其他技术讨论专区
帖子详情
从Azure虚拟机访问外网
weixin_38059951
2016-06-29 09:40:44
从Azure的虚拟机可以直接访问外网(互联网)吗?
现在创建了一个Azure虚拟机,但访问不了外网,是因为中国Azure有这方面的限制?还是有什么需要注意的设置?
...全文
60
1
打赏
收藏
从Azure虚拟机访问外网
从Azure的虚拟机可以直接访问外网(互联网)吗? 现在创建了一个Azure虚拟机,但访问不了外网,是因为中国Azure有这方面的限制?还是有什么需要注意的设置?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
如何解决在
Azure
上部署Sqlserver网络
访问
不了
最近在部署
Azure
虚拟机
的时候,一直
访问
不了网络数据库,一搜资料才知道,
Azure
默认是不打开入网规则的,需要手动设置。 在 Windows 防火墙中为数据库引擎的默认实例打开 TCP 端口 1.在“开始”菜单中,单击“运行”,键入 WF.msc,然后单击“确定”。 2.在“高级安全 Windows 防火墙”的左侧窗格中,右键单击“入站规则”,然后单击操作窗格中的“新建规则”。 3.在“规则类型”对话框中,选择“端口”,然后单击“下一步”。 4.在“协议和端口”对话框中,选择“TCP”。选择“特定本地端口”,然后键入数据库引擎实例的端口号(默认实例对应的端口号 1433 或您在终结点步骤
基于微软
Azure
、.NET Core和Docker的博客系统.zip
首先简要介绍一下目前的站点功能吧。右图就是本站的主页效果,我做得很简洁,没有用太多花哨的图片,也没有用走马灯。明眼人一看就知道这是基于ASP.NET MVC而开发的Web应用程序,使用了Bootstrap。不错,基本答对!需要强调的是,这个博客站点以及后端的RESTful服务,全部都是基于ASP.NET Core完成的,.NET Core运行时版本为1.1.0,运行在Docker容器中。哎,说着说着又到技术上了,功能还没介绍完呢。说到功能,目前功能很简单:主页列出了我自己原创或者翻译的所有文章,读者可以注册用户帐号,注册用户可以发表评论,也可以在用户管理页面中更改自己的昵称。好了,目前功能就这么多,别看功能少,我可是前前后后陆陆续续花了2个月的时间,才做到目前这个样子。当然,我会继续更新这个站点,让它的功能变得更加完善。提到ASP.NET Core,有没有吊起你的技术胃口呢?不用着急,接下来我就介绍一下整个站点中各部分的技术选型,看完后,或许你会知道为什么我花了2个月的业余时间,才整出来这么个简单的玩意儿。站点技术介绍整体架构整个网站所采用的所有基础设施全部运行在微软云(Windows
Azure
)中,使用了部分托管资源,以及一些非托管的
Azure
VM。大致情况如下:图片存储服务:由
Azure
Blob Storage Service托管数据库系统:由
Azure
SQL Database托管(未启用Geo-Replication,因为没钱)邮件服务:由
Azure
SendGrid Account托管(Pricing Tier为F1,每月可以免费发送25000封邮件)应用服务器:基于
Azure
构建的Ubuntu 16.04.1 LTS
虚拟机
,运行了两个Docker容器:blog-web和blog-service,分别托管前端Web站点和后端RESTful服务。后端RESTful API服务没有做任何认证和授权,Web站点通过内部子网
访问
RESTful API服务,Docker容器运行在非托管环境中持续集成系统:Jenkins,基于
Azure
构建的Windows Server 2012 R2一台(Master),和一台Ubuntu 16.04.1 LTS(Slave)。站点的前端和后端都在后者(Ubuntu)中完成编译、打包以及Docker镜像的发布,实现了一步到位的部署方式代码库:Github有人会问:为什么使用了非托管的
Azure
VM环境运行应用系统?我也考虑过这个问题,理论上讲,基于云的系统架构最好选用托管的PaaS服务,这样不仅可以得到纯天然的高可用性(包括灾备,比如AWS的跨AZ部署,某些服务跨区域的可用性,以及负载均衡),而且还可以得到专业的技术支持。只有当存在老系统向云迁移的需求,并需要迎合老系统的特定运行环境要求时,才考虑使用IaaS服务。虽然
虚拟机
等这些资源是由
Azure
负责创建并运行的,在这一层面
Azure
可以保证虚机的可用性,但虚机内部运行的任何程序的状态,以及所使用的数据,
Azure
等云服务是无从得知的,对这部分东西的监控也会变得很麻烦。出于安全考虑,通常云服务供应商是不会,也不应该获得类似虚机内部的客户程序的运行数据的,使用
虚拟机
服务所产生的程序运行风险,客户需要自己承担。这也就是著名的责任共担原则。看起来用
虚拟机
运行应用不是太靠谱嘛,然而我却选择这么使用了。有几个原因:为何不使用
Azure
Web App?一方面Jenkins做自动化部署,直接把编译好的应用推送到
Azure
Web App中好像不是太顺手,要写一些PowerShell的代码,可是我的编译系统是Linux,不过现在已经有Linux版的PowerShell了,而且
Azure
SDK Command Line Interface也有Linux版,所以这个理由有点牵强,更合理的解释是:劳资不会!另一方面,我没有在服务端做认证和授权,仅通过子网向外界提供服务,所以我希望我的Web App也运行在子网内部,然后向外暴露80端口供外界
访问
。这样一来,
Azure
Web App又如何部署到我自己的子网内?这是一个技术问题,我相信一定有解决方案,但是我也没太多时间和精力去细究如何实现,自己的第一反应也无非是将前后端全部部署在
Azure
Web App中,然后打开后端的认证机制。但这样做又要花一些额外的工夫。好吧,还是这个理由:劳资不会为何不使用
Azure
Container Service?
Azure
Container Service会在你指定的Resource Group(资源组)中创建一整套网络部署,包括好几台
虚拟机
、公网IP、两个负载均衡器等等,我想你一定知道我为什么没有选择
Azure
Container Service了,原因就是:劳资没钱理由够充分吧?微软Windows
Azure
提供的这些服务都很赞,我没选不是说它们不好用,而是出于自己的实际情况考虑:某些服务的学习成本经济成本暂时没必要做到99.99999%的高可用率即使应用挂了,恢复的成本很小:数据完全不需要恢复,托管的SQL Database、Blob Storage会保证我的数据不丢失,应用程序恢复也很简单:重新运行Docker容器就完事儿OK,从整体架构上看,我的选择即是如此而已,这样的选择当然不一定完全正确,但我觉得至少合适,仅供参考。下面附上本站点的整体架构图。作几点注解:三台VM位于同一个Virtual Network的subnet中,每台VM的虚拟网卡上都套有独立的Network Security Group(NSG),在NSG上设置了Inbound/Outbound Endpoints,严格限制了端口
访问
的IP地址。三台VM之间使用subnet IP地址
访问
Windows Server 2012 VM宿主了Jenkins Master,以及Seq日志服务。它向公网暴露8080端口和5342端口,分别用于
访问
Jenkins服务和Seq管理界面第一台Ubuntu VM运行了Jenkins Slave,它不向公网暴露任何端口,仅向Jenkins Master机器暴露22端口,用于Jenkins Slave Agent的执行调度第二台Ubuntu VM运行了博客系统的两个Docker容器:前端应用程序blog-web和后端RESTful API服务程序blog-service。web通过子网IP地址
访问
service,VM仅向公网暴露80端口,后台service无法从公网
访问
两个Docker容器所运行的应用(blog-web和blog-service)都可以
访问
托管的
Azure
SQL database、
Azure
Storage blob和SendGrid Account服务整个部署的拓扑结构有可能不太合理,比如没有做负载均衡,没有使用托管的应用宿主服务(比如
Azure
Web App、Container Service等),没有使用Scaleset。因为目前没必要而且没钱更多说明,详见作者的博客:http://daxnet.me/blogposts/post/221 标签:daxnet
Microsoft
Azure
云概述视频教程
本系列课程针对重要的基础性
Azure
服务进行了由浅入深的介绍,将使您全面了解
Azure
一些重要的服务的相关概念,以及使用,配置和管理方法,借此您能以更合理的方式将不同的
Azure
服务运用到自己的工作中。
外网
访问
用
azure
虚拟机
搭建的网站
1、Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在
azure
上搭建如上所述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里。 2、从
外网
访问
注意,这一步的前提是在第一部中,你已经可以在
虚拟机
中
访问
自己的网站了,如果你在
azure
上的
虚拟机
没有图形界面也没关系,可以参考这里,使用命令行式的浏览器浏览你的helloworld.php,以此验证环境搭建成
azure
虚拟机
root,
azure
虚拟机
怎么用
这两天有遇到使用ubuntu系统的地方,奈何我的
虚拟机
里只有安装centos,于是顺便写一篇教程 首先第一步: 准备好镜像文件 第二步:打开VMware软件选择创建新的
虚拟机
选择自定义,下一步 兼容性选择14.x ,下一步 稍后安装,下一步 选择Linux,ubuntu 64 ,下一步 选择好路径其余默认下一步,一直下一步,直到完成 ,编辑此
虚拟机
选择显示器,将3D去掉,DVD选择镜像文件,确定 开启
虚拟机
安装, 选择你要使用的语言,一直安装,设置账户密码,即完成,开机画面 ..转载请务必注明出处。
其他技术讨论专区
433
社区成员
791,270
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章