• [技术干货] 配置虚拟私有云和子网
    购买ROMA实例前,您需要创建虚拟私有云(Virtual Private Cloud,以下简称VPC),并且已配置好安全组与子网。VPC为ROMA实例提供一个隔离的、用户自主配置和管理的虚拟网络环境,提升资源的安全性,简化用户的网络部署。如果您已有VPC,可重复使用,不需要多次创建。操作步骤登录管理控制台。在管理控制台左上角选择区域。单击页面上方的“服务列表”,选择“网络 > 虚拟私有云”。说明:此处请选择与租户的应用服务相同的区域。在“总览”界面,单击“创建虚拟私有云”,进入创建虚拟私有云页面。根据界面提示创建虚拟私有云。如无特殊需求,界面参数均可保持默认。关于创建虚拟云的详细信息可以参考创建虚拟私有云基本信息及默认子网。创建虚拟私有云时,会同时创建一个默认子网,若需要额外创建子网,请参考5 。(可选)单击需要创建子网的虚拟私有云名称,在“子网”页签中,单击“创建子网”。根据界面提示创建子网。如无特殊需求,界面参数均可保持默认。关于创建子网的详细信息可以参考为虚拟私有云创建新的子网。说明:子网创建完成后,子网网段无法修改。
  • [交流分享] 当VPC resize的时候,如果宽,高分别 放大,缩小是否可以完成?
     C30 处理的图片在宽[1/32,16] 、高[1/32,16] 范围内,都可以一次性resize,即使宽缩小为1/32,高放大16倍。C10 是有限制的,如果在如下表格宽,高 在如下范围是可以一次性resize完成,如果超出这个范围,可能需要用户做两次resize来完成,例如如果用户打算宽缩小1/7,,高放到4倍,可以对宽高分别放大和缩小进行两次调用,先宽缩小1/7,高不变,然后宽不变高放到4倍。 eg, 如下报错就是C10 环境针对高放大2.909091([1/4,4]),宽缩小0.213740 ([1/8,2])的报错日志,[SetScalerInfoBranch:105] [L20] scaler fail. because hinc = outWidth(128)/cropWidth(44) =2.909091. vinc = outHeight(112)/cropHeight(524) = 0.213740. hinc and vinc must be in [0.03125,16]
  • 【VPC实战】VPC常见FAQ
    作者:华为云虚拟网络团队【专线/VPN】是否支持MPLS VPN、ipsec VPN?    支持,MPLS VPN即专线服务,ipsec VPN即VPN服务 共享VPN?打通“transit vpc”,然后通过peering跳转SSL VPN?不支持。可以在虚拟机内自行搭建。VPN是否支持云上一对多?      支持。云上申请一个vpn网关,申请多条连接VPN流量计费,只统计上行带宽?      是的客户想要配置一条云上云下的专线,把云上VPC去0.0.0.0的流量导到云下去。这个专线能做配置么?可以。EIP的优先级还是比这个专线高。VPN故障排查常用信息    VPN服务的常用信息    故障排查    https://bbs.huaweicloud.com/forum/thread-15259-1-1.html    与aws对接总结(重点 : aws不能修改算法,因此需要hw进行适配修改)    https://bbs.huaweicloud.com/forum/thread-15191-1-1.html    与cisco配置方法(cisco也采用策略模式,隧道模式下待总结) :    https://bbs.huaweicloud.com/forum/thread-15536-1-1.html    使用云连接打通vpn hub功能 :    https://bbs.huaweicloud.com/forum/thread-15361-1-1.html云连接如果是跨账号的话,收费是双方分担,还是申请方付费?    云连接实例属于哪个账号,就扣哪个账号的费用VPN是否承诺带宽限速的逻辑和公网eip一致。但是vpn是个通道,另一端是用户网络,因此vpn不承诺端到端的带宽。用户买的是云内vpn网关上的带宽。 VPN是否支持GRE封装?    约束:vpn服务不支持gre封装,仅支持ipsec协议,与其它云厂商是对齐的。    部分用户需要GRE封装,有两种策略:    1) 山石镜像 : https://market.huaweicloud.com/product/00301-89168-0--0    2) 开源自建 : https://bbs.huaweicloud.com/forum/thread-19167-1-1.html专线访问OBS的配置方法?    https://support.huaweicloud.com/usermanual-vpcep/zh-cn_topic_0138837834.html专线网关是否支持OSPF?不支持,建议采用BGP。-------------------------------------------------------------------------------------------------【VPC】 支持替换主网卡IP?    约束:    1. 虚拟机需要关机。    2. 作为ELB后端的虚拟机,需要先从后端里面拆出来,才能改。    3. 可以修改为相同VPC下的相同或不同子网。    4. 作为DNAT后端的虚拟机,也需要先拆出来,才能改。    5. 绑定了VIP的网卡不能改,需要先解绑    6. ipv6网卡不支持修改。    7. 只有主网卡可以使用该功能,从网卡直接在界面上可以动态插拔,没有修改IP的功能VPC之间要通过安全设备如何做?    安全设备放在托管区,从两个VPC之间打专线内网流量是否存在流量限制?内网没有流量限制,现在在于ECS的整机限速。单租户的VPC上限?单租户多个VPC,各自VPC内的流量是否受VPC数量影响?    单租户默认是5 VPC配额,当前支持扩到100个VPC。    各自VPC内的流量不受VPC数量影响。(另外,安全组这类共享资源有可能会影响性能。如果VPC之间要做对等连接也会影响。)网络性能测试工具?    带宽 & 丢包:iperf    时延:ping or qperf安全组是状态监测包过滤防火墙?    是的安全组和ACL是否有状态?都是记录状态的。华为云是否支持防止arp攻击?        支持,网卡默认ip mac绑定。VPC内部虚拟机相互通信的带宽是怎么样的?物理机上的组网是怎么做的?    1,每个虚拟机按不同flavor不同CPU内存大小都定义了不同的网口限速大小。现场打开官网上ECS产品规格的说明进行了展示和解释说明,这个限速支持上限和下限两种方式,以及通过智能调度,能够最大化的**挥网络转**的能力,优于其他云厂商。    2,物理机上的组网已经**展了好几代,目前最新的是KVM用户态和智能网卡卸载两大类,物理机上会有单独的网口组bond来做存储网络平面,还有其他单独的网口组bond做虚拟机数据面。智能网卡卸载技术远远领先业界,采用华为智能网卡和流量卸载转**技术,最大能达到1500万pps和48Gbps的能力,反映在虚拟机上就是C3ne和M3ne等实例类型,最大规模的标称值是1000万pps和40Gbps华为云VPC网络支持鲲鹏云主机吗?    支持,华为云服务VPC、ELB、EIP、NAT等服务都支持华为自研鲲鹏云主机和自研交换机。单个ACL的最大规则数支持?    创建规则最好不超过20个,否则可能引起网络ACL的性能下降。VPC参考时延?    仅供参考,不同region,不同az的时延有差异    同一个可用区同一个子网中的虚拟机通信ping延时为0.18ms左右    同一VPC不同子网会增加0.02ms左右    同一子网不同可用区会增加1ms左右    对等连接会增加0.1ms左右修改虚拟机IP地址主网卡支持IP地址修改。从网卡可以使用动态插拔。裸机也可以修改。PaaS服务部分也可以修改。苏州机房与广州机房之间的加速。可以采用苏州机房 - (专线) - 华为云华东 - (云连接) - 华为云华南 - (专线) - 广州机房、 TCP 25端口封禁    https://support.huaweicloud.com/vpc_faq/faq_security_0002.html子网路由的生效?    子网路由与VPC没有优先级的关系。当子网路由表绑定后,VPC的路由表对该子网将不再生效。主网卡的修改约束?    1. 虚拟机需要关机。    2. 作为ELB后端的虚拟机,需要先从后端里面拆出来,才能改。    3. 可以修改为相同VPC下的相同或不同子网。    4. 作为DNAT后端的虚拟机,也需要先拆出来,才能改。    5. 绑定了VIP的网卡不能改,需要先解绑    6. ipv6网卡不支持修改。    7. 只有主网卡可以使用该功能,从网卡直接在界面上可以动态插拔,没有修改IP的功能同子网的ECS访问ELB的私网地址,是否受ACL的规则影响?不受ACL影响。VPC网段调整?可以调宽或者缩小。但是,受限在172,192,10的私网网段,另外,新的网段需要包含已创建的子网。虚拟机迁移是否会导致MAC地址变化?迁移是指虚拟机更换宿主机,包括1、主机故障自愈2、resize修改规格3、冷补丁热迁移vm等运维操作都不变mac希望修改mac来适配某些软件?方案1:通知软件供应商,更换mac方案2:创建从网卡,从网卡不用于通信,修改从网卡的mac地址,以此来适配。-------------------------------------------------------------------------------------------------【ELB】ELB收到HTTPS请求或HTTP请求,一个SESSION保持,缺省超时设置时多少? 可配置么?    ELB的HTTPS或HTTP请求,若没有数据传输,连接会保持300秒,之后被断掉连接。目前客户无法自定义配置。菲律宾 、澳洲、美国-----(专线)----  香港  ----- (云连接) ---- 华南 ---- (VPN)----- 数据中心    可以实现ELB统计在线人数功能?不支持。    1. ELB 在云监控界面可以看到实时的并**连接数数据。会记录不同 IP 不同端口的访问。    2. 并**连接数>=在线人数,因为各种网络的访问包都会被记录。看客户的ELB访问控制是否合理。    3. 在线人数 应该等于登录到这个系统内的用户数,这个是ELB获取不到的,需要在客户应用中实现统计。ELB支持通过X-Forwarded-Proto字段标记原始协议?    支持3个VPC互联    A (192.168.1.0/24)    B (192.168.2.0/24)    C (192.168.3.0/24)    需要A,B,C两两互联    A-B peering    A: dst 192.168.2.0/24 B: dst 192.168.1.0/24, 192.168.3.0/24    A-C peering    A: dst 192.168.3.0/24 C: dst 192.168.1.0/24, 192.168.2.0/24UDP后端检查有问题?    要放通100.125的ICMP检查ELB挂载跨域主机?    华为云还不支持连接数的概念    并**连接数:最多能同时存在的TCP连接数量    新建连接数(CPS):每秒从无到有建立起来的TCP连接数量    活跃连接数: 当时所有ESTABLISHED状态的连接    非活跃连接数:指除ESTABLISHED状态的其他所有状态TCP连接数四层源地址透传后是否需要放通0.0.0.0的安全组需要。ELB后端是否支持AutoScaling?支持。公网ELB和私网ELB的区别?      是否有绑定ELB的区别。私网ELB绑定公网地址后,既可以对云内提供服务,也可以对外提供服务。。。-------------------------------------------------------------------------------------------------【NAT】DNAT+云连接加速的场景    支持一对一。    也支持多对一。从海外任意一个地址,通过dnat+云连接的方式,是可以加速访问到我们一个云主机的。需要后台配置0.0.0.0的云连接路由NATGW是否支持ALG,是否支持修改TCP option?不支持。不会修改。natgw是否支持as出来的虚拟机?    snat可以支持,需要保证as出来的虚拟机所处网段在snat的后端网段内。    dnat不能支持,因为需要配置IP对应关系,也不支持预配置。snat需要同时给VPC和专线后端使用    配置两条snat规则,一个配置VPC后端,一个配置专线后端。snat和dnat的优先级?优先匹配dnat-------------------------------------------------------------------------------------------------【EIP】虚拟机配置多个EIP?可以绑定多个VIP,VIP上绑定EIP。华为云公网黑洞限制?国内云是5Gbps华为云对外能ping通某公网地址,但是无法telnet 25端口。    华为云默认禁止25端口访问,需要提工单打开。EIP独享和共享是否支持多项目?    独占带宽在页面不展示企业项目属性,继承EIP的企业项目    共享带宽在页面展示企业项目属性,独立的共享带宽的EIP数量限制?    默认20个,可提工单放开包周期降速?    退订+订购,退订可以显示费用,手续费较高。能否在国内申请海外的EIP    不能。国内只有国内的EIP段。需要申请海外的公网资源。共享流量包,如何给每个EIP限速?    直接买EIP,按流量计费,就会从共享流量包中扣除。流量包能叠加么?    可以虚拟机绑定公网地址,FTP主动被动的支持    支持主动模式,不支持被动模式。入云带宽限速?100M以内,按照100M入云限速。100M及以上,按照等额入云限速。闲时流量包?不支持EIP专属池能被子账号共享么?需要配置RBAC。共享流量包是否有流量提醒?没有。动静态切换    https://support.huaweicloud.com/usermanual-vpc/eip_0002.htmlEIP黑洞限制?出云流量不会触**,入云流量黑洞每个region的配置不一,至少在2G以上。具体需要联系客服。流入华为云的流量,现在限速和计费吗?有限速,除95计费按出入最大的带宽计费外,其他不计费,请参考:https://support.huaweicloud.com/vpc_faq/faq_bandwidth_0004.html包周期的共享带宽到期后,带宽内的IP地址如何处理?不会被清除,冻结期到了以后,共享带宽会被清除,EIP会调整到300M按流量计费。带宽支持弹性伸缩?按需的独享带宽和共享带宽都支持弹性伸缩。      95计费的最低带宽要求?300M有客户希望自带EIP上云,是否支持?        运营商在广播时会校验地址是否属于华为云,如不属于华为云,无法广播。        所以国内运营商不支持云上代播客户地址。关于EIP 0.02元/小时收费的说明。        独享包周期计费,IP不单独计费,计费标准参考按固定带宽计费。        按需计费,单独收取弹性公网IP保有费(0.02元/小时)和固定带宽费,如果弹性公网IP绑定了ECS、BMS、ELB等实例,则免除保有费。        共享带宽按需/包周期场景,因需要申请按需的EIP并加入到共享带宽,遵循按需计费规则,如该EIP未绑定ECS、BMS、ELB等实例,则会收取保有费。                简言之,只有两种场景EIP不收取0.02元/小时的保有费。        1. 独享带宽包周期        2. EIP绑定ECS,BMS,ELB,NAT        (待补充)122
  • 【VPC实战】动态调整带宽大小
    作者:华为云虚拟网络团队需求场景:客户在带宽使用过程中,发现带宽申请的过大,或者带宽申请的较小,需要灵活的调整带宽策略。方案描述:场景1:带宽包周期,需要应对双十一抢购或者游戏开服等场景方案:包周期带宽叠加带宽加油包注意:带宽加油包只能按天调整,暂时无法做到分时可以提前购买带宽加油包价格与按需单价一致需要工单申请只能叠加不能缩减场景2:带宽包周期,每天晚上8-10点用量高,需要周期性扩大带宽暂不支持,带宽加油包暂不支持分时申请场景3:按需按带宽计费,每天晚上8-10点用量高,需要周期性扩大带宽方案:带宽弹性伸缩,申请地址 https://console.huaweicloud.com/ecm/?region=cn-north-1#/as/manager/bandwidth注意:需要在AS界面申请需要客户自定增减配的方案(可根据事件或指定时间周期调整)实时计费
  • 【VPC实战】多VPC共享专线 - 利用vpc-peering互通
    作者:华为云虚拟网络团队需求场景:客户已经通过专线的方式打通了IDC和云上VPC的互联。另外,云上还有其他VPC(可以是另外账号的资源)需要共享这条专线与IDC互联。方案描述:IDC 子网网段为A,云上VPC1-4,对应的子网网段是B,C,D,E。云上VPC1-4需要共享一条专线访问IDC。另外,需要VPC2和VPC3可以互通。配置要点:专线与VPC1互通。IDC侧目的BCDE走专线,VPC1侧目的A走专线 VPC1和VPC2, VPC3, VPC4 peering打通。VPC1访问CDE走对应Peering。VPC2,3,4的Peering上需要配置去A的路由。此时VPC1-4均可以与IDC通信。VPC2访问D走Peering,VPC3访问C走Peering。此时,VPC2和VPC3可以互通。注意事项:VPC子网网段与IDC不允许出现地址重叠,否则路由无效 推荐VPC1上不部署业务,单纯用作中转 单租户Peering和路由条目有上限约束
  • 【VPC实战】同region多VPC互通
    需求场景:在同一个region内,客户存在多个VPC,不同VPC之间有彼此通信的诉求。方案描述:配置要点:VPC1,VPC2,VPC3互通。以VPC1作为中转VPC。 VPC1和VPC2打通peering,VPC1和VPC3打通peering VPC1在两个peering上分别配置C、D的路由;VPC2的peering路由上,配置B和D;VPC3的peering路由上,配置B和C。即可打通3个VPC之间的通信。无需在VPC2和VPC3之间再打通Peering注意事项:互联VPC的子网网段不要重叠在多个VPC都需要互联时,建议创建一个单独的VPC作为中转,该VPC内不部署业务当前支持Peering个数有上限,个数以官网描述为准配置Peering后,会出现路由增多的情况,需要提前考虑路由个数限制是否影响部署
  • 【VPC实战】就近接入场景云上DNAT加速访问云下(或其他region)业务
    作者:华为云虚拟网络团队需求场景:客户业务部署在华为云的国内站点,需要对来源于海外的流量进行加速。客户业务部署在华为云的华南站点,需要对来源于华北的流量进行加速。方案描述:通过专线打通IDC和华为云,或者云连接打通华为云不同region。通过配置就近region的NATGW提供的公网,加速访问到后端的IDC或华为云region。配置要点: IDC机房配置路由后,需要考虑是否影响客户正常业务,如机房是否还存在其他上网行为NATGW配置DNAT规则,后端子网填写IDC机房提供服务的IP,或者内网ELB的前端IP(一个IP可做全端口映射,多个IP做对应端口映射)注意事项:IDC机房默认路由配置后,需要考虑是否影响客户正常业务,如机房是否还存在其他上网行为其他region上的ELB无需配置公网地址即可通信该场景,只支持一个region的DNAT入口。不支持多个region的DNAT,因为ELB侧回程报文,两端都是公网,无法分辨走哪个专线云连接对接ELB在华北1 region暂时无法使用。
  • 【VPC实战】云下IDC专线+云上SNAT代理上网
    作者:华为云虚拟网络团队需求场景:客户IDC与华为云通过专线连通,希望借助华为云来实现对公网的访问。相比IDC直接出公网,华为云提供不同计费模式,客户可以灵活的按需调整带宽策略。方案描述:配置要点: 由于访问公网需要默认路由,所以IDC侧需要配置默认路由走专线。(如果是访问公网的指定网段,则只需要配置相应的路由策略)在云上申请NATGW,依据访问量确定规格。配置SNAT规则,使用场景选择“云专线”,子网配置时,添加IDC侧的子网范围。注意事项:IDC机房配置路由后,需要考虑是否影响客户正常业务,如机房是否还存在其他上网行为IDC的网段与云上VPC中的子网网段不重叠(与子网网段有关,与VPC的CIDR无关),否则无法通信云上除VPC和NATGW外,无需申请计算资源。绑定了EIP的VM,默认路由优先走EIP,不受VPC路由表/对等连接/专线/VPN配置默认路由的影响
  • 【VPC实战】云下IDC专线+云上SNAT代理上网
    需求场景:客户IDC与华为云通过专线连通,希望借助华为云来实现对公网的访问。相比IDC直接出公网,华为云提供不同计费模式,客户可以灵活的按需调整带宽策略。方案描述:配置要点: 由于访问公网需要默认路由,所以IDC侧需要配置默认路由走专线。(如果是访问公网的指定网段,则只需要配置相应的路由策略)在云上申请NATGW,依据访问量确定规格。配置SNAT规则,使用场景选择“云专线”,子网配置时,添加IDC侧的子网范围。注意事项:IDC机房配置路由后,需要考虑是否影响客户正常业务,如机房是否还存在其他上网行为IDC的网段与云上VPC中的子网网段不重叠(与子网网段有关,与VPC的CIDR无关),否则无法通信云上除VPC和NATGW外,无需申请计算资源。
  • [网络] 云小课 | “VPC连接”知多少
    “同Region的两个VPC怎么连通?”“跨Region的两个VPC又怎么连通?”“VPC内的ECS搭建了一个应用,需要访问Internet,怎么弄?”“某客户的业务一部分在香港,一部分在大陆,怎么经济可靠的连接起来?”“某客户既有本地的数据中心,又想把一部分业务放到云上,怎么玩?”   ……   ……   网络域大家族提供了丰富的云产品,满足大家的各种网络互连需要。既有适用简单场景的单兵作战利器,也有适用复杂场景的组合拳。来来来,我们一起来看看^_^连接InternetVPC内的云资源连接公网(Internet),可以通过如下云产品实现。知识扩展:使用EIP连接公网使用SNAT连接公网使用DNAT面向公网提供服务弹性负载均衡介绍连接VPCVPC与VPC之间要建立连接,可以通过如下云产品实现。知识扩展:创建同一帐户下的对等连接创建不同帐户下的对等连接跨区域VPC互连通过VPN连接VPC连接IDC对于自建本地数据中心(IDC)的用户,由于利旧和平滑演进的原因,并非所有的业务都能放置在云上,这个时候就可以通过如下产品构建混合云,实现云上VPC与云下IDC之间的互连。知识扩展:通过VPN连接VPC跨区域IDC互连多数据中心与多区域VPC互通使用一条云专线访问多个VPC随堂小测验您会在什么场景下使用云连接服务?线索1:了解云连接。线索2:【限时7折】您和云连接只差一张优惠券,欢迎体验。奖励规则:1、通过直接回帖的方式回答小测,我们会根据回答正确答案的先后顺序打分:2、回答正确的前十名朋友可以获得分数,即:第一个回答正确得10分,第二个回答正确得9分……以此类推;3、每五次随堂小测一汇总,得分最高的朋友将得到实物奖励(荣耀手环一个);希望大家踊跃回答,更多奖励等你来拿哦~~~~【以文会友,以友辅仁】华为云帮助中心正式开源啦。文档协同编辑,共建优质帮助体系!VPC资料开源地址:虚拟私有云帮助文档开源地址更多资料开源地址:华为云帮助文档开源地址单击了解:如何编辑开源文档?【往期回顾】【第一课】我该怎么选择云主机的规格?【第二课】云小课带你了解镜像家族!【第三课】云小课带你学习购买云硬盘,快速读懂云存储。【第四课】云服务器网络怎么选?安全组怎么配?云小课为你支招!【第五课】云小课带您大话安全组【第六课】你了解云服务器的远程登录吗?小课教你自助排查MSTSC远程登录问题!【第七课】 云小课带你快速实现主机的上云迁移【第八课】 云小课教你轻松切换操作系统【第九课】如何通过镜像实现跨可用区的业务迁移?
  • [问题求助] 跨VPC建立对等连接之后,无法访问对端VPC内的ES服务是为啥呢?
    最常见的原因是VPC的掩码的位数和子网掩码的位数一样,比如,如下截图,两个位数都是24,此时会导致添加路由失败,这里就需要将子网的掩码位数修改,比如16,然后可以在本端VPC的ECS节点访问对端的VPC内的ES集群。
  • 请教下,华为云连接产品是如何实现跨区域多VPC互通呢?而且是路由动态学习的方式
    如题,求教
  • [介绍/入门] AOS编排语言系列教程(三):创建子网Subnet
    【摘要】 上一章我们学习了如何创建VPC,VPC范围比较大,我们可以在VPC中定义一个子网,子网是为了在VPC内部做进一步的网络划分。子网是VPC的IP地址范围内的一个区段,模板中用requirements定义子网与vpc的依赖关系。接下来我们基于上个模板看看如何在创建的VPC中定义一个子网。经过前面的学习,你已经对node_templates有了一定的了解。不过到目前为止,我们都只是用node_templates来定义vpc,只有一个元素的模板也太简单了吧?没错,你的追求应该更高一点。其实node_templates还可以定义很多其他的元素。上一章我们学习了如何创建VPC,VPC范围比较大,我们可以在VPC中定义一个子网,子网是为了在VPC内部做进一步的网络划分。子网是VPC的IP地址范围内的一个区段,模板中用requirements定义子网与vpc的依赖关系。接下来我们基于上个模板看看如何在创建的VPC中定义一个子网:tosca_definitions_version: huaweicloud_tosca_version_1_0node_templates:  myvpc:    type: HuaweiCloud.VPC.VPC    properties:      name: my-vpc      cidr: '192.168.0.0/16'  mysubnet:    type: HuaweiCloud.VPC.Subnet    properties:      name: my-subnet      cidr: '192.168.1.0/24'      gateway: 192.168.1.1      vpcId:        get_reference: myvpc      dhcpEnable: true    requirements:      - vpcId:          node: myvpc模板中mysubnet的属性cidr为子网内可使用的地址范围,gateway为子网的网关,dhcpEnable表示是否为该VPC的子网开启DHCP功能。子网创建成功:
  • [介绍/入门] AOS编排语言系列教程(二):初识AOS编排语言,创建你的第一个AOS模板
    【摘要】 本文介绍了如何用AOS编程语言来编写一个简单的模板,用于创建虚拟私有云。通过AOS部署应用上云流程非常简单,您只需要编写好模板,并基于该模板创建堆栈。如何在AOS服务上创建模板呢?有如下几种方法:1.选择公共模板:AOS提供了多个公共模板,您可以基于公共模板来快速创建堆栈。2.使用设计器创建模板:自定义编写模板比较难以上手,通过设计器可以简化模板的撰写和编辑工作,并可以直接可视化查看各资源的关系。建议您通过使用设计器了解设计器的使用方法。3.自定义编写模板:您可以使用YAML格式来写作模板。独立编写模板前,建议您先通过模板参考来初步学习一下。自定义编写模板有两种方式,一种是直接在界面手动输入;另一种是在本地编辑,编辑完之后通过上传文件传到系统中。AOS编程语言是基于yaml的,使用YAML格式的好处是可以使用#注释功能,便于在模板中增加模板编写者意图的描述。YAML语法不支持使用Tab键,层次关系需要使用空格来对齐(空格个数为2的整数倍,如2、4、6、8等)。初次使用时,经常会遇到此类错误,请注意。下面我们用AOS编程语言来编写一个简单的模板,用于创建虚拟私有云:tosca_definitions_version: huaweicloud_tosca_version_1_0node_templates:  myvpc:    type: HuaweiCloud.VPC.VPC    properties:      name: my-vpc      cidr: '192.168.0.0/16'tosca_definitions_version是模板中的必填项,用于标识模板的版本信息。当前AOS支持的版本为huaweicloud_tosca_version_1_0。node_templates也是必填项,用于定义该模板中编排的元素对象集合,其中所有对象均为元素(可以是一个应用、一个云服务资源),这里我们使用了node_template定义了一个虚拟私有云myvpc,它是HuaweiCloud.VPC.VPC类型的,具有两个属性name和cidr,分别表示虚拟私有云名称和虚拟私有云下可用子网范围。接下来保存刚编写的模板为vpc.yaml文件,用该模板创建虚拟私有云,需要登录AOS控制台,选择 “创建模板”,上传本地文件vpc.yaml。然后选择“我的模板”,在模板列表中可查看到保存成功的模板,单击该模板后的“部署堆栈”即可创建堆栈。系统会自动跳转到堆栈详情页面,等待1分钟左右的时间,堆栈就创建成功了。
  • 详解如何实现在线聊天系统中的实时消息获取
    序言传统web浏览器应用采用客户端主动请求方式,只有在收到浏览器请求时服务端才返回消息,这种模式已经不能满足日益多样化的web应用需求,例如:在线聊天系统:需要实时获取聊天消息。实时监控系统:需要实时获取监控对象状态。如仪表读数、告警信息等。随着html技术演进,发展出了多种服务器推送技术,用于服务器向浏览器客户端推送消息。Ajax轮询采用ajax定时向服务端发送请求检查有无消息更新。网页定时向服务器发送请求,若服务器有消息推送,则返回消息,否则返回空消息,如下图所示:这种轮询方式需要发送大量无效请求,大大消耗了服务器资源,且推送消息的实时性较低。Ajax长轮询ajax长轮询对前面的ajax轮询方式做了改进,服务端收到请求后,不再立即返回,而是等待有消息推送时返回。网页收到服务端返回的消息后,立即发起一个新的请求,等待下一个推送消息。采用这种方式的服务端实现比前者复杂,需要维护一个客户端建立的连接列表,当产生对某个客户端的推送消息后找到对应的连接并发送。优势是减少了轮询消耗,发送事件的实时性得到增强。Server-Send EventServer-Send Event是html5标准新增的技术,它延用了Ajax长轮询的思路,并对其进行了一些规范。Server-Send Event让服务端可以向客户端流式发送文本消息,并在发送完一个消息后保持请求不结束,连接始终保持。如下图所示:网页调用EventSource接口向服务器发送请求var source = new EventSource('http://localhost:8080');source.addEventListener('message', function(e) { console.log(e.data); }, false);服务器返回的Content-Type头必须为text/event-stream,且返回完一个消息后不关闭请求,后续消息仍然使用同一个请求返回。浏览器会自动以换行符识别每个消息。响应头Content-Type: text/event-streamX-Accel-Buffering: no响应体event: userlogindata: {"username": "John123"}event: messagedata: 123如果服务端返回的消息通过nginx等代理服务器返回给客户端时,可能受到nginx缓存机制的影响。某些情况下,nginx会将服务端返回体缓存起来,等待所有返回接受完毕后再统一返回给客户端,在server-send event情况下将导致客户端无法及时接收到消息。需要在返回头中添加X-Accel-Buffering: no,以防止nginx做缓存。使用华为API gateway提供Server-Send Event类型的API服务建立后端服务登录华为云https://console.huaweicloud.com/,创建弹性云服务器    输入apt install nodejs安装nodejs,使用nodejs创建服务器,并输入下列示例代码。var http = require("http"); http.createServer(function (req, res) {    if (req.url === "/stream") {        res.writeHead(200, {            "Content-Type":"text/event-stream",            "X-Accel-Buffering":"no",        });        res.write("data: " + (new Date()) + "\n\n");        interval = setInterval(function () {            res.write("data: " + (new Date()) + "\n\n");        }, 1000);        req.connection.addListener("close", function () {            clearInterval(interval);        }, false);    }}).listen(8080);上面代码是服务器每秒向客户端发送时间的示例。将上面的代码保存为server.js,然后执行nodejs server.js &就启动了监听在8080端口的服务器。添加安全组将8080端口添加到安全组规则,使得外部可以访问云服务器的8080端口。   创建APIAPI网关提供从内网访问云服务器的能力,不需要申请公网弹性IP,就可以通过VPC通道开放API。登录华为云https://console.huaweicloud.com/apig/ ,首先创建VPC通道,端口为8080       将弹性云服务器添加到VPC通道:    创建API,认证类型选择APP“请求Path”填“/stream”,“开启跨域”选项选择开启“VPC通道”选择刚刚创建的VPC通道,“后端请求Path”填“/stream”创建API完成后,发布API到RELEASE环境。创建APP并绑定API在应用管理界面创建一个APP,并绑定刚刚创建的API。创建OPTIONS方法的APIOPTIONS方法的API是提供给浏览器发送跨域请求的预请求使用,同样选择开启跨域(CORS),并将后端配置为Mock。点完成创建API后,发布API到RELEASE环境。创建网页,访问API1.要访问APP认证方式的API,需要通过APP的key和secret生成签名,才能校验通过。生成签名使用下面链接下载的javascript SDKhttps://console.huaweicloud.com/apig/?agencyId=c65a0db86e514fe298cdc57c6273411a&region=cn-south-1&locale=zh-cn#/apig/manager/useapi/sdk2.由于IE浏览器不支持Server Sent Event,需要从https://github.com/Yaffle/EventSource/下载浏览器兼容的Server Sent Event实现。搜索并删除下面四行代码:if (url.slice(0, 5) !== "data:" &&    url.slice(0, 5) !== "blob:") {    requestURL = url + (url.indexOf("?", 0) === -1 ? "?" : "&") + "lastEventId=" + encodeURIComponent(lastEventId);}3.创建index.html,内容如下:<html><head>    <title>SSE APP test</title></head><body>SSE APP test<div id="a"></div><script src="js/eventsource.js"></script><script src="js/moment.min.js"></script><script src="js/moment-timezone-with-data.min.js"></script><script src="signer.js"></script><script>    var req = new signer.HttpRequest()    req.method = "GET"    req.host = "d3da6a917a844df3bd02896496b1b75b.apigw.cn-south-1.huaweicloud.com"    req.uri = "/stream"    var sig = new signer.Signer();    sig.AppKey = "<your app key>"    sig.AppSecret = "<your app secret>"    var opts = sig.Sign(req);    var source = new EventSourcePolyfill("http://d3da6a917a844df3bd02896496b1b75b.apigw.cn-south-1.huaweicloud.com" + req.uri, {        headers: opts.headers    });    source.onmessage = function (event) {        document.getElementById("a").innerHTML = event.data;    };</script></body></html>将刚刚创建的APP的AppKey和AppSecret填入上面指定位置。在本地用浏览器打开此页面,可以看到页面上显示的时间每秒刷新一次。欢迎扫码查看更多精彩:
总条数:150 到第
上滑加载中