华为云用户手册

  • 配置OBS权限控制映射关系 在 MRS 控制台,选择“现有集群”并单击集群名称。 在“概览”页签的基本信息区域,单击“OBS权限控制”右侧的“单击管理”。 单击“添加映射”,并参考表1配置相关参数。 表1 添加OBS权限控制映射关系 参数 说明 IAM 委托 选择2中创建的委托。 类型 User:在用户级别进行映射 Group:用户组级别进行映射 说明: 用户级别的映射优先级大于用户组级别的映射。若选择Group,建议在“MRS用户(组)”一栏,填写用户的主组名称。 请避免同个用户名(组)出现在多个映射记录上。 MRS 用户(组) MRS中的用户(组)的名称,以英文逗号进行分隔。 说明: 对于没有配置在OBS权限控制的用户,且没有配置AK、SK时,将以MRS_E CS _DEFAULT_AGENCY中的OBS OperateAccess的权限访问OBS。对于组件内置用户不建议绑定在委托中。 如需对组件内置用户在以下场景提交作业时配置委托,要求如下: 如需对spark-beeline的操作进行权限控制,开启Kerberos认证的集群配置用户名“spark”,未开启Kerberos认证的集群配置用户名“omm”。 如需对hbase shell的操作进行权限控制,开启Kerberos认证的集群配置用户名“hbase”,未开启Kerberos认证的集群配置用户名“omm”。 如需对Presto的操作进行权限控制,开启Kerberos认证的集群配置用户名“omm”、“hive”和登录客户端的用户名,未开启Kerberos认证的集群配置用户名“omm”和登录客户端的用户名。 如需使用Hive在beeline模式下创建表时,配置内置用户“hive”。 单击“确定”。 勾选“我同意授权MRS用户(组)与IAM委托之间的信任关系。”,并单击“确定”,完成MRS用户与OBS权限的映射关系。 当集群详情页面“概览”页签的“OBS权限控制”后出现或OBS权限控制的映射表已刷新,表示映射生效(过程大约需要1分钟)。 在关系列表的“操作”列可以对已添加的关系进行编辑和删除。 对于没有配置在OBS权限控制的用户,且没有配置AK、SK时,将以集群配置的委托在“ 对象存储服务 ”项目下所拥有的权限访问OBS。 无论用户是否配置OBS权限控制,只要配置AK、SK时,将以AK、SK的权限访问OBS。 映射关系的修改、创建、删除需要用户有Security Administrator权限。 修改映射关系后,若想使之在spark-beeline中生效,需要重启Spark服务,若想使之在Hive beeline中生效,需要退出beeline重新进入,若想使之在Presto服务中生效,需要重启Presto服务。
  • 给集群配置有OBS访问权限的委托 请参考配置MRS集群通过IAM委托对接OBS配置OBS访问权限的委托。 配置的委托对该集群上所有用户(包括内置用户)及用户组生效,如需对集群上的用户及用户组访问OBS的权限进行控制请继续执行后续步骤。 配置OBS路径权限时,如果配置了写权限,需要同步配置对应的回收站路径。默认回收站路径为“/user/${current.user}/.Trash/”,${current.user}表示当前使用的用户名。
  • 操作场景 该章节指导用户开启Guardian组件存算分离操作。开启后Guardian可以在存算分离场景下为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。 配置Guardian服务对接OBS主要操作如下: 创建OBS并行文件系统 创建普通账号委托 创建云服务委托并绑定集群 为Guardian组件配置访问OBS权限 开启Hive表的级联授权功能 配置回收站清理策略
  • CTS 服务条件键 条件键(Condition)是SCP生效的特定条件,包括条件键和运算符。 条件键表示SCP语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键。 服务级条件键(前缀通常为服务缩写,如cts:)仅适用于对应服务的操作,详情请参见表1。 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个 VPC终端节点 发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,SCP才能生效。支持的运算符请参见:运算符。 CTS定义了以下可以在SCP的Condition元素中使用的条件键,您可以使用这些条件键进一步细化SCP语句应用的条件。 表1 CTS支持的服务级条件键 服务级条件键 类型 单值/多值 说明 cts:TargetType string 单值 按照数据转储类型筛选访问权限。 cts:TargetAccountId string 单值 按照obs桶所属用户的DomainID(账号ID)筛选访问权限。 cts:TargetOrgId string 单值 按照obs桶所属组织筛选访问权限。 cts:TargetOrgPath string 单值 按照obs桶所属组织OU路径筛选访问权限。 cts:TargetType需要与其他3个服务条件键结合使用。当cts:TargetType被设置为obs时,cts:TargetOrgPath、cts:TargetOrgId和cts:TargetAccountId将生效。详细使用方式请参考CTS服务控制策略使用示例。
  • CTS服务控制策略使用示例 服务控制策略 (SCP) 的原理介绍和语法介绍详情请参见:SCP原理介绍和SCP语法介绍。 示例一:使用服务条件键cts:TargetAccountId ,限制审计日志仅能转储至特定账号下的obs桶。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "cts:tracker:create", "cts:tracker:update" ], "Condition": { "StringEquals": { "cts:TargetType": [ "obs" ] }, "StringNotEquals": { "cts:TargetAccountId": [ "051d********d3420f9bc01403fd8da0", "2883********4c6380e59a4d416a60ee" ] } } } ] } 示例二:使用服务条件键cts:TargetOrgId,限制审计日志仅能转储至特定组织内账号下的obs桶。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "cts:tracker:create", "cts:tracker:update" ], "Condition": { "StringEquals": { "cts:TargetType": [ "obs" ] }, "StringNotEquals": { "cts:TargetOrgId": [ "o-fa9h4ghf0hnp********tah2nxmtugrf", "o-1vs0zv5azbbt********asbfd4oekb7z" ] } } } ] } 示例三:使用服务条件键cts:TargetOrgPath,限制审计日志仅能转储至特定组织ou内账号下的obs桶。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "cts:tracker:create", "cts:tracker:update" ], "Condition": { "StringEquals": { "cts:TargetType": [ "obs" ] }, "StringNotEquals": { "cts:TargetOrgPath": [ "o-1vs0zv5azbbt********asbfd4oekb7z/r-zk3fox3t********cvfd7b1av5yuzikp/ou-x0m71md5k0bz********xfq7kj2uy9ck/ou-la1j52h39hi********jkmlbstb9jk8p/ou-67ax22d********duqqov9xd6ld5udpv", "o-sdfwesdfw232********1j52hasf2346/r-43fdghwt********etmgdfnb9ersdfg6" ] } } } ] }
  • 使用限制 当前CTS支持使用SCP的区域包含:华南-广州-友好用户环境、华北-乌兰察布-汽车一、华北-乌兰察布一、华北-北京一、华北-北京四、华南-广州、华东-上海一、华东-上海二、华东-青岛、华东二、西南-贵阳一、中国-香港、亚太-曼谷、亚太-新加坡、亚太-雅加达、中东-利雅得、拉美-墨西哥城一、拉美-墨西哥城二、拉美-圣保罗一、拉美-圣地亚哥、非洲-开罗、非洲-约翰内斯堡、土耳其-伊斯坦布尔。 在配置SCP策略时,确保配置数据与账号数据(例如账号ID)相匹配。 cts:TargetType需要与其他3个服务条件键结合使用。当cts:TargetType被设置为obs时,cts:TargetOrgPath、cts:TargetOrgId和cts:TargetAccountId将生效。详细使用方式请参考CTS服务控制策略使用示例。
  • 问题背景 服务控制策略(SCP策略)是Organizations云服务中用于定义组织账户允许或禁止的操作,可以集中管理和控制组织中的账户权限。使用CTS服务创建追踪器和配置追踪器时,通过Organizations云服务的SCP策略,使用不同的条件键(如 cts:TargetType, cts:TargetOrgPath, cts:TargetOrgId, cts:TargetAccountId),可以限制转储OBS桶的范围,精确地控制用户的操作权限。 本章节展示如何使用CTS的服务条件键,对“转储审计日志到其他用户的OBS桶”场景进行限制。如何转储审计日志到其他用户的OBS桶,请参考跨租户转储授权。 以下是CTS服务控制策略的详细配置说明,以及如何根据条件配置SCP策略。
  • 操作方法 查看是否已选择正确的时间范围。 查看筛选条件是否选择正确。您可以在筛选器组合一个或多个筛选条件: 事件名称:输入事件的名称。 事件ID:输入事件ID。 资源名称:输入资源的名称,当该事件所涉及的云资源无资源名称或对应的API接口操作不涉及资源名称参数时,该字段为空。 资源ID:输入资源ID,当该资源类型无资源ID或资源创建失败时,该字段为空。 云服务:在下拉框中选择对应的云服务名称。 资源类型:在下拉框中选择对应的资源类型。 操作用户:在下拉框中选择一个或多个具体的操作用户。 事件级别:可选项为“normal”、“warning”、“incident”,只可选择其中一项。 normal:表示操作成功。 warning:表示操作失败。 incident:表示比操作失败更严重的情况,例如引起其他故障等。 企业项目ID:输入企业项目ID。 访问密钥ID:输入访问密钥ID(包含临时访问凭证和永久访问密钥)。 对于IAM等不区分region的服务,需要在中心region(北京四)开通CTS服务并创建system追踪器,其他region才能上报事件。如需实现IAM的操作记录发送短信邮件,也需要在中心region配置通知规则。 以上步骤确认正确后,依然查询不到应有事件,可以提交工单,联系技术工程师为您解决。
  • 使用默认拦截器处理日志 使用Flume采集器时,拦截器是简单的插件式组件,设置在Source和Channel之间。Source接收到的事件Event,在写入Channel之前,拦截器都可以进行转换或者删除这些事件。每个拦截器只处理同一个Source接收到的事件。 时间戳拦截器 该拦截器的作用是将时间戳插入到flume的事件报头中。如果不使用任何拦截器,flume接收到的只有message。时间戳拦截器的配置, 参数默认值描述type,类型名称timestamp,也可以使用类名的全路径preserveExisting为false。如果设置为true,若事件中报头已经存在,不会替换时间戳报头的值。source连接到时间戳拦截器的配置: a1.sources.r1.interceptors = timestamp a1.sources.r1.interceptors.timestamp.type=timestamp a1.sources.r1.interceptors.timestamp.preserveExisting=false 正则过滤拦截器 在日志采集的时候,可能有一些数据是不需要的,添加过滤拦截器可以过滤掉不需要的日志,也可以根据需要收集满足正则条件的日志。参数默认值描述type,类型名称REGEX_FILTER。excludeEvents为false时默认收集匹配到的事件。如果为true,则会删除匹配到的event,收集未匹配到的。source连接到正则过滤拦截器的配置: a1.sources.r1.interceptors = regex a1.sources.r1.interceptors.regex.type=REGEX_FILTER a1.sources.r1.interceptors.regex.regex=(today)|(Monday) a1.sources.r1.interceptors.regex.excludeEvents=false 这样配置的拦截器就只会接收日志消息中带有today或者Monday的日志。 搜索并替换拦截器 拦截器基于Java正则表达式提供简单的基于字符串的搜索和替换功能。配置如下: # 拦截器别名 a1.sources.r1.interceptors = search-replace # 拦截器类型,必须是search_replace a1.sources.r1.interceptors.search-replace.type = search_replace #删除事件正文中的字符,根据正则匹配event内容 a1.sources.r1.interceptors.search-replace.searchPattern = today # 替换匹配到的event内容 a1.sources.r1.interceptors.search-replace.replaceString = yesterday # 设置字符集,默认是utf8 a1.sources.r1.interceptors.search-replace.charset = utf8
  • 使用Flume采集syslog协议传输的日志上报到LTS Syslog协议是一种用于在IP网络中传输日志消息的协议,通过Flume将syslog协议传输的日志采集并上报到LTS。以下示例中的参数介绍请参考使用KAFKA协议上报日志。 接收UDP日志,参考如下示例添加采集Syslog协议的conf文件。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type=syslogudp #host_port为syslog服务器的端口 a1.sources.r1.port = {host_port} #host_ip为syslog服务器的ip地址 a1.sources.r1.host = {host_ip} a1.sources.r1.channels = c1 a1.channels.c1.type = memory #Sink a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.sinks.k1.channel = c1 接收TCP日志,参考如下示例添加采集Syslog协议的conf文件。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type=syslogtcp #host_port为syslog服务器的端口 a1.sources.r1.port = {host_port} #host_ip为syslog服务器的ip地址 a1.sources.r1.host = {host_ip} a1.sources.r1.channels = c1 a1.channels.c1.type = memory #Sink a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.sinks.k1.channel = c1
  • 通过Flume采集TCP/UDP协议传输的日志上报到LTS 通过Flume采集TCP/UDP协议传输的日志上报到LTS。以下示例中的参数介绍请参考使用KAFKA协议上报日志。 采集TCP端口日志,参考如下示例添加采集端口的conf文件。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type = netcat a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = {host_port} a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 采集UDP端口日志,参考如下示例添加采集端口的conf文件。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type = netcatudp a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = {host_port} a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1
  • 通过Flume采集SNMP协议上报的设备管理数据并发送到LTS 通过Flume采集SNMP协议上报的设备管理数据并发送到LTS。以下示例中的参数介绍请参考使用KAFKA协议上报日志。 监听SNMP协议通信端口号161。参考如下示例添加SNMP协议接受日志的conf。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type = netcatudp a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = 161 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 监听SNMP协议陷阱(Trap)通信的端口号162,参考如下示例添加SNMP协议接受日志的conf。 a1.sources = r1 a1.sinks = k1 a1.channels = c1 a1.sources.r1.type = netcatudp a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = 162 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1
  • 使用Flume采集数据库表数据并且上报至LTS 使用Flume采集数据库表数据并且上报至LTS,实现对表数据变动监控。以下示例中的参数介绍请参考使用KAFKA协议上报日志。 在https://github.com/keedio/flume-ng-sql-source页面下载flume-ng-sql-source插件,转换为jar包并取名为flume-ng-sql-source.jar,打包前注意将pom文件中的flume-ng-core 版本与flume安装版本保持一致,并且将jar包放在安装Flume包路径的lib目录下面,例如FLUME_HOME/lib目录下(例子中的FLUME_HOME为Flume安装路径,仅供参考,请以实际安装路径为准)。 添加MySQL驱动到FLUME_HOME/lib目录下: 下载MySQL驱动。 wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.35.tar.gz 将驱动包解压并打为jar包。 tar xzf mysql-connector-java-5.1.35.tar.gz 将jar包存放在FLUME_HOME/lib/路径。 cp mysql-connector-java-5.1.35-bin.jar FLUME_HOME/lib/ 添加采集MySQL的conf文件。 # a1表示agent的名称 # source是a1的输入源 # channels是缓冲区 # sinks是a1输出目的地,本例子sinks使用了kafka a1.channels = c1 a1.sources = r1 a1.sinks = k1 #source a1.sources.r1.type = org.keedio.flume.source.SQLSource # 连接mysql的一系列操作,{mysql_host}改为您虚拟机的ip地址,可以通过ifconfig或者ip addr查看,{database_name}改为数据库名称 # url中要加入?useUnicode=true&characterEncoding=utf-8&useSSL=false,否则有可能连接失败 a1.sources.r1.hibernate.connection.url = jdbc:mysql://{mysql_host}:3306/{database_name}?useUnicode=true&characterEncoding=utf-8&useSSL=false # Hibernate Database connection properties # mysql账号,一般都是root a1.sources.r1.hibernate.connection.user = root # 填入您的mysql密码 a1.sources.r1.hibernate.connection.password = xxxxxxxx a1.sources.r1.hibernate.connection.autocommit = true # mysql驱动 a1.sources.r1.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect a1.sources.r1.hibernate.connection.driver_class = com.mysql.jdbc.Driver # 存放status文件 a1.sources.r1.status.file.path = FLUME_HOME/bin a1.sources.r1.status.file.name = sqlSource.status # Custom query # 填写需要采集的数据表名{table_name},也可以使用下面的方法: a1.sources.r1.custom.query = select * from {table_name} #Sink a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 10000 a1.channels.c1.byteCapacityBufferPercentage = 20 a1.channels.c1.byteCapacity = 800000 启动Flume后,即可开始采集数据库中的表数据到LTS。
  • 使用Flume采集文本日志上报到LTS 支持使用Flume采集文本日志内容上报至LTS,参考如下示例添加采集文本日志的conf文件。以下示例中的参数介绍请参考使用KAFKA协议上报日志。 #Named a1.sources = r1 a1.channels = c1 a1.sinks = k1 #Source a1.sources.r1.type = TAILDIR a1.sources.r1.channels = c1 a1.sources.r1.filegroups = f1 a1.sources.r1.filegroups.f1 = /tmp/test.txt a1.sources.r1.fileHeader = true a1.sources.r1.maxBatchCount = 1000 #Channel a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 100 #Sink a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = ${logGroupId}_${logStreamId} a1.sinks.k1.kafka.bootstrap.servers = ${ip}:${port} a1.sinks.k1.kafka.producer.acks = 0 a1.sinks.k1.kafka.producer.security.protocol = SASL_PLAINTEXT a1.sinks.k1.kafka.producer.sasl.mechanism = PLAIN a1.sinks.k1.kafka.producer.compression.type = gzip a1.sinks.k1.kafka.producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="${projectId}" password="${accessKey}#${accessSecret}"; #Bind a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1
  • 添加PTR记录集 在“内网 域名 ”页面的域名列表中,单击新创建域名的名称。 进入“解析记录”页面。 单击“添加记录集”。 进入“添加记录集”页面。 图1 添加记录集 根据界面提示填写参数配置,参数说明如表3所示。 表3 添加PTR类型记录集参数说明 参数 参数说明 取值样例 主机记录 填写反向解析具体的IP地址。 10.1.168 例如,用户IP地址为192.168.1.10,则反向解析域名的完整格式为10.1.168.192.in-addr.arpa。 如果创建的域名为192.in-addr.arpa,则主机记录为10.1.168 如果创建的域名为1.168.192.in-addr.arpa,则主机记录为10 类型 记录集的类型,此处为PTR类型。 PTR – 将IP地址指向域名 TTL(秒) 记录集的有效缓存时间,以秒为单位。 默认为“5min”,即300s。 记录值 反向解析指向的域名。 仅可输入1个域名。 mail.example.com 标签 可选参数,记录集的标识,包括键和值,每个记录集可以创建20个标签。 键和值的命名规则请参见表2。 说明: 如您的组织已经设定云解析服务的相关标签策略,则需按照标签策略规则为记录集添加标签。标签如果不符合标签策略的规则,则可能会导致记录集创建失败,请联系组织管理员了解标签策略详情。 example_key1 example_value1 描述 可选配置,对PTR记录集的描述,当“其他配置”开关打开时显示。 The description of the PTR Record. 单击“确定”。 返回“解析记录”页面。 添加完成后,您可以在域名对应的记录集列表中查看已添加的记录集。当记录集的状态显示为“正常”时,表示记录集添加成功。
  • 同步ECS的DNS服务器地址 VPC子网的DNS服务器地址修改后,ECS服务器的DNS不会立即更新。 如果要立即同步ECS服务器的DNS,可以采用以下两种方法。 重启操作系统,ECS服务器重新向DHCP服务器获取DNS信息。 重启操作系统会造成业务中断,请在业务低峰期谨慎操作。 ECS服务器的DHCP租约期(默认365天)结束后,DHCP服务器会重新向ECS服务器分配IP地址、更新DNS信息。 手工修改ECS服务器的DNS服务器配置。 如果用户的DHCP功能被关闭,需要手工修改ECS服务器的DNS配置。 例如Linux系统,在/etc/resolv.conf手工修改DNS,不同操作系统修改DNS方法有差别。 相关配置示例请参见如何为ECS配置DNS?。
  • 查询ECS的DNS服务器地址 进入弹性云服务器列表页面。 在ECS列表中,单击目标ECS服务器名称。 在ECS服务器基本信息页面,单击“虚拟私有云”对应的VPC名称。 进入“虚拟私有云”页面。 图1 ECS基本信息 在“虚拟私有云”页面的VPC列表中,单击“子网”列的子网数量。 进入“子网”页面。 图2 VPC列表 在“子网”页面,单击子网列表中的子网名称。 在子网“基本信息”的“网关和DNS”区域可查看当前ECS服务器使用的DNS服务器地址。 图3 子网列表 图4 查看DNS服务器地址
  • 功能特性 华为云标准直播提供了直播推流、直播播放、直播转码、直播录制等功能,广泛地用于在线教育、互动文娱等场景。具体如表1所示。 HTTP协议存在安全风险,建议使用HTTPS协议。 表1 功能特性 类别 特性名称 特性说明 直播推流 推流协议 支持RTMP协议推流,也支持纯音频或纯视频推流。 推流形式 支持常见的第三方软件例如OBS/XSplit/FMLE等。 上行加速 支持直播内容上行推流加速、用户接入点/设备调度(DNS/HTTP DNS)、访问鉴权、弹性伸缩。 直播播放 播放协议 标准直播场景:支持RTMP、HTTP-FLV和HLS三种播放协议。 低时延直播场景:支持WebRTC播放协议(支持降级到HTTP-FLV)。 播放形式 标准直播场景:支持常见的第三方播流软件如VLC等。 低时延直播场景:支持通过低时延在线Demo,或根据API接口开放web端播放。 下行加速 提供直播内容下行分发加速、用户接入点/设备调度(DNS/HTTP DNS)、访问鉴权、弹性伸缩。 直播流处理 录制 支持将直播流录制存储到对象存储服务(OBS),直播流录制格式为HLS、FLV和MP4。 支持将直播流录制存储到 视频点播 服务(VOD),直播流录制格式为HLS、FLV和MP4,支持在VOD中对录制文件进行处理。 转码 支持对直播流进行多规格转码,支持H.264和H.265标准转码和高清低码转码。 截图 支持对直播流进行截图存储到OBS桶中,截图文件暂只支持JPG格式。 延时 支持修改播放延时。 说明: 低时延直播场景下,不建议使用此功能。 拉流回源 支持将自有源站中的直播内容拉取到 华为云直播 源站进行加速分发。 直播管理 管理方式 支持通过 视频直播 控制台进行图形化管理,也支持调用API进行直播管理。 直播控制台 总览 支持查看直播的今日下行流量、下行带宽峰值等数据。 支持变更直播的CDN计费模式。 直播管理 支持查看在线流和禁推流信息。 域名管理 支持新增、删除、停用、启用直播推流域名和播放域名。 支持推流域名和播放域名关联或取消关联。 推流域名支持配置转码、截图和开停播通知等,支持推流鉴权。 播放域名支持配置拉流回源、HTTPS证书和延时等,支持Key防盗链、Referer防盗链和IP黑名单。 用量统计 支持查看所有播放域名的下行带宽/流量使用统计信息,还支持查看所有推流域名的转码时长、录制最大并发数和截图数量统计信息。 业务监控 支持查看播放域名的下行带宽/流量使用量、播放画像信息、请求响应返回的所有状态码及对应直播流的在线观看人数等数据,还支持查看对应推流域名的上行带宽/流量使用量、总推流路数、历史推流详情及推流帧率/码率等监控信息。 LLL统计分析 查看播放域名对应低时延直播业务的统计数据,包括:下行带宽/流量使用量、观众数、全局播放统计和单路播放统计。 日志管理 支持查看播放域名被网络用户访问的详细日志,可查询下载最近14天的日志文件。 云资源授权 支持将OBS桶授权给直播服务,允许直播服务将视频截图存储在对应的桶中。 工具库 支持使用防盗地址生成工具快速生成推流域名和播放域名的鉴权URL。 直播安全 URL鉴权 支持自定义鉴权Key,用于校验直播推流和播放请求的URL的合法性。 Referer防盗链 支持对播放请求的Referer进行识别和过滤。 IP黑白名单 支持对播放请求者的IP进行识别和过滤。 HTTPS安全加速 支持使用播放域名的证书配置HTTPS,并将其部署到CDN节点,从而实现HTTPS安全加速。 直播API 域名管理 支持通过API创建、删除、修改和查询直播域名。 支持为已创建的播放域名和推流域名建立或删除域名映射关系。 直播转码 支持通过API查询、修改、创建和删除直播转码模板。 流管理 支持通过API查询和修改禁推属性,查询直播加速数据等。 鉴权管理 支持通过API查询、更新和删除指定域名的Key防盗链配置。 截图管理 支持通过API创建、删除、修改和查询直播截图配置 日志管理 支持通过API获取直播播放日志。 录制管理 支持通过API创建、查询、删除直播录制模板,实现直播流录制到OBS桶中。 录制回调管理 支持通过API创建、删除、修改、查询直播录制状态回调消息。 支持通过API查询录制回调配置列表信息。 HTTPS证书管理 支持通过API查询、修改和删除指定域名的https证书配置。 OBS桶管理 支持通过API进行OBS桶授权及取消授权。 数据统计分析 支持通过API查询播放流量、带宽数据,查询指定时间范围内的播放带宽峰值、流量汇总数据等。 流监控 支持通过API查询单个直播流的推流帧率和码率数据。 直播SDK 服务端SDK 支持多种开发语言的SDK,帮助您轻松实现二次开发。目前支持:Java、Python、Go、PHP。
  • 背景信息 Range信息的作用是在HTTP请求头中指定返回数据的范围,即第一个字节的位置和最后一个字节的位置。如:Range: bytes=0-100就是请求该文件的前101个字节的数据内容。 开启Range回源后,当客户端请求某资源,如果CDN节点上未缓存该资源或资源已过期,节点回源时会采用Range请求,从源站分段获取用户需要的部分资源并缓存到CDN节点上。 Range回源能有效缩短大文件的分发时间,提升回源效率,减少回源消耗。
  • 注意事项 开启Range回源的前提是您的源站支持Range请求,即HTTP请求头中包含Range字段,否则可能导致回源失败。 文件下载加速、点播加速默认开启Range回源。 如果单个源站资源超过1G,不开启Range回源将造成回源失败。 如果客户端请求的资源在CDN节点不缓存,则开启Range回源无效(不会按照CDN的分片规则回源),CDN将透传客户端请求中Range的分片规则回源。 如果客户端请求携带Range字段,请求未命中缓存且CDN侧未开启Range回源时,CDN将回源获取完整的资源,可能导致回源流量大于请求流量。 如果您域名的业务类型是全站加速,本功能仅对静态资源生效。
  • 访问控制配置概述 访问控制模块主要实现对访问者身份进行识别和过滤,限制部分用户访问,提高CDN的安全性,配置项包括referer防盗链、IP黑白名单、UA黑白名单、URL鉴权、远程鉴权、IP访问限频。 修改访问控制相关配置需要加速域名处于“已开启”或“配置中”状态,并且未被CDN锁定、禁用。 由于IP归属为运营商且不定期调整,华为云虽会定期更新IP地址库,也可能存在更新滞后的情况。因此可能导致部分访问控制功能偶尔误拦截或放行、客户端请求未调度到最佳节点等情况发生。 功能 说明 防盗链配置 配置referer黑白名单,通过设置的过滤策略,对访问者身份进行识别和过滤,实现限制访问来源的目的。 IP黑白名单配置 配置IP黑白名单,通过设置过滤策略,对用户请求IP地址进行过滤,从而限制访问来源。 配置User-Agent黑白名单 当您的网站需要对用户请求使用的代理过滤,从而限制访问来源时,可以在此项中进行配置。 区域访问控制 如果您因为业务需求,需要限制某些地理位置的用户访问,可以通过区域访问控制功能实现。 URL鉴权 配置URL鉴权功能,通过保护用户站点资源,防止资源被用户恶意下载盗用。 配置远程鉴权 当您想要CDN将用户请求转发到指定的鉴权服务器来完成鉴权,从而防止资源被用户恶意下载盗用时,可以在此项中进行配置。 配置IP访问限频 如果您想要通过限制单IP的单URL每秒访问单个节点的次数,实现CC攻击防御及防恶意盗刷防护,可以通过配置IP访问限频实现。 父主题: 访问控制
  • 包年/包月资源 对于包年/包月计费模式的资源,例如包年/包月的应用服务网格,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,由于包年/包月资源创建后不能删除,如需停止使用,请到费用中心执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。 如果您已开启“自动续费”功能,为避免继续产生费用,请在自动续费扣款日(默认为到期前7日)之前关闭自动续费。 对于包年/包月网格,即使集群已被删除,服务网格仍然会继续计费,如果网格不再使用,请将其退订。
  • 在续费管理页面开通自动续费 在费用中心开通自动续费的方法适合所有资源。 登录ASM控制台。 单击“控制台”页面上方“费用”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“自动续费项”页签查询已经开通自动续费的资源。 可对“手动续费项”、“到期转按需项”、“到期不续费项”页签的资源开通自动续费。 为包年/包月资源开通自动续费。 单个资源开通自动续费:选择需要开通自动续费的资源,单击操作列“开通自动续费”。 批量资源开通自动续费:选择需要开通自动续费的资源,单击列表左上角的“开通自动续费”。 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 在“续费管理”页面开通的自动续费,自动续费周期以实际选择的续费时长以及自动续费次数为准。例如:您选择了续费时长3个月,不限次数,即在每次到期前自动续费3个月
  • 在费用中心续费 在费用中心续费资源的方法适合所有资源。 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。 所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。 手动续费资源。 单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。 批量续费:在资源页面勾选需要续费的资源,单击列表左上角的“批量续费”。 选择应用服务网格的续费时长,判断是否勾选“统一到期日”,将应用服务网格到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 续费相关的功能 本文介绍网格续费相关内容,如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月的网格从购买到被自动删除之前,您可以随时在ASM控制台为网格续费,以延长网格的使用时间。 自动续费 开通自动续费后,网格会在每次到期前自动续费,避免因忘记手动续费而导致资源被自动删除。 在一个包年/包月应用服务网格生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如下图所示。 图1 应用服务网格生命周期 网格从购买到到期前,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,网格资源首先会进入宽限期,宽限期到期后仍未续费,网格资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 在网格到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直至网格到期或者续费成功。到期前7日自动续费扣款是系统默认配置,您也可以根据需要修改此扣款日。
  • 计费场景 网格类型 计费模式 网格管理规模 实例数规模阶梯 按需计费 包月 包年 企业版网格 按需计费 5000实例 0-20 网格实例规格单价 * 20 * 购买时长 网格实例规格单价 * 20 * 一月的小时数,在此基础上会有一定优惠 网格实例规格单价 * 20 * 一年的小时数,仅需支付10个月的套餐包费用即可包一整年 21-5000 网格实例规格单价 * 5000 * 购买时长 网格实例规格单价 * 20 * 一月的小时数,在此基础上会有一定优惠 网格实例规格单价 * 20 * 一年的小时数,仅需支付10个月的套餐包费用即可包一整年 基础版网格 免费 200实例 0-200 / / / 专有网格 按需计费 20实例 0-20 网格实例规格单价 * 20 * 购买时长 网格实例规格单价 * 20 * 一月的小时数,在此基础上会有一定优惠 网格实例规格单价 * 20 * 一年的小时数,在此基础上会有一定优惠 按需计费 5000实例 0-5000 网格实例规格单价 * 5000 * 购买时长 网格实例规格单价 * 20 * 一月的小时数,在此基础上会有一定优惠 网格实例规格单价 * 20 * 一年的小时数,在此基础上会有一定优惠
  • 计费项 表1 应用服务网格计费项 计费项 计费项说明 适用的计费模式 计费公式 网格管理规模 服务网格可管理的最大实例数(Pod个数) 包年/包月、按需计费 网格实例规格单价 * 实例个数 * 购买时长 ASM套餐价格中不包含 APM 服务费用,推荐购买APM服务享受全方位的服务性能监控:APM计费模式介绍。 ASM套餐价格不包含用户使用华为云上的资源费用(弹性云服务器、CCE集群管理费、ELB费用等),相关链接如下: 集群创建费用详见:云容器引擎价格详情。 更多价格详情请参见:产品价格详情。
  • 计费周期 按需计费资源按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以网格实例创建成功的时间点为准,终点以网格实例删除时间为准。 按需计费的企业版网格购买成功后即开始计费。应用服务网格实例从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非创建时间。 按需计费的企业版网格治理不足20实例时,按20实例数收取费用,超过20实例时,按实际实例数收取费用。 例如,您在8:45:30购买了一个按需计费的应用服务网格,然后在8:55:00将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。
  • 到期后影响 图1描述了包年/包月ASM资源各个阶段的状态。购买后,在计费周期内资源正常运行,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图1 包年/包月ASM资源生命周期 到期预警 包年/包月ASM应用服务网格在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月ASM应用服务网格到期未续费,首先会进入宽限期,资源状态变为“已过期”。部分操作(更新网格,升级网格等)受限。 如果您在宽限期内仍未续费包年/包月ASM应用服务网格,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期到期后,若包年/包月ASM应用服务网格资源仍未续费,那么应用服务网格相关的资源均会被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。 华为云为客户提供充分的时间进行续费与充值,当您的包年/包月资源到期未续订会依次进入宽限期和保留期,详情请参见宽限期保留期、 关于充值的详细操作请参见账户充值。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全