【Azure 云服务】Azure Cloud Service如何来设置固定IP地址(ReservedIP)
问题描述
在云中环境,部署的应用到云服务(Cloud Service)都是动态的IP地址,所以在添加DNS记录的时候,都是使用CNAME,但如果需要在DNS中添加A记录,则需要一个固定IP。
解决方案
Azure提供了保留IP的服务,可以通过New-AzureReservedIP命令来创建。然后再云服务(Cloud Service)中使用。操作步骤如下:
步骤一:通过powershell 命令进行创建保留IP
New-AzureReservedIP -ReservedIPName $Name - -Location $Location

- Get-AzureReservedIP 查看创建的保留地址
- Remove-AzureReservedIPAssociation 解除保留IP地址
步骤二:修改Cloud Service配置文件,把ReservedIP与Cloud Service关联,然后重新发布文件
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="AzureCloudService2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="6" osVersion="*" schemaVersion="2015-04.2.6">
<Role name="WebRole1">
<Instances count="1" />
<ConfigurationSettings>
</ConfigurationSettings>
</Role>
<NetworkConfiguration>
<AddressAssignments>
<ReservedIPs>
<ReservedIP name="MyPassIp2"/>
</ReservedIPs>
</AddressAssignments>
</NetworkConfiguration>
</ServiceConfiguration>
或通过Powershell命令进行绑定
Set-AzureReservedIPAssociation -ReservedIPName MyPassIp2 -ServiceName <cloud service name>
附加因ReservedIP而引发的错误
1) 云服务在更新发布后无法修改RDP的密码,修改时出现错误消息:ReservedIP was not mapped to an endpoint. The service definition must contain atleast one endpoint that maps to the ReservedIP.
【答】根据错误消息提示,查看到是ReservedIP地址没有绑定endpoint推断是新发布的配置文件中遗漏了该Cloud Service的ReservedIP配置部分。所以需要先解绑ReservedIP,重新绑定。 也可以再解绑后修改RDP密码。修改成功后重新绑定ReservedIP. 解决问题的过程中使用的命令正是:
Remove-AzureReservedIPAssociation -ReservedIPName <ReservedIPName> -ServiceName <ServiceName > Set-AzureReservedIPAssociation -ReservedIPName <ReservedIPName> -ServiceName <ServiceName >
参考文档
Azure 云服务的配置 NetworkConfiguration 架构: https://docs.azure.cn/zh-cn/cloud-services/schema-cscfg-networkconfiguration
New-AzureReservedIP: https://docs.microsoft.com/en-us/powershell/module/servicemanagement/azure.service/new-azurereservedip?view=azuresmps-4.0.0
下表介绍了
NetworkConfiguration元素的子元素。
NETWORKCONFIGURATION 元素 元素 说明 AccessControl 可选。 指定云服务中用于访问终结点的规则。 访问控制名称由 name属性的字符串定义。AccessControl元素包含一个或多个Rule元素。 可定义多个AccessControl元素。规则 可选。 指定应对指定的 IP 地址子网范围执行的操作。 规则的顺序由 order属性的字符串值定义。 规则编号越低,优先级越高。 例如,可使用序号 100、200 和 300 指定规则。 序号为 100 的规则优先于序号为 200 的规则。
规则的操作由action属性的字符串定义。 可能的值包括:
-permit- 指定只有指定子网范围中的数据包才可以与终结点通信。
-deny- 指定拒绝对指定子网范围中终结点的访问。
受规则影响的 IP 地址的子网范围由remoteSubnet属性的字符串定义。 对规则的说明由description属性的字符串定义。EndpointAcl 可选。 指定向终结点分配访问控制规则。 包含终结点的角色的名称由 role属性的字符串定义。 终结点的名称由endpoint属性的字符串定义。 对于应该应用到终结点的AccessControl规则的集合,其名称在accessControl属性的字符串中定义。 可定义多个EndpointAcl元素。DnsServer 可选。 指定 DNS 服务器的设置。 可以指定不使用虚拟网络的 DNS 服务器的设置。 DNS 服务器的名称由 name属性的字符串定义。 DNS 服务器的 IP 地址由IPAddress属性的字符串定义。 该 IP 地址必须是有效的 IPv4 地址。VirtualNetworkSite 可选。 指定要在其中部署云服务的虚拟网络站点的名称。 此设置不会创建虚拟网络站点。 它引用之前已在虚拟网络的网络文件中定义的站点。 一个云服务只能是一个虚拟网络的成员。 如未指定此设置,则云服务不会部署到虚拟网络。 虚拟网络站点的名称由 name属性的字符串定义。InstanceAddress 可选。 指定角色与虚拟网络中的子网或子网集的关联。 将角色名称关联到实例地址时,可以指定要将此角色与之关联的子网。 InstanceAddress包含 Subnets 元素。 与一个或多个子网相关联的角色的名称由roleName属性的字符串定义。子网 可选。 指定与网络配置文件中的子网名称相对应的子网。 子网的名称由 name属性的字符串定义。ReservedIP 可选。 指定应与部署关联的保留 IP 地址。 必须使用“创建保留 IP 地址”创建保留的 IP 地址。 云服务中的每个部署均可与一个保留 IP 地址相关联。 保留 IP 地址的名称由 name属性的字符串定义。
【Azure 云服务】Azure Cloud Service如何来设置固定IP地址(ReservedIP)的更多相关文章
- 【Azure 云服务】Azure Cloud Service 创建 Alert 指南 [基于旧版 Alert(Classic)不可用情况下]
问题描述 在Azure云服务(Cloud Service)创建Alert(Classic)时候遇见失败消息:"Failed to update alert testclassicalertr ...
- 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...
- Azure 云服务中的实例端点
Azure云服务(cloud Servive)中有三种端点类型(endpoint type):输入端点(input);内部端点(internal);实例端点(InstanceInput) 1.输入端点 ...
- 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件
问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...
- 【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
问题描述 把Web Role服务发布到Azure Cloud Service后,需要在IIS的输出日志中,把每一个请求的HTTP Request Header中的User-Agent内容也输出到日志中 ...
- 【Azure 云服务】Azure Cloud Service在发布新部署后遇见不能RDP(远程连接)到实例时如何处理?
Azure 云服务是PaaS 的一个示例. 与 Azure 应用服务一样,此技术设计用于支持可缩放.可靠且运营成本低廉的应用程序. 同样,应用服务托管在虚拟机 (VM) 上,Azure 云服务也是如此 ...
- 利用VisualVM监测Azure云服务中的Java应用
在做Java开发的时候,我们需要在上线之前对程序进行压力测试,对程序的性能进行全面的监控,了解JVM的CPU,内存,GC,classes,线程等等信息,或者在程序上线运行的过程当中以便于诊断问题或者对 ...
- 【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
问题描述 在使用Azure Cloud Service(云服务),默认的情况下都是使用的 HTTP 服务,通过 Visual Studio 2022 创建的默认 Cloud Service项目中,在S ...
- [转]在 Azure 云服务上设计大规模服务的最佳实践
本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...
- 调试 Azure 云服务项目的方法
调试 Azure 云服务项目 在菜单栏中选择“调试”>“启动调试”(键盘操作:F5). 重要提示 如果未将 Azure 云服务项目设置为启动项目,当你单击按钮以触发断点时,将出现以下错误:“外部 ...
随机推荐
- sringboot 调试端口启用的写法
注意 需要在 -jar 的后面加 加在前面貌似没用 $JAVA_HOME/bin/java -Dloader.path=$CAF_MODULE_PATHS -jar -Dspring.profiles ...
- 源码学习之Spring容器创建原理
1 前言 众所周知,Spring可以帮我们管理我们需要的bean.在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作.比如,我们定义一个bean MyTestBean pub ...
- vue/cli的配置详解
查看vue/cli的配置 vue的脚手架隐藏了所有的webpack相关的配置,若是想要查看webpack的配置 你可以去执行 vue inspect > output.js 这样就可以查看它的配 ...
- 分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期在学习 golang plan9 汇编,总算基本做到了 ...
- 2023年第七届蓝帽杯初赛wp
取证检材容器密码:Hpp^V@FQ6bdWYKMjX=gUPG#hHxw!j@M9 案情介绍 2021年5月,公安机关侦破了一起投资理财诈骗类案件,受害人陈昊民向公安机关报案称其在微信上认识一名昵称为 ...
- AsNoTracking()非跟踪数据 查询
刚开始学习使用EF ,做项目时需要查询数据将数据显示在datagrid中,使用如下方法: query是IQueryable的 在一次看别人写的代码的时候,发现了AsNoTracking()这个方法,并 ...
- 剪粘板增强小工具(可多次Ctrl+V)
前言 windows的剪贴板中存储是的最新一次的复制结果,比如先复制A,再复制B,C,在按下粘贴键时粘贴的是最后一次的结果C,在工作时有时候会遇到需要多次复制粘贴的情景,我就在思考有没有一款工具可以保 ...
- NLP文本匹配任务Text Matching [无监督训练]:SimCSE、ESimCSE、DiffCSE 项目实践
NLP文本匹配任务Text Matching [无监督训练]:SimCSE.ESimCSE.DiffCSE 项目实践 文本匹配多用于计算两个文本之间的相似度,该示例会基于 ESimCSE 实现一个无监 ...
- 4.6 C++ Boost 函数绑定回调库
Boost 库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量.可移植.高效的C应用程序.Boost库可以作为标准C库的后备,通常被称为准标准 ...
- Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--快速入门
Pdfium.Net.Free 支持 .NETFramework 4.0 .NETFramework 4.5 .NETStandard 2.0 可以和PdfiumViewer.Free共同使用预览pd ...