云服务器内容精选

  • 使用限制 因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和云数据库RDS实例可互相访问。安全组创建后,您可以在安全组中定义各种访问规则,当云数据库RDS实例加入该安全组后,即受到这些访问规则的保护。 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 目前一个RDS实例仅允许绑定一个安全组,但一个安全组可以关联多个RDS实例。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 当需要从安全组外访问安全组内的云数据库RDS实例时,需要为安全组添加相应的入方向规则。 为了保证数据及实例安全,请合理使用权限。建议使用最小权限访问,并及时修改数据库默认端口号(3306),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。 源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的云数据库RDS实例。
  • 操作场景 内网连接RDS实例时,设置安全组分为以下两种情况: E CS 与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规则,执行通过内网连接RDS for MariaDB实例。 ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 解绑弹性公网IP 对于已绑定EIP的实例,在“实例管理”页面,选择指定实例,单击实例名称,进入实例概览页面。 在左侧导航栏,单击“连接管理”,在“连接信息”模块“公网地址”处,单击“解绑”,在弹出框中单击“确定”,解绑EIP。 若您已开启高危操作保护,在“身份验证”弹出框中单击“获取验证码”,正确输入验证码并单击“确定”,页面自动关闭。 通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《 统一身份认证 服务用户指南》的内容。 在“连接管理”页面,查看结果。 您也可以在“任务中心”页面,查看解绑弹性公网IP任务的执行进度及结果。 如需重新绑定,请参见绑定弹性公网IP。
  • 注意事项 您需要设置安全组,开通需访问数据库的IP地址和端口,才可以访问数据库实例。在访问数据库前,您需要将访问数据库的IP地址,或者IP段加安全组入方向的访问规则,操作请参见设置TaurusDB标准版实例的安全组规则。 绑定的弹性公网IP需要单独收费,详细收费标准请参见:带宽和IP产品价格详情。 为保证数据库可正常访问,请确保数据库使用的安全组开通了相关端口的访问权限,假设数据库的访问端口是8635,那么需确保安全组开通了8635端口的访问。
  • 解绑弹性公网IP 对于已绑定EIP的实例,在“实例管理”页面,选择指定实例,单击实例名称,进入实例概览页面。 在左侧导航栏,单击“连接管理”,在“连接信息”模块“公网地址”处,单击“解绑”,在弹出框中单击“确定”,解绑EIP。 若您已开启高危操作保护,在“身份验证”弹出框中单击“获取验证码”,正确输入验证码并单击“确定”,页面自动关闭。 通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《统一身份认证服务用户指南》的内容。 在“连接管理”页面,查看结果。 您也可以在“任务中心”页面,查看解绑弹性公网IP任务的执行进度及结果。 如需重新绑定,请参见绑定弹性公网IP。
  • 注意事项 您需要设置安全组,开通需访问数据库的IP地址和端口,才可以访问数据库实例。在访问数据库前,您需要将访问数据库的IP地址,或者IP段加安全组入方向的访问规则,操作请参见设置TaurusDB标准版实例的安全组规则。 绑定的弹性公网IP需要单独收费,详细收费标准请参见:带宽和IP产品价格详情。 为保证数据库可正常访问,请确保数据库使用的安全组开通了相关端口的访问权限,假设数据库的访问端口是8635,那么需确保安全组开通了8635端口的访问。
  • 响应示例 { "total_count" : 1, "sessions" : [ { "id" : "shard_1:7201646", "active" : true, "operation" : "{\"getMore\":4.9473050217983027E18,\"collection\":\"$cmd.aggregate\",\"batchSize\":101.0,\"lsid\":{\"id\":{\"$binary\":{\"base64\":\"9FhcBFVeTzafCH8BUZrLjQ\\=\\=\",\"subType\":\"03\"}},\"uid\":{\"$binary\":{\"base64\":\"O0CMtIVItQN4IsEOsJdrPL8s7jv5xwh5a/A5Qfvs2A8\\=\",\"subType\":\"00\"}}},\"$clusterTime\":{\"clusterTime\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"signature\":{\"hash\":{\"$binary\":{\"base64\":\"HxUWu68VyfvQFivWjHQDdJj/3YQ\\=\",\"subType\":\"00\"}},\"keyId\":6.9312672235666801E18}},\"$client\":{\"driver\":{\"name\":\"PyMongo\",\"version\":\"3.6.1\"},\"os\":{\"type\":\"Linux\",\"name\":\"Linux\",\"architecture\":\"x86_64\",\"version\":\"4.18.0-147.5.1.0.h269.eulerosv2r9.x86_64\"},\"platform\":\"CPython 3.7.4.final.0\",\"mongos\":{\"host\":\"host-172-16-61-110:8635\",\"client\":\"127.0.0.1:33420\",\"version\":\"4.0.3\"}},\"$configServerState\":{\"opTime\":{\"ts\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"t\":2.0}},\"$db\":\"admin\"}", "type" : "getmore", "cost_time" : "25", "plan_summary" : "COLLSCAN", "host" : "host-172-16-27-182:8635", "client" : "172.16.41.233:50700", "description" : "conn20", "namespace" : "admin.$cmd.aggregate" } ] }
  • 响应参数 参数说明 表3 响应Body参数 参数 参数类型 是否必选 描述 total_count Integer 是 总记录数。 sessions Array of objects 是 具体信息。详情请参见表 QuerySessionResponse。 表4 session字段数据结构说明 参数 参数类型 描述 id String 会话ID。 active Boolean 当前会话是否活跃。取值为“true”,表示活跃。取值为“false”,表示不活跃。 operation String 操作。 type String 操作类型。 cost_time String 运行时间,单位为us。 plan_summary String 执行计划描述。 host String 主机。 client String 客户端地址。 description String 连接描述。 namespace String 命名空间。
  • URI URI格式 GET https://{Endpoint}/v3/{project_id}/nodes/{node_id}/sessions URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/nodes/520c58ba00a3497e97ce0b9604874dd6no02/sessions
  • 请求参数 参数说明 表1 请求参数 名称 类型 IN 是否必选 描述 X-Auth-Token string header 是 从 IAM 服务获取的用户Token。请参考认证鉴权。 project_id string path 是 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 node_id string path 是 节点ID。 集群实例支持选择mongos、shard、config中的任意节点。 副本集实例选择Primary或者Secondary节点。 表2 Query参数 参数 参数类型 是否必选 描述 offset Integer 否 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit Integer 否 查询记录数。取值范围[1, 100],默认10(表示返回10条数据)。 plan_summary String 否 执行计划描述。取空值表示查询plan_summary为空的会话。也可指定执行计划,例如:COLLSCAN IXSCAN FETCH SORT LIMIT SKIP COUNT COUNT_SCAN TEXT PROJECTION type String 否 操作类型。取空值表示查询type为空的会话。也可指定操作类型,例如:none update insert query command getmore remove killcursors namespace String 否 命名空间。取空值表示查询namespace为空的会话,也可根据当前业务进行指定。 cost_time Integer 否 运行时间,单位为us。取空值表示查询cost_time为空的会话,也可根据当前业务需要进行配置,表示查询超出cost_time 的会话。
  • RDS for MySQ L实例 连接失败怎么办 报错信息:Access denied for user 'user_name'@'100.xxx.xx.xx' (using password: YES)。 报错原因:RDS实例用户名或密码不对。 解决方法:请确认数据库用户名和密码是否正确,如果您不确认密码是否正确,可以在RDS控制台重置实例密码。 修改密码可能会影响业务,请谨慎操作。 如果确认账户名和密码正确,可以通过客户端或命令行工具登录数据库,执行select * from mysql.user where user = 'user_name'命令查看用户信息,如果存在100.%网段的用户,则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户,其密码和权限都是独立的,请确认输入的密码是否是user_name @100.%用户的密码。 报错原因:DAS服务器的IP地址不在您输入用户的白名单中。 解决方法:使用客户端或命令行工具登录到数据库,创建DAS可以访问的数据库用户。 create user 'user_name'@'100.%' identified by 'password'; grant select on *.* to 'user_name'@'100.%'; DAS服务器IP地址所在网段为100.%,请根据实际使用需要添加白名单。 请根据实际使用需要给user_name@100.%用户赋予权限。 报错原因: 使用SSL用户登录,服务端没有开启SSL功能。 解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。 select user, host, ssl_type from mysql.user where user = 'user_name'; 报错信息: Trying to connect with ssl, but ssl not enabled in the server 报错原因: 使用SSL用户登录,服务端没有开启SSL功能。 解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。 select user, host, ssl_type from mysql.user where user = 'user_name'; 报错信息: Client does not support authentication protocol requested by server. plugin type was = 'sha256_password' 报错原因: DAS暂不支持密码的加密方式为sha256_password的数据库用户连接登录。 解决方法:请执行如下语句将密码的加密方式改为mysql_native_password。 alter user 'user_name'@'%' identified with mysql_native_password by 'password'; 报错信息: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server 报错原因: DAS服务器与实例网络不通。 解决方法:请提交工单联系客服人员协助处理。 报错信息:Instance connect timeout, please login again. 报错原因:DAS服务器连接超时。 解决方法:请提交工单联系客服人员协助处理。 报错信息:RSA public key is not available client side (option serverRsaPublicKeyFile not set). 报错原因:数据库用户的身份认证方式对密码安全性要求较高,要求用户认证过程中在网络传输的密码是加密的。 如果是SSL加密连接,则使用SSL证书和密钥对来完成“对称加密密钥对(在TSL握手中生成)”的交换,后续使用“对称加密密钥对”加密密码和数据。 如果是非SSL加密连接,则在连接建立时客户端使用MySQL Server端的RSA公钥加密用户密码,Server端使用RSA私钥解密验证密码的正确性,可以防止密码在网络传输时被窥探。 解决方法:开启实例SSL或者修改数据库用户的身份认证方式。 父主题: 连接管理
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_security_group 是 ChangeSecurityGroup object change_security_group对象 表4 ChangeSecurityGroup 参数 是否必选 参数类型 描述 security_group_id 是 String 需要修改的目标安全组ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_security_group 是 ChangeSecurityGroup object change_security_group对象 表4 ChangeSecurityGroup 参数 是否必选 参数类型 描述 security_group_id 是 String 需要修改的目标安全组ID。
  • 原因分析 系统连接数量超过了最大连接数量,会显示如下错误信息。 1 2 gsql -d human_resource -h 10.168.0.74 -U user1 -p 8000 -W password -r gsql: FATAL: sorry, too many clients already 用户不具备访问该数据库的权限,会显示如下错误信息。 1 2 3 gsql -d human_resource -h 10.168.0.74 -U user1 -p 8000 -W password -r gsql: FATAL: permission denied for database "human_resource" DETAIL: User does not have CONNECT privilege. 网络连接故障。
  • 解决办法 系统连接超过最大连接数量。 用户可在 GaussDB (DWS) 控制台设置最大连接数max_connections。 max_connections设置方法如下: 登录GaussDB(DWS) 管理控制台。 在左侧导航栏中,单击“集群管理”。 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。 单击“参数修改”页签,修改参数“max_connections”的值,然后单击“保存”。 在“修改预览”窗口,确认修改无误后,单击“保存”。 关于查看用户会话连接数的方法如表1。 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户user1的会话连接数上限。其中,-1表示没有对用户user1设置连接数的限制。 1 2 3 4 5 SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='user1'; rolname | rolconnlimit ---------+-------------- user1 | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户user1已使用的会话连接数。其中,1表示user1已使用的会话连接数。 1 2 3 4 5 6 SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='user1'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库db_demo的会话连接数上限。其中,-1表示没有对数据库db_demo设置连接数的限制。 1 2 3 4 5 6 SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='db_demo'; datname | datconnlimit ----------+-------------- db_demo | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库db_demo上已使用的会话连接数。其中,1表示数据库db_demo上已使用的会话连接数。 1 2 3 4 5 SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='db_demo'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 1 2 3 4 5 SELECT COUNT(*) FROM PG_STAT_ACTIVITY; count ------- 10 (1 row) 用户不具备访问该数据库的权限。 使用管理员用户dbadmin连接数据库。 1 gsql -d human_resource -h 10.168.0.74 -U dbadmin -p 8000 -W password -r 赋予user1用户访问数据库的权限。 1 GRANT CONNECT ON DATABASE human_resource TO user1; 实际上,常见的许多错误操作也可能产生用户无法连接上数据库的现象。例如,用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具会有相应的提示信息。 1 2 3 4 5 gsql -d human_resource -p 8000 gsql: FATAL: database "human_resource" does not exist gsql -d human_resource -U user1 -W password -p 8000 gsql: FATAL: Invalid username/password,login denied. 网络连接故障。 请检查客户端与数据库服务器间的网络连接。如果发现从客户端无法PING到数据库服务器端,则说明网络连接出现故障。请联系技术支持工程师提供技术支持。 1 2 3 4 5 6 7 8 ping -c 4 10.10.10.1 PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data. From 10.10.10.1: icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=3 Destination Host Unreachable From 10.10.10.1 icmp_seq=4 Destination Host Unreachable --- 10.10.10.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms