【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 云服务项目设置为启动项目,当你单击按钮以触发断点时,将出现以下错误:“外部 ...
随机推荐
- interface{}类型 + fmt.Sprintf() 导致栈逃逸
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 对部分代码进行了栈逃逸检查: go build -gcfl ...
- 【小测试】rust中的无符号整数溢出
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.在编译阶段就可以识别出来的溢出 fn main(){ ...
- [洛谷]P1967-最小生成树-好题推荐
[NOIP2013 提高组] 货车运输 题目背景 NOIP2013 提高组 D1T3 题目描述 A 国有 \(n\) 座城市,编号从 \(1\) 到 \(n\),城市之间有 \(m\) 条双向道路.每 ...
- Linux文件IO之二 [补档-2023-07-21]
8-5 linux系统IO函数: open函数: 函数原型:int open(const char *pathname, int flags, mode_t mode); 功能:打开一个文件并 ...
- 【Trento】遥感图像数据集提供下载
遥感图像处理学习(11)之Trento数据集 前言 遥感系列第11篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2024年1月18日 2024年1月25日搬运至本人博客园平台 最近在复现论 ...
- element-ui表格筛选,根据表头属性显示隐藏列
效果: 步骤: 1.标签上添加要过滤的源数组 <el-table-column label="标签" :filters="filterList" filt ...
- iOS使用Run Script提升开发效率
通过在Xcode Run Script添加shell脚本,然后通过脚本来帮助我们在编译阶段完成一下资源的copy,文件替换,修改等繁琐的事件.使Xcode在编译过程中自动完成耗时繁琐的操作提升开发效率 ...
- ch583/ch582/ch573/ch571 central(主机)程序
本程序是在CH582m上运行的, 一.主从连接 主机这里可以根据从机的MAC地址进行连接.static uint8_t PeerAddrDef[B_ADDR_LEN] = {0x02, 0x02, 0 ...
- 新零售SaaS架构:促销系统架构设计
促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多.促销的方法有很多种,比如,价格优惠.赠品.优惠券.折扣.买一赠一等形式. 特 ...
- .NET Core开发实战(第16课:选项数据热更新:让服务感知配置的变化)--学习笔记
16 | 选项数据热更新:让服务感知配置的变化 选项框架还有两个关键类型: 1.IOptionsMonitor 2.IOptionsSnapshot 场景: 1.范围作用域类型使用 IOptinsSn ...