云服务器内容精选

  • 场景说明 安全云脑 (SecMaster)是华为云原生的新一代安全运营中心,集华为云多年安全经验,基于云原生安全,提供云上资产管理、安全态势管理、安全信息和事件管理、安全编排与自动响应等能力。 安全云脑支持在重大保障及防护演练前,全面地进行资产脆弱性盘点;在攻防演练期间,高强度7*24的安全保障,侧重于防攻击,保障业务可用性不因安全攻击受影响,侧重于防入侵,保障不因入侵失分被问责。能够更智能、更快速,帮助您实现一体化、自动化安全运营管理,满足您的安全需求。 本场景将介绍在护网、重保场景中安全云脑的使用,具体流程如下图所示: 图1 使用流程 父主题: 安全云脑护网/重保最佳实践
  • 应用场景 当您的网站类业务部署在华为云E CS 上时,您可以为网站业务配置“DDoS原生高级防护+ELB”联动防护,即ECS源站服务器部署ELB后将ELB的公网IP添加到DDoS原生高级防护实例进行防护,进一步提升ECS防御DDoS攻击能力。 相比直接为ECS开启DDoS原生高级防护,“DDoS原生高级防护+ELB”联动防护通过ELB丢弃未监听协议和端口的流量,对不同类型的DDoS攻击(例如,SSDP、NTP、Memcached等反射型攻击、UDP Flood攻击、SYN Flood大包攻击)有更好的防御效果,可以大幅度提升ECS防御DDoS攻击能力,确保用户业务安全、可靠。
  • 操作场景 该任务指导用户如何配置 域名 解析,实现华为云“DDoS高防+WAF( Web应用防火墙 )”联动。 DDoS高防和云模式WAF联动后,流量会先经过DDoS高防,再转发至WAF,实现联动防御。 图1 联动原理 如果您在DDoS高防使用同一实例和端口防护了 多个域名 ,且域名源站为WAF CNAME时。当您在WAF侧的CNAME对应源站IP不同时,将WAF CNAME都Bypass后,会导致DDoS高防所有绑定相同高防IP和端口的域名不可用。
  • 常见设计示例 日志类、时间序列数据。列举出三个场景设计主键。 查询某台机器某个指标某段时间内的数据,主键设计为[hostname][log-event][timestamp]。 查询某台机器某个指标最新的几条数据,主键设计为[hostname][log-event][timestamp DESC]。 查询的数据存在只有时间一个维度或某一个维度数据量巨大的情况,主键设计为long bucket = timestamp % numBuckets; [bucket][timestamp][hostname][log-event]。 交易类数据。列举出四个场景设计主键。 查询某个卖家某段时间内的交易记录,主键设计为[seller_id][timestamp][order_number]。 查询某个买家某段时间内的交易记录,主键设计为[buyer_id][timestamp][order_number]。 根据订单号查询,主键设计为[order_number]。 查询中同时满足三张表,一张买家维度表主键设计为[buyer_id][timestamp][order_number]。一张卖家维度表主键设计为[seller_id][timestamp][order_number]。一张订单索引表主键设计为[order_number]。
  • 如果数据足够分散,还会存在堆积的热点现象吗 散列的目的是将数据分散到不同的分区,不至于产生热点使某一台服务器终止,其他服务器空闲,充分发挥分布式和并发的优势。 最佳设计示例: 设计md5散列算法,主键设计为[md5(userid).subStr(0,4)][userId][orderid] 。 设计反转,主键设计为[reverse(userid)][orderid]。 设计取模,主键设计为[bucket][timestamp][hostname][log-event]; long bucket = timestamp % numBuckets。 增加随机数,主键设计为[userId][orderid][random(100)]。
  • 设计主键应该避免哪些情况 GeminDB Cassandra是一个 分布式数据库 ,数据按照主键分布。如果存在多列主键,则按照数据库的最左匹配原则分布。为避免产生写入热点问题,建议您遵循以下条件: 主键的第一列尽量分散,不建议主键名使用相同的前缀。 避免使用共同前缀或者自增的数据作为主键的第一列或者索引列(例如时间戳列)。 避免使用有明显前缀的字段或者枚举(比如order_type)作为主键的第一列。 如果有类似的情况无法避免,可以利用Hash算法进行打散。例如: 假设原始主键pk是递增的字符串,可以设定新主键pk1 = hash(pk).substring(0,4)+pk,即选取原始主键pk经过Hash算法计算后的结果前4位作为前缀,拼接原始主键pk,最终形成新的主键pk1。
  • 方案优势 海量数据实时解析写入,应用开发极简 传统HBase:将车辆上报的数千监控指标作为一个字符串写入HBase,应用程序读取某个指标时,需要先读整个字符串,再解析,过程复杂,效率低。 GeminiDB Influx:将车辆上报的数千监控指标直接作为数千列写入GeminiDB,应用直接查询对应指标,无需二次解析,做到真正的实时写入、实时查询。 数据自动排序、合并,简化中间处理环节 车辆上报的同一时刻多维度指标数据,由于车端不同部件处理以及网络传输时延差异,无法保证数据一次性、有序上报写入。 传统HBase:应用程序需要借助Spark对HBase的数据进行合并、排序,处理复杂,无法满足实时查询诉求。 GeminiDB Influx:在时序数据写入时,对数据进行自动合并、排序,应用直接访问GeminiDB Influx查询即可返回需要的结果。 实时分析 传统HBase:一般将历史数据转存到Hudi,应用程序根据指标通过ElasticSearch先找到车辆VIN,再通过VIN去Hudi查对应的指标数据进行分析,涉及多系统,交互复杂,无法支撑海量数据的实时分析。 GeminiDB Influx:支持应用程序直接基于指标的一次性查询分析,一库替代多库,有效支撑业务的实时查询分析诉求。 高压缩率 传统HBase:只能按列族设置压缩算法,且仅支持Gzip,SNAPPY,LZO,LZ4四种压缩算法。 GeminiDB Influx:针对每列的数据类型选用不同的压缩算法,支持Simple8b,Delta,Delta-Of-Delta,RLE,Zigzag, Zstd, Snappy,Bit-packing等多种压缩算法,压缩率是传统HBase的10倍。 冷热分离 针对车辆的海量数据带来的存储高成本,支持用户基于业务场景配置数据的冷热策略,实现数据自动转冷,应用程序“0”改动,有效控制整体成本。
  • 操作流程 “回源配置方案”迁移增量对象数据流程图,如图1所示。 图1 回源配置方案迁移增量对象流程图 迁移过程及操作步骤示意图如图2所示。 图2 迁移示意图 操作步骤说明如下: T1时间:启动全量迁移、华为侧业务验证。 ①全量迁移:将T1时间点之前的源端存量数据全量迁移到华为云(此时客户业务系统还会继续往源端桶新增业务数据)。 ②业务验证:验证迁移数据 + 验证华为侧数据业务(数据读取和写入)。 T2时间:启动首次增量数据迁移、评估数据增量速度。 ③增量迁移:将T1~T2时间段生成的新增数据迁移到华为云。 ④评估增量速度:对比源端和目的端,评估增量数据生成速度,用于确定后续业务验证时间。 T3时间:OBS回源配置+业务割接、启动剩余增量数据迁移。 ⑤OBS回源配置+业务割接:通过配置OBS回源,保证业务割接后,源端剩余的增量数据能够通过OBS回源访问,客户业务不中断;业务割接后,客户业务系统开始将新增数据存储到华为云,源端对象存储不会再有新增数据。 ⑥增量迁移:将T2~T3时间段生成的新增数据迁移到华为云。 ⑦一致性验证:对比源端、目的端桶的对象总数和总大小,确保源端数据全部迁移完成。 迁移过程中, 对象存储迁移 服务会调用源端云服务提供商的 对象存储服务 接口,所产生的费用都遵从源端云服务提供商的计费规则并由其向您收取。
  • 业务场景说明 自建MQTT Broker基于MQTT协议的上行数据和下行指令的业务定义如下: 表1 业务场景 业务场景 通信Topic 报文Payload 设备上报数据 /aircondition/data/up { "temperature": 26.0 } 服务端控制指令 /aircondition/cmd { "switch": "off" } 设备使用一机一密的认证方式。 设备通过Topic上报数据,通过消息流转功能将数据转发到后端服务。 服务端通过消息下发接口下发消息给设备。
  • 2.设备端域名切换 完成平台端配置后,需要进行设备端业务开发。完整的设备开发流程可参考设备侧开发。本章节以Paho-MQTT开源MQTT客户端为例,介绍在设备迁移场景下,设备侧如何在只修改接入地址的情况下,实现设备建立MQTT连接、Topc订阅、消息发布等功能。 //接入华为云IoT的域名,在控制台的"总览"界面的"平台接入地址"中获取“设备侧”的MQ TTS 接入地址。 String server = "ssl://******.st1.iotda-device.cn-north-4.myhuaweicloud.com:8883"; // Paho MQTT客户端。 MqttClient myMqttClient = new MqttClient(server, "myClientId", persistence); // Paho MQTT连接参数。 MqttConnectOptions connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); connOpts.setKeepAliveInterval(120); connOpts.setUserName("myUserName"); connOpts.setPassword("myPassword".toCharArray()); myMqttClient.connect(connOpts); System.out.println("Broker: " + broker + " Connected"); // Paho MQTT消息订阅。 myMqttClient.subscribe("/aircondition/cmd", new MyMessageListener()); // Paho MQTT发布消息。 String topic = "/aircondition/data/up"; String content = "{\"temperature\": 26.0 }"; MqttMessage message = new MqttMessage(content.getBytes()); message.setQos(0); myMqttClient.publish(topic, message);
  • 使用分区表 分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。分区表和普通表相比具有以下优点: 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。 增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。 方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。 GaussDB数据库 支持的分区表为一级分区表和二级分区表,其中一级分区表包括范围分区表、间隔分区表、列表分区表、哈希分区表四种,二级分区表包括范围分区、列表分区、哈希分区两两组合的九种。 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 列表分区表:将数据中包含的键值分别存储在不同的分区中,依次将数据映射到每一个分区,分区中包含的键值由创建分区表时指定。 哈希分区表:将数据根据内部哈希算法依次映射到每一个分区中,包含的分区个数由创建分区表时指定。 二级分区表:由范围分区、列表分区、哈希分区任意组合得到的分区表,其一级分区和二级分区均可以使用前面三种定义方式。 父主题: 表设计最佳实践
  • 过滤策略说明 过滤策略参数填写通配符规则说明和约束说明参见表6。 表6 过滤策略参数说明 参数 说明 填写规则 约束说明 黑名单 命中黑名单规则,则文件不进行迁移/一致性对比。支持精确匹配和模糊匹配。 精确匹配 全路径精确匹配,填写文件绝对路径,特殊字符用反斜杠(\)转义。 注意: 配置黑、白名单注意事项: 如果文件存储服务地址是以冒号加斜杠(:/)结尾,请确保在黑、白名单中填写的路径是相对于挂载地址的绝对路径。 例如,文件存储服务地址为"192.1.1.1:/",挂载地址为"/mnt/turbo",则填写"/mnt/turbo"下的绝对路径。 挂载信息示例: [root@oms-cluster-ecs filter_test]# pwd /mnt/sts_turbo/mgc/filter_test [root@oms-cluster-ecs- filter_test]# ll drwxr-xr-x 2 root root 0 Aug 16 15:27 test2 -rw-r--r-- 1 root root 5 Aug 16 15:27 test2.log 如果要使黑名单精确匹配以避免迁移"test2.log"文件,则应在黑名单中填写路径:/mgc/filter_test/test2.log 如果文件存储服务地址在冒号加斜杠(:/)之后还包含其他路径,配置黑、白名单时,除了填写挂载地址下的绝对路径外,还要加上文件存储服务地址:/之后的部分。 例如,文件存储服务地址为"192.1.1.1:/mgc-test",挂载地址为"/mnt/turbo",则填写"mgc-test+/mnt/turbo"下的绝对路径。 挂载信息示例: [root@oms-cluster-ecs execution-service]# cd /mnt/turbo/autotest/filter_test/ [root@oms-cluster-ecs- filter_test]# ll -rw-r--r-- 1 root root 14 Aug 8 09:22 test1.log drwxr-xr-x 1 root root 4096 Aug 8 09:22 test2 -rw-r--r-- 1 root root 14 Aug 8 09:22 test2.log 如果要使黑名单精确匹配以避免迁移"test2"文件,则应在黑名单中填写路径:/mgc-test/autotest/filter_test/test2 模糊匹配 *匹配任何字符0个或者多个,但不匹配斜杠(/) 使用**匹配任何字符0个或者多个,包括斜杠(/) ?匹配除斜杠(/)之外的任何字符,只能匹配一个 {和}定义元素之间的选择:包含一个以逗号分隔的模式列表, 其中任何一种模式都可能匹配,可以包含通配符。 特殊字符可以在它们之前使用 \进行转义,\后面为通配符时,表示转义,否则表示\本身 除{ 和 } 以外,不能出现连续的规则符号,例如:***、*?、**?、?*、?**、*{*、*}*、*}?、?{*、{*}、{,}、{*,、 ,*}、,*,。 { 和 } 之间的模式,只能使用*做通配符。 { 和 } 之间的模式,不能有{}嵌套。 文件绝对路径在黑名单和白名单同时命中,则黑名单生效,即不做迁移。 需要配置多个匹配规则时,用英文分号隔开。 白名单 白名单为空时,迁移所有文件。 白名单不为空时,仅对绝对路径命中白名单规则的文件进行迁移/一致性对比。 时间段 配置时间段,根据配置,迁移最后修改时间在配置时间段内的文件或者文件夹。 开始时间和结束时间可以配置为空,为空时表示不限制,时间可以精确到分钟。 过滤策略场景规则示例以及举例见下表。 例如第一级目录为“test”,那么: NAS的路径格式为:“/test”。 OBS的路径格式为:“test”。 场景 NAS规则示例 OBS规则示例 说明 文件路径以xx结尾(特定后缀) /xx /**xx xx/**xx xx可以是包含*和?的表达式 根路径下第一层xx开始的文件 /xx* /testssss 匹配 /test/xx 不匹配 /xx* testssss 匹配 test/xx 不匹配 文件路径以xx开始 /xx** /xx/** xx** xx/** 文件名包含xx **xx* **xx* 文件路径包含xx **xx** **xx** 文件路径以xx开始,以yy结尾 /xx**yy xx**yy xx,yy可以是包含*和?的表达式 文件路径以xx,yy结尾(特定后缀) **{xx,yy} **{xx,yy} 文件名包含xx,yy **{xx,yy}* **{xx,yy}* 文件路径包含xx,yy **{xx,yy}** **{xx,yy}**
  • 约束与限制 单个对象大小不能超过:500 MB x 10000 = 4.76837158203125 TB,否则可能会导致迁移失败。 在迁移过程中,系统将自动在目的端桶创建一个名为“oms”的临时文件夹。严禁手动操作此文件夹,包括但不限于修改、删除或添加内容。对该文件夹进行的任何手动操作都可能导致迁移流程中断或失败。 在进行NAS迁移任务时,请确保挂载后的文件绝对路径长度不超过4095字节。如果超过该长度可能导致迁移任务出现异常,无法正常完成。 NAS_SMB迁移暂不支持迁移软链接。
  • 优势 专享迁移集群,减少资源竞争,提高迁移效率。 支持多种云平台对象存储、文件存储服务,支持自建网络文件服务。支持迁移的云平台和存储类型包括: 华为云 OBS 阿里云 OSS 百度云 BOS 腾讯云 COS 金山云 KS3 七牛云 KODO 优刻得 US3 亚马逊 S3 微软 Blob 青云QINGSTOR NAS_SMB NAS_NFS_V3_MOUNT NAS_NFS_V3_PROTOCOL HTTP/HTTPS数据源
  • 操作步骤 登录迁移中心管理控制台。 在左侧导航栏选择“总览”,进入总览页面。 在新手入门选择跨可用区迁移,在单批次小数量 主机迁移 用户一站式跨可用区迁移区域,单击“开始创建”按钮。 在弹出一站式跨可用区迁移窗口,自定义应用名称,选择要迁移到的目的可用区。 单击“开始执行”,系统会自动采集当前账号下所选区域主机信息,并自动创建应用将主机加入到该应用内,开始迁移评估。 评估执行完成后,单击“关闭”按钮,进行工作流配置。 根据表1参数说明,配置工作流参数。 表1 参数说明 区域 参数 说明 工作流详情 名称 用户自定义 描述 用户自定义 应用程序 应用名称 选择步骤4中自定义的应用名称。 迁移设置 区域 选择待迁移可用区所在Region,与创建的应用配置保持一致。 目的可用区 选择要迁移到目的端可用区,与创建的应用配置保持一致。 网络设置 当前只支持“保留源端配置”。 目的虚拟机创建策略 立即创建 工作流立即开始进行源端备份,源端各自独立备份完成后,立即开始生成镜像和目的端主机。 目的端是否关机 选择“是”,生成目的端后,目的端保持关机状态。 选择“否”,生成目的端后,目的端自动开机。 增量备份前源端是否关机 选择“是”,工作流在执行增量备份前,会关闭源端主机,这样可以最大限度保证新建目的端数据与源端数据的一致性。 选择“否”,工作流在执行增量备份时,依旧保持开机状态。 创建系统盘镜像 选择“是”,将基于源端系统盘创建系统盘镜像,便于后续目的端重装系统。 选择“否”,不创建系统盘镜像。 高级设置 自动删除镜像 选择开启,业务割接后自动删除迁移过程中产生的备份、快照及镜像文件。 保持主网卡IP不变 选择开启时,将目的端的主网卡私有IP切换为源端主网卡私有IP,并绑定源端主网卡绑定的EIP,此时源端主网卡私有IP将设置为随机IP,并解绑EIP。以上操作不支持自动回退,需要您手动回退。 工作流配置完成后,单击“下一步:确认并创建”按钮,确认配置信息无误后,单击“确认创建工作流”。迁移工作流创建完成,可在工作流列表查看。 此时迁移工作流状态为“等待中”,并未开始迁移。 单击工作流名称,进入工作流详情页面,工作流步骤为迁移模板的标准步骤,您也可以在工作流步骤中自行添加阶段/步骤。 确定工作流步骤后,单击“运行”按钮,开始迁移。 在工作流步骤页签可以监控迁移进展。如果迁移步骤中包含手动操作,需要您进行手动确认后,才能进行后续步骤。 在主机页签,可以查看每台主机的迁移状态。