【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 云服务项目设置为启动项目,当你单击按钮以触发断点时,将出现以下错误:“外部 ...
随机推荐
- node借助jsonwebtoken生成token以及验证token是否过期
生成token使用 jsonwebtoken 插件 我当时使用的版本"jsonwebtoken": "^9.0.0", cnpm i jsonwebtoken ...
- RN 动态渲染列表
写在组件中 想要图片出来还应该给图片宽高哈!! alignItems: 'center', //水平居中 动态渲染列表 返回的是一个数组 网络图片的渲染方式 <Image source={{ur ...
- 【小分享】vm-storage中,计算metric的平均长度
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 表达式如下: sum by (type) (vm_cach ...
- 【K哥爬虫普法】字节前高管,离职后入侵今日头条数据库,是阴谋、还是利诱?
案情介绍 2016年至2017年间,张洪禹.宋某.侯明强作为被告单位上海晟品网络科技有限公司主管人员,在上海市共谋采用技术手段抓取北京字节跳动网络技术有限公司(办公地点位于本市海淀区北三环西路43号中 ...
- 基于.Net Core3.1 MVC + EF Core的项目(一)框架的初步搭建
项目暂时分为六大块,结构如图所示 代码地址是 https://github.com/hudean/VacantCloud- 里面有许多没有完成,不过一些大致的内容都写的差不多了,权限认证依赖注入 ...
- 4.5 MinHook 挂钩技术
MinHook是一个轻量级的Hooking库,可以在运行时劫持函数调用.它支持钩子API函数和普通函数,并且可以运行在32位和64位Windows操作系统上.其特点包括易于使用.高性能和低内存占用.M ...
- 【学习笔记】Python 环境隔离
目录 前言 venv venv 环境管理 venv 包管理 virtualenv 以及 virtualenvwrapper 安装 virtualenvwrapper 环境管理 virtualenvwr ...
- SUM和IF使用求部分和
GROUP BY可以按照某一列的不同值进行分组,然后将不同组的数据可以利用聚合函数进行汇总取值. --我们可以在老师表里面求解不同班级的老师分别有多少名 SELECT class_id,COUNT(t ...
- MAC使用XQuartz调用图形界面
DBA经常遇到需要调用图形的操作,通常Windows用户习惯使用Xmanager这类软件,MAC用户习惯使用XQuartz,之前版本系统会自带,现在需要自行下载. 比如在 https://www.xq ...
- C++——数据类型笔记
在C++编程中,了解各类数据类型也是至关重要的.下面我会总结一下C++中的数据类型,包括基本类型,符合类型和自定义类型.方便自己整理和理解. 1,基本类型 C++中的基本类型是构建其他数据类型的基础, ...