-
【摘要】 本文介绍了如何用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®ion=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填入上面指定位置。在本地用浏览器打开此页面,可以看到页面上显示的时间每秒刷新一次。欢迎扫码查看更多精彩:
-
最近在和解决方案部的兄弟交流时,有个兄弟提出来一个非常合理有趣的问题:解决方案部署的第一个阶段要创建ECS主机,但创建ECS主机各用户的实际情况不一样,有些用户的VPC和Subnet已经规划好了,他需要选择现有的VPC和Subnet来部署;但另外一些用户还一穷二白,需要再申请ECS主机时,一并把VPC和Subnet给建了,请问AOS能否处理这种场景。 一看到这问题,心里没底,本着负责的态度,我就写个模板自己验证验证看。1,首先拿来一一个 ecs-cloudserver 的示例模板,直接基于其来修改,比较方便,先增加要回一个input和相应的conditions条件:inputs:.... vpc-deploy: description: '是否新建VPC和Subnet##Is new VPC and subnet' type: booleanconditions: cond-vpc-deploy: cond_eq: - get_input: vpc-deploy - true2,接下来就是使用conditions来判断某些node是否需要执行的地方了:my-vpc: condition: cond-vpc-deploy type: HuaweiCloud.VPC.VPC properties: cidr: 192.168.0.0/16 metadata: Designer: id: 64e23915-16f7-4b4b-8dd1-d6bf1ba60b9a my-subnet: condition: cond-vpc-deploy type: HuaweiCloud.VPC.Subnet properties: availabilityZone: get_input: az cidr: 192.168.1.0/24 dnsList: - 114.114.114.115 - 114.114.114.114....3, 最后关键的地方是:在创建ECS时,当新建VPC和Subnet时要使该新创建的VPC和Subnet,否则要选择使用已有的VPC和Subnet:mycloudserver: metadata: Designer: id: 5bf8fe92-fd43-4377-9efd-d12169db751b properties: availabilityZone: get_input: az.... name: get_input: ecs-name nics: - subnetId: cond_if: - cond-vpc-deploy - get_reference: my-subnet - get_input: subnet-id.... vpcId: cond_if: - cond-vpc-deploy - get_reference: my-vpc - get_input: vpc-id....学习使用了conditions语法,顺便看了下 mappings 函数的用法,mapping函数的用户较为简单,首先是定义一个mappings对象:mappings: regionMap: cn-north-1: image_id: 42f34d95-a538-4d17-be48-e690b48c1643 flavor: c1.medium cn-south-1: image_id: a3934478-bfeb-4a02-b257-9089779f0380 flavor: c1.medium cn-east-2: image_id: f2003c7b-99c4-4616-be19-334beaca81b1 flavor: c1.medium ap-southeast-1: image_id: 04b5d02a-127b-423f-ac77-b4ddbafe1ddb flavor: c3.2xlarge.2接下来就是使用 get_in_map 提取mapping对象的值了:mycloudserver: metadata: Designer: id: 5bf8fe92-fd43-4377-9efd-d12169db751b properties: availabilityZone: get_input: az flavor: get_in_map: - regionMap - get_input: HuaweiCloud.Region - flavor imageId: get_in_map: - regionMap - get_input: HuaweiCloud.Region - image_id一路使用下来,还是非常顺畅的,看来这半年来,AOS从编排语法和设计器确实进度巨大啊。当然,使用过程中也发现了几个问题:设计器对conditions相关函数支持的还不友好,导致在设计器中编辑还是有些小问题的;创建堆栈时,当inputs输入参数用于构造conditions条件时,有一部分inputs参数的填写情况应该是要随该条件来切换的,但目前Portal尚不支持:
-
Memcached客户端支持多种语言。这里收集Memcached各种客户端安装、配置、连接的示例。后续会继续收集,请持续关注。华为云Memcached(点击这里进入)客户端连接示例:Telnet客户端Java客户端Python客户端C++客户端PHP客户端特别说明:安装客户端的服务器与Memcached实例之间必须保持网络畅通。这里需要保证两点:(1).两者在同一个虚拟私有云VPC内。(2).两者的安全组规则相同。跨VPC访问的配置可参考Redis实例是否支持跨VPC访问?安全组规则配置可参考安全组配置。目前,华为云DCS Redis有免费使用活动,小伙伴们可以来试试:进一步了解Redis相关内容,请联系中间件小哥。
-
使用示例模板网络和子网设计 (vpc-subnet)创建堆栈,可以快速创建部署云服务器所需的网络,包括了VPC和子网络的设计与创建。【部署结果展示】【部署流程详解】1.使用vpc-subnet示例模板创建堆栈。2.填写堆栈名称与描述。3.填写输入参数 (1).子网参数配置:子网的CIDR,子网的网关地址,子网的名称 (2).虚拟私有云的参数配置:所组建网络的CIDR,所组建网络的名称4.点击下一步,审核配置信息,查看计费信息,点击创建堆栈。5.等待创建成功。6.创建成功后,点击资源名称中的"vpc-123"可以跳转到vpc页面,查看刚刚创建的虚拟私有云情况。
-
不知道有没有细心的童鞋注意到,右键点击设计器画布上的元素,弹出菜单里面有一个复制(Duplicate)按钮。那么这个按钮有什么作用呢? 举个例子: 我要创建一个全新的集群,并使用新的虚拟网络。那么我需要创建一个虚拟专有网络(VPC),并创建子网(Subnet)。然后定义集群(Cluster)以及节点信息(NodePool),并关联到新建的VPC和Subnet上。 问题来了,如果现在想同时创建多个集群怎么办,集群配置又大同小异。 逐个添加新的Cluster定义,这样肯定没问题,就是麻烦了一些。另一种方式就是通过复制功能来快速创建:19576复制功能会把当前元素以及子元素的属性和出口关系同步带到新的元素中,大大提高了模板的编写效率。 喜欢的话,记得为设计器打call哦~
-
一、背景 体验华为云过程中,发现使用域名访问子网的DNS时,耗时会比较多,表现为NTP解析时间长或者其他需访问DNS服务的进程启动时卡顿一分多钟。 二、原因 经过咨询研发,原因是原先华为未提供内网DNS服务,缺省配置是电信的DNS地址:114.114.114.114或者114.114.115.115。这样虽然是内网访问,但是实际上会绕道公网访问电信DNS服务,进行一次DNS解析,然后才能获取到正确的IP地址,导致处理耗时比较长,影响体验。 三、配置建议 1、新创建的子网,建议按照默认的配置项配置 【配置过程】申请VPC-->子网配置-->高级(选择默认) 2、已经创建的子网,如果有需要可以参考如下方式修改 【配置过程】网络控制台-->虚拟私有云-->子网-->DNS服务器地址-->修改(参考默认值选择华为内网DNS服务器地址) 试过了,可以解决问题。
-
本帖最后由 SAP_Solution_Tester 于 2018-5-14 14:35 编辑原因是虚拟机添加了第二张网卡要添加策略路由 背景:同一VPC 同一安全组 suse12sp1forsap的两台虚拟机各带两张网卡,并且所属网段各不相同 虚拟机1的网卡:10.0.1.15 10.0.100.13 ping 10.0.199.11不通 虚拟机2的网卡:10.0.0.18 10.0.199.11 ping 10.0.100.13不通 解决步骤: 1.在虚拟机1里执行 ip route add 10.0.1.0/24 dev eth0 src 10.0.1.15 table 10 ip route add default via 10.0.1.1 dev eth0 table 10 ip rule add from 10.0.1.15/32 table 10 ip route add 10.0.100.0/24 dev eth1 src 10.0.100.13 table 20 ip route add default via 10.0.100.1 dev eth1 table 20 ip rule add from 10.0.100.13/32 table 20 在虚拟机1里执行ip r s table 10 和ip r s table 20查看添加的路由表 之后在虚拟机2里ping 10.0.199.11 如果可以ping通说明策略路由添加成功 设置开机自启动:vi /etc/rc.d/after.local(只有suse在这个表里添加) 把 ip route add 10.0.1.0/24 dev eth0 src 10.0.1.15 table 10 ip route add default via 10.0.1.1 dev eth0 table 10 ip rule add from 10.0.1.15/32 table 10 ip route add 10.0.100.0/24 dev eth1 src 10.0.100.13 table 20 ip route add default via 10.0.100.1 dev eth1 table 20 ip rule add from 10.0.100.13/32 table 20 添加到文件末尾,保存并退出 在另一台虚拟机做类似操作就可以互相ping通了
SAP_Solution_Tester 发表于2018-05-11 18:45:27 2018-05-11 18:45:27 最后回复 SAP_Solution_Tester 2018-05-11 18:45:27
10811 0 -
官网VPC产品介绍说21线BGP,都是哪些运营商接入?
-
本帖最后由 Mercy 于 2018-3-27 10:33 编辑[code]import java.util.List; import java.util.stream.Collectors; import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import com.huawei.openstack4j.api.Builders; import com.huawei.openstack4j.api.OSClient.OSClientV3; import com.huawei.openstack4j.api.types.ServiceType; import com.huawei.openstack4j.core.transport.Config; import com.huawei.openstack4j.model.common.ActionResponse; import com.huawei.openstack4j.model.common.Identifier; import com.huawei.openstack4j.openstack.OSFactory; import com.huawei.openstack4j.openstack.identity.internal.OverridableEndpointURLResolver; import com.huawei.openstack4j.model.compute.Action; import com.huawei.openstack4j.model.compute.RebootType; import com.huawei.openstack4j.model.compute.Server; import com.huawei.openstack4j.model.compute.Server.Status; import com.huawei.openstack4j.model.compute.ServerCreate; import com.huawei.openstack4j.model.network.AttachInte**ceType; import com.huawei.openstack4j.model.network.Network; import com.huawei.openstack4j.model.network.Subnet; import com.huawei.openstack4j.model.network.Router; import com.huawei.openstack4j.model.network.RouterInte**ce; public class Demo_for_VPC { private static final String LANGUAGE = "zh-cn"; public static void main(String[] args) { // 第一步:填入华为云区域的endpoint,如下,对接华北区1就需要填入华北区服务的endpoint OverridableEndpointURLResolver endpointResolver = new OverridableEndpointURLResolver(); endpointResolver.addOverrideEndpoint(ServiceType.VOLUME_BACKUP, "https://vbs.cn-north-1.myhuaweicloud.com/v2/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.DNS, "https://dns.myhuaweicloud.com/v2"); endpointResolver.addOverrideEndpoint(ServiceType.AUTO_SCALING, "https://as.cn-north-1.myhuaweicloud.com/autoscaling-api/v1/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.CLOUD_EYE, "https://ces.cn-north-1.myhuaweicloud.com/V1.0/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.LOAD_BALANCER, "https://elb.cn-north-1.myhuaweicloud.com/v1.0/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.MAP_REDUCE, "https://mrs.cn-north-1.myhuaweicloud.com/v1.1/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.KEY_MANAGEMENT, "https://kms.cn-north-1.myhuaweicloud.com/v1.0/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.CLOUD_TRACE, "https://cts.cn-north-1.myhuaweicloud.com/v1.0/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.ANTI_DDOS, "https://antiddos.cn-north-1.myhuaweicloud.com/v1/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.Notification, "https://smn.cn-north-1.myhuaweicloud.com/v2/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.MessageQueue, "https://dms.cn-north-1.myhuaweicloud.com/v1.0/%(project_id)s"); endpointResolver.addOverrideEndpoint(ServiceType.MAAS, "https://maas.cn-north-1.myhuaweicloud.com/v1/%(project_id)s/objectstorage"); endpointResolver.addOverrideEndpoint(ServiceType.DATABASE, "https://rds.cn-north-1.myhuaweicloud.com"); /* 第二步: 配置鉴权信息(以对接华北区为例) * user为用户名 * projectId为华为云控制台-账户中心-基本信息-管理我的凭证-项目列表中华北区的项目ID * userDomainId为华为云控制台-账户中心-基本信息-管理我的凭证的账户ID * authURL为IAM服务华北区的域名 */ String user = "wanglianmin-guest"; String password = "XXXXXX"; String projectId = "74610f3a5ad941998e91f076297ecf27"; String userDomainId = "2aa29cbca17a4822abd096610e378ffa"; String authUrl = "https://iam.cn-north-1.myhuaweicloud.com/v3"; // 第三步: 初始化一个连接 OSFactory.enableHttpLoggingFilter(true); //调试用,可以显示request body和response body Config config = Config.newConfig().withEndpointURLResolver(endpointResolver).withLanguage(LANGUAGE) .withSSLVerificationDisabled(); OSClientV3 osclient = OSFactory.builderV3().withConfig(config).endpoint(authUrl) .credentials(user, password, Identifier.byId(userDomainId)).scopeToDomain(Identifier.byId(userDomainId)) .scopeToProject(Identifier.byId(projectId)).authenticate(); //创建router Router router = osclient.networking().router().create(Builders.router() .name("javaSDK-router-test") .build()); // 创建network,DNSNameServer参数请在官网页面创建subnet后获取默认值,各个region(比如华北区、华东区)不一样 Network network = osclient.networking().network() .create(Builders.network().name("javaSDK-net-test") .adminStateUp(true).build()) ; Subnet subnet = osclient.networking().subnet() .create(Builders.subnet().name("javaSDK-subnet-test") .networkId(network.getId()).cidr("192.168.45.0/24") .gateway("192.168.45.1").addDNSNameServer("100.125.1.250") .addDNSNameServer("114.114.114.114").enableDHCP(true).build()) ; System.out.println(subnet); // 将子网添加到router上 RouterInte**ce routerinf = osclient.networking().router() .attachInte**ce(router.getId(), AttachInte**ceType.SUBNET, subnet.getId()); // 删除上面所有资源 osclient.networking().router().detachInte**ce(router.getId(), subnet.getId(),routerinf.getPortId()); osclient.networking().subnet().delete(subnet.getId()); osclient.networking().network().delete(network.getId()); osclient.networking().router().delete(router.getId()); } } [/code]
-
本帖最后由 蓝书签 于 2018-3-13 20:57 编辑虚拟私有云虚拟私有云(Virtual Private Cloud)可帮助您基于华为云轻松构建隔离的虚拟网络环境。您可以完全掌控自己的虚拟网络,包括申请弹性带宽/IP、创建子网、配置DHCP、设置安全组等。此外您也可以通过专线/VPN等连接方式将VPC与传统数据中心互联互通,灵活整合资源。 价格体系带宽 [*]计费模式:按需,包年包月 [*]计费因子:按照带宽收费:带宽大小(MB)+使用时长,带宽采取梯形定价,带宽越大收费越高 VPN [*]计费模式:按需 [*]计费因子:使用时长 申请VPC虚拟私有云服务本身不收取费用。但用户在使用带宽或VPN时需要按照收费标准购买,购买时可以选择“包年包月”和“按需付费”两种形式。点我了解详情→申请VPC服务购买VPN 点我了解详情→开通VPN服务 体验不错,如何续费呢?点我了解详情→续费服务
-
首先需要虚拟私有云DDM运行于虚拟私有云(Virtual Private Cloud,简称VPC),需要使用虚拟私有云创建的IP和带宽。通过虚拟私有云安全组的功能可以增强访问DDM服务的安全性。其次要有一个弹性云服务器成功申请DDM实例后,您需要通过弹性云服务器连接使用DDM实例。最后关系型数据库服务(RDS服务)申请了DDM实例后,需要关联同一虚拟私有云中的RDS实例,实现分布式数据库计算与存储。
-
排查思路1. 排查安全组规则。2. 排查网络ACL。目前,网络ACL功能仅对“中国华东区”、“中国华北区”、“中国华南区”开放。3. 排查弹性云服务器内部网卡信息。4. 排查不通端口。 排查步骤1. 排查安全组规则 排查弹性云服务器网卡对应的安全组是否放通了出方向和入方向的ICMP规则。 以入方向为例,即安全组规则需要包含下图中的任意一条规则。 10927 若客户测试的是其他协议的报文,需放通相应协议的安全组规则。例如,测试的是UDP报文,则需检查安全组是否有规则放通出入方向的UDP协议。 2. 排查网络ACL。 a. 查看弹性云服务器的网卡是否处于网络ACL的关联子网中。 b. 在网络ACL列表中查查看网络ACL的状态。 操作列下显示“关闭”,则表示网络ACL已经开启。执行c步骤。 操作列下显示“开启”,则表示网络ACL已经关闭。执行d步骤。 c. 单击网络ACL名称,分别在“入方向”和“出方向”的页签下添加ICMP放通规则。 d. 网络ACL关闭时,默认规则为丢弃所有出入方向的包。此时,请删除网络ACL或者开启ACL并放通ICMP规则。 3. 排查弹性云服务器内部网卡信息(以下步骤以Linux系统为例,Windows操作系统请检查系统防火墙限制。) a. 确认弹性云服务器是否有多网卡配置。如果配置多网卡且弹性IP绑定在非主网卡上,请在弹性云服务内部配置策略路由。 b. 登录弹性云服务器,执行以下命令,查看网卡是否创建且网卡获取私有IP地址。若无网卡信息或者无法获取私有IP地址,请联系技术支持。 ifconfig 10926 c. 执行以下命令,查看弹性云服务器的CPU占用率是否过高,CPU占有率超过80%有可能会影响ECS通信。 top d. 执行以下命令,查看弹性云服务器内容部是否有安全规则的其他限制。 iptables-save e. 执行以下命令,查看“/etc/hosts.deny”文件中是否包含了限制通信的IP地址。 vi /etc/hosts.deny 如果hosts.deny文件里面包含了对端的IP地址,请将该IP从hosts.deny文件中删除并保存文件。 4. 排查不通端口 a. 如果无法访问弹性云服务器的特殊端口,请排查安全组规则以及网络ACL规则中是否对端口进行放行。 b. 在Linux弹性云服务器内部通过以下命令查看弹性云服务器内部是否监听该端口。如果未对该端口进行监听,可能会影响弹性云服务器的通信。 netstat -na | grep 端口号>
-
【Free Style】使用Next-Generation防火墙ECS镜像对专线、VPN等访问VPC的流量进行安全策略的控制 写得非常好,欢迎大家参考使用
-
创建VPC需要选择可用区,但是不是跨az的吗
推荐直播
-
DeepSeek华为云全栈解决方案
2025/02/18 周二 16:30-17:30
Young-华为云公有云解决方案专家
如何让大模型发挥更大能量助力业务?本期课程以真实案例展开,带您深入探索如何构建更完整的AI解决方案。
回顾中
热门标签