云服务器内容精选

  • 操作场景 安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互信任的弹性云服务器和 GaussDB (for MySQL)标准版实例提供访问策略。 为了保障数据库的安全性和稳定性,在使用GaussDB(for MySQL)标准版实例之前,您需要设置安全组,开通需访问数据库的IP地址和端口。 通过弹性公网IP连接GaussDB(for MySQL)标准版实例时,需要为GaussDB(for MySQL)标准版实例所在安全组配置相应的入方向规则。 通过内网连接GaussDB(for MySQL)标准版实例时,设置安全组分为以下两种情况: E CS 与GaussDB(for MySQL)标准版实例在相同安全组时,默认ECS与GaussDB(for MySQL)标准版实例互通,无需设置安全组规则。 ECS与GaussDB(for MySQL)标准版实例在不同安全组时,需要为GaussDB(for MySQL)标准版和ECS分别设置安全组规则。 设置GaussDB(for MySQL)标准版实例安全组规则:为GaussDB(for MySQL)标准版所在安全组配置相应的入方向规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 本节主要介绍如何为GaussDB(for MySQL)标准版实例设置相应的入方向规则。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 响应示例 状态码: 200 OK { "name" : "DRS-mysql", "type" : "mysql", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root" }, "description" : "description", "connection_id" : "835e1d79-24ac-411d-a1c8-22c000280659", "ssl" : { "ssl_link" : false }, "create_time" : 1716879012121, "enterprise_project_id" : "0" } 状态码: 400 Bad Request { "error_code" : "DRS.10010065", "error_msg" : "Connection manager name is already exists." }
  • 请求示例 创建一个MySQL连接示例。 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/connections { "name" : "DRS-mysql", "type" : "mysql", "description" : "description", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root", "db_password" : "password" }, "vpc" : { }, "ssl" : { "ssl_link" : false }, "enterprise_project_id" : "0" }
  • 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 connection_id String 连接ID。 name String 连接名称。 create_time Long 连接创建时间,格式为时间戳。 db_type String 连接类型。 config ConnectionConfig object 连接的配置项。 endpoint BaseEndpoint object 数据库基本信息。 vpc CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl EndpointSslConfig object 数据库SSL证书信息。 表10 ConnectionConfig 参数 参数类型 描述 driver_name String 驱动程序名称。 表11 BaseEndpoint 参数 参数类型 描述 id String 数据库信息ID。 endpoint_name String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云ECS自建Oracle数据库。 cloud_gaussdbv5:华为云数据库GaussDB分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或 域名 。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user String 数据库用户名。 db_password String 数据库密码。 instance_id String 华为云数据库实例ID。 instance_name String 华为云数据库实例名称。 db_name String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding Array of BaseEndpoint objects 物理源库信息。 表12 CloudVpcInfo 参数 参数类型 描述 vpc_id String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表13 EndpointSslConfig 参数 参数类型 描述 ssl_link Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name String SSL证书名字。 ssl_cert_key String SSL证书内容,用base64加密。 ssl_cert_check_sum String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password String SSL证书密码,证书文件后缀为.p12时必填。 状态码: 400 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 连接名称。 约束:连接名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 db_type 是 String 连接类型,包含: mysql postgresql mongodb oracle config 否 ConnectionConfig object 连接的配置项,不同类型的连接配置项不同。 description 否 String 描述,长度不能超过255个字符。 endpoint 是 BaseEndpoint object 数据库连接基本信息。 vpc 否 CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl 否 EndpointSslConfig object 数据库SSL证书信息。 cloud 否 CloudBaseInfo object 数据库实例所在Region,项目等信息。 表4 ConnectionConfig 参数 是否必选 参数类型 描述 driver_name 否 String 驱动程序名称。 表5 BaseEndpoint 参数 是否必选 参数类型 描述 id 否 String 数据库信息ID。 endpoint_name 是 String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云ECS自建Oracle数据库。 cloud_gaussdbv5:华为云数据库GaussDB分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip 否 String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port 否 String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user 是 String 数据库用户名。 db_password 是 String 数据库密码。 instance_id 否 String 华为云数据库实例ID。 instance_name 否 String 华为云数据库实例名称。 db_name 否 String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding 否 Array of BaseEndpoint objects 物理源库信息。 表6 CloudVpcInfo 参数 是否必选 参数类型 描述 vpc_id 是 String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 是 String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id 否 String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表7 EndpointSslConfig 参数 是否必选 参数类型 描述 ssl_link 否 Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name 否 String SSL证书名字。 ssl_cert_key 否 String SSL证书内容,用base64加密。 ssl_cert_check_sum 否 String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password 否 String SSL证书密码,证书文件后缀为.p12时必填。 表8 CloudBaseInfo 参数 是否必选 参数类型 描述 region 是 String 区域ID,当数据库实例类型为ecs(华为云ECS自建数据库),cloud(华为云数据库)时为必填项。获取方法请参见地区和终端节点。 注意:当该Region下存在子项目时,Region ID为区域项目ID与子项目ID,由“_”下划线拼接,例如:cn-north-4_abc。 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 az_code 否 String 数据库所在可用分区(AZ)名称。
  • 操作场景 安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互信任的弹性云服务器和云数据库RDS实例提供访问策略。 为了保障数据库的安全性和稳定性,在使用云数据库RDS实例之前,您需要设置安全组,开通需访问数据库的IP地址和端口。 通过弹性公网IP连接RDS实例时,需要为RDS所在安全组配置相应的入方向规则。 通过内网连接RDS实例时,设置安全组分为以下两种情况: ECS与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规则。 ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 本节主要介绍如何为RDS实例设置相应的入方向规则。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 注意事项 因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和云数据库RDS实例可互相访问。安全组创建后,您可以在安全组中定义各种访问规则,当云数据库RDS实例加入该安全组后,即受到这些访问规则的保护。 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 一个RDS实例允许绑定多个安全组,一个安全组可以关联多个RDS实例。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 当需要从安全组外访问安全组内的云数据库RDS实例时,需要为安全组添加相应的入方向规则。 为了保证数据及实例安全,请合理使用权限。建议使用最小权限访问,并及时修改数据库默认端口号(3306),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。 源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的云数据库RDS实例。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
  • 服务端SSL加密相关参数配置 表1 服务端SSL加密相关参数 参数名称 值 描述 ssl on 默认启用SSL连接,不可修改。 ssl_cert_file /CA/server.pem SSL服务器证书文件的位置,不可修改。 ssl_ciphers ALL:!ADH:!LOW:!EXP:!MD5:!3DES:!DES:@STRENGTH; 指定一个SSL密码列表,用于安全连接。用户可根据安全要求进行修改。推荐使用 EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EDH+aRSA+AESGCM:EDH+aDSS+AESGCM:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!SRP:!RC4 ssl_key_file /CA/server.key SSL服务器私钥文件的位置,不可修改。 ssl_min_protocol_version TLSv1.2 设置要使用的最小SSL/TLS协议版本,用户可根据安全要求进行修改,推荐使用TLSv1.2及以上版本。
  • 客户端查看是否开启SSL加密 客户端是否使用SSL加密,可通过以下方式查看: 使用psql连接数据库时,连接成功后出现如下信息: SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) protocol表示SSL连接协议是TLSv1.2。 cipher表示使用SSL连接的加密算法为ECDHE-RSA-AES256-GCM-SHA384。 bits表示密钥长度为256位。 可以通过查询“pg_stat_ssl”视图来查看客户端连接是否使用SSL。如果客户端使用SSL连接,则该视图中会显示相应的连接信息。 SELECT * FROM pg_stat_ssl; 该查询将返回所有当前SSL连接的统计信息,包括连接的进程ID、客户端IP地址、SSL协议版本、SSL加密算法、客户端证书的有效性和到期时间等。如果客户端连接使用SSL,则可以在该视图中看到相关信息。
  • 客户端SSL加密相关参数配置 PostgreSQL数据库开启SSL加密后,表示允许客户端通过SSL连接数据库。 在客户端连接数据库时,可根据不同场景选择“sslmode”参数取值。 客户端使用SSL连接时,“sslmode”选择“allow”、“prefer”、“Require”、“Verify-CA”或“Verify-Full”。默认值是“prefer”。 客户端不使用SSL连接时,“sslmode”选择“Disable”。 当“sslmode”取值为“Verify-CA”或“Verify-Full”时,需要配置“Root certificate”参数,表示数据库CA证书的路径,CA证书可在界面上下载。 表2 sslmode参数值说明 sslmode参数值 说明 disable 客户端不使用SSL连接。 allow 客户端将尝试建立SSL/TLS连接,但如果服务器不支持SSL/TLS连接,客户端将以普通文本方式连接。 prefer 默认模式,客户端将首先尝试建立SSL连接,如果服务器不支持SSL连接,则以普通文本方式连接。 require 客户端只尝试SSL连接,只对数据链路加密,并不验证服务器证书的有效性。 verify-ca 客户端使用SSL加密连接到服务器,并验证服务器证书的有效性。 verify-full 客户端使用SSL加密连接到服务器,并验证服务器证书的有效性,同时比对证书内的CN或DNS与连接时配置的数据库连接地址是否一致。
  • 操作场景 当云连接创建成功后,您可以查看已添加的标签,还可以添加、编辑以及删除标签。 标签是云连接的标识,包括键和值。可以为云连接创建20个标签。 如果您的组织已经设定云连接的相关标签策略,则需按照标签策略规则为云连接添加标签。标签如果不符合标签策略的规则,则可能会导致云连接创建失败,请联系组织管理员了解标签策略详情。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。
  • 响应示例 { "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" } ] }
  • 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 的会话。
  • 响应参数 参数说明 表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 命名空间。