华为云用户手册

  • 示例流程 图1 给用户授权RDS权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予关系型数据库只读权限“RDS ReadOnlyAccess”。 如果需要使用到对接其他服务的一些功能时,除了需要配置“RDS ReadOnlyAccess”权限外,还需要配置对应服务的权限。 例如:使用控制台连接实例时,除了需要配置“RDS ReadOnlyAccess”权限外,您还需要配置数据管理服务“DAS FullAccess”权限后,才可正常使用控制台登录数据库实例。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择云数据库 RDS,进入RDS主界面,单击右上角“购买关系型数据库”,尝试购买关系型数据库,如果无法购买关系型数据库(假设当前权限仅包含RDS ReadOnlyAccess),表示“RDS ReadOnlyAccess”已生效。 在“服务列表”中选择除云数据库 RDS外(假设当前策略仅包含RDS ReadOnlyAccess)的任一服务,若提示权限不足,表示“RDS ReadOnlyAccess”已生效。
  • 事件监控支持的事件说明 表1 资源异常事件 事件来源 事件名称 事件ID 事件级别 事件说明 处理建议 事件影响 RDS 创建实例业务失败 createInstanceFailed 重要 创建实例失败产生的事件,一般是磁盘个数,配额大小不足,底层资源耗尽导致。 检查磁盘个数、配额大小,释放资源后重新创建。 无法创建数据库实例。 实例全量备份失败 fullBackupFailed 重要 单次全量备份失败产生的事件,不影响以前成功备份的文件,但会对“恢复到指定时间点”的功能有一些影响,导致“恢复到指定时间点”时增量备份的恢复时间延长。 重新执行一次手工备份。 备份失败。 主备切换异常 activeStandBySwitchFailed 重要 主备切换异常是由于网络、物理机有某种故障导致备机没有接管主机的业务,短时间内会恢复到原主机继续提供服务。 检查应用和数据库之间的连接是否重新建立了连接。 无 复制状态异常 abnormalReplicationStatus 重要 出现”复制状态异常“事件通常有两种情况: 1、主备之间复制时延太大(一般在写入大量数据或执行大事务的时候出现),在业务高峰期容易出现阻塞。 2、主备间的网络中断,导致主备复制异常。 提交工单。 但不会导致原来单实例的读写中断,客户的应用是无感知的。 复制状态异常已恢复 replicationStatusRecovered 重要 即复制时延已回到正常范围内,或者主备之间的网络通信恢复。 不需要处理。 无 实例运行状态异常 faultyDBInstance 重要 由于灾难或者物理机故障导致单机或者主实例故障时会上报本事件,属于关键告警事件。 检查是否有设置自动备份策略,并且提交工单。 可能导致数据库服务不可用。 实例运行状态异常已恢复 DBInstanceRecovered 重要 针对灾难性的故障,RDS有高可用工具会自动进行备机重建,重建完成之后即会上报本事件。 不需要处理。 无 单实例转主备实例失败 singleToHaFailed 重要 创建备机时或备机创建完成后主备机之间配置同步发生故障时会产生此事件,一般是由于备节点所在数据中心资源不足导致。 提交工单。 “单实例转主备实例失败”不会导致原来单实例的读写中断,客户的应用是无感知的。 数据库进程重新启动 DatabaseProcessRestarted 重要 一般是内存不足、负载过高导致数据库进程停止 通过 云监控 的数据,查看是否有内存飙升、cpu长期过高、磁盘满使用率不足等的情况,可以选择提升CPU内存规格或者优化业务逻辑 进程挂掉的时候,业务中断。RDS服务会自动拉起进程,尝试恢复业务。 实例磁盘满 instanceDiskFull 重要 一般是由于数据空间占用过大导致。 对实例进行扩容操作。 实例由于磁盘空间满将会变成只读实例,数据库不可进行写入操作。 实例磁盘满恢复 instanceDiskFullRecovered 重要 实例磁盘状态恢复正常。 不需要处理。 实例解除只读状态,恢复写操作。 SQL Server发布订阅链路报错 mssqlReplicationError 重要 SQL Server发布订阅链路报错。 根据报错信息自行排查。 影响SQL Server发布端到订阅端的数据同步。 kafka连接失败 kafkaConnectionFailed 重要 一般是由于网络波动或kafka服务端出现异常等原因导致。 检查网络状况和kafka服务端状态。 审计日志无法发送到kafka服务端。 表2 操作类事件 事件来源 事件名称 事件ID 事件级别 事件说明 RDS 重置数据库管理员密码 resetPassword 重要 重置数据库管理员密码 集群扩容等操作 instanceAction 重要 磁盘扩容、规格变更 删除集群下的实例 deleteInstance 次要 删除集群下的实例 修改备份策略 setBackupPolicy 次要 修改备份策略 修改参数组 updateParameterGroup 次要 修改参数组 删除参数组 deleteParameterGroup 次要 删除参数组 重置参数组 resetParameterGroup 次要 重置参数组 修改数据库端口号 changeInstancePort 重要 修改数据库端口号 实例主备切换 PrimaryStandbySwitched 重要 实例主备切换 父主题: 事件监控
  • 事件监控简介 事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到 云监控服务 ,并在事件发生时进行告警。 事件即云监控服务保存并监控的RDS资源的关键操作,您可以通过“事件”了解到谁在什么时间对系统哪些资源做了什么操作,如重置数据库管理员密码、修改备份策略等。 事件监控默认开通,您可以在事件监控中查看系统事件和自定义事件的监控详情,目前支持的系统事件请参见事件监控支持的事件说明。 事件监控为您提供上报自定义事件的接口,方便您将业务产生的异常事件或重要变更事件采集上报到云监控服务。 上报自定义事件请参见上报事件。 父主题: 事件监控
  • 支持审计的关键操作列表 通过 云审计 服务,您可以记录与华为云关系型数据库实例相关的操作事件,便于日后的查询、审计和回溯。 表1 云审计服务支持的RDS操作列表 操作名称 资源类型 事件名称 创建实例、创建只读、恢复到新实例(Console、OPENAPI、TROVEAPI) instance createInstance 扩容、规格变更(Console、OPENAPI 、TROVEAPI) instance instanceAction 实例重启(Console、OPENAPI 、TROVEAPI) instance instanceRestart 恢复到原有实例(Console、OPENAPI 、TROVEAPI) instance instanceRestore 实例重命名(Console) instance instanceRename 重置密码(Console) instance resetPassword 设置数据库版本配置参数(OPENAPI) instance setDBParameters 重置实例的数据库版本配置参数(OPENAPI) instance resetDBParameters 设置备份策略-打开,关闭,修改(Console、OPENAPI) instance setBackupPolicy 修改数据库端口号(Console) instance changeInstancePort 绑定解绑EIP(Console) instance setOrResetPublicIP 修改安全组(Console) instance modifySecurityGroup 创建标签(Console、OPENAPI) instance createTag 删除标签(Console、OPENAPI) instance deleteTag 修改标签(Console、OPENAPI) instance modifyTag 删除实例(Console、OPENAPI、TROVEAPI) instance deleteInstance 开启SQL ServerTDE功能(Console) instance sqlserverOpenTDE 主备倒换(Console) instance instanceFailOver 修改主备同步模式(Console) instance instanceFailOverMode 修改主备倒换策略(Console) instance instanceFailOverStrategy 单机转主备实例(Console、OPENAPI、TROVEAPI) instance modifySingleToHaInstance 创建快照(Console、OPENAPI) backup createManualSnapshot 复制快照(Console) backup copySnapshot 下载快照(Console、OPENAPI) backup downLoadSnapshot 删除快照(Console、OPENAPI) backup deleteManualSnapshot 创建参数模板(Console、TROVEAPI) parameterGroup createParameterGroup 修改参数模板(Console、TROVEAPI) parameterGroup updateParameterGroup 删除参数模板(Console、TROVEAPI) parameterGroup deleteParameterGroup 复制参数模板(Console) parameterGroup copyParameterGroup 重置参数模板(Console) parameterGroup resetParameterGroup 比较参数模板(Console) parameterGroup compareParameterGroup 应用参数模板(Console) parameterGroup applyParameterGroup 保存参数模板(Console) parameterGroup saveParameterGroup 冻结删除(Console) all deleteInstance 实例冻结(Console) all rdsfreezeInstance 按需转包周期、续费(Console) all bssUpdateMetadata 父主题: CTS 审计
  • 前提条件 云数据库RDS正常运行。 故障、删除状态的云数据库RDS,无法在云监控中查看其监控指标。当云数据库RDS再次启动或恢复后,即可正常查看。 故障24小时及以上的云数据库RDS,云监控将默认该云数据库RDS不存在,并在监控列表中删除,不再对其进行监控,但告警规则需要用户手动清理。 云数据库RDS已正常运行一段时间(约10分钟)。 对于新创建的云数据库RDS,需要等待一段时间,才能查看上报的监控数据和监控视图。
  • 实例监控指标 RDS for SQL Server实例性能监控指标,如表1所示。 表1 RDS for SQL Server支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) rds001_cpu_util CPU使用率 该指标用于统计测量对象的CPU利用率。 0~100% RDS for SQL Server实例 1分钟 rds003_iops IOPS 该指标用于统计当前实例,单位时间内系统处理的I/O请求数量(平均值)。 ≥0counts/s RDS for SQL Server实例 1分钟 rds039_disk_util 磁盘利用率 该指标用于统计测量对象的磁盘利用率。 0~100% RDS for SQL Server实例 1分钟 rds002_mem_util 内存使用率 该指标用于统计测量对象的内存利用率。 0~100% RDS for SQL Server实例 1分钟 rds004_bytes_in 网络输入吞吐量 该指标用于统计平均每秒从测量对象的所有网络适配器输入的流量。 ≥0bytes/s RDS for SQL Server实例 1分钟 rds005_bytes_out 网络输出吞吐量 该指标用于统计平均每秒从测量对象的所有网络适配器输出的流量。 ≥0bytes/s RDS for SQL Server实例 1分钟 rds049_disk_read_throughput 硬盘读吞吐量 该指标用于统计每秒从磁盘读取的字节数。 ≥0bytes/s RDS for SQL Server实例 1分钟 rds050_disk_write_throughput 硬盘写吞吐量 该指标用于统计每秒写入磁盘的字节数。 ≥0bytes/s RDS for SQL Server实例 1分钟 rds047_disk_total_size 磁盘总大小 该指标用于统计测量对象的磁盘总大小。 40GB~4000GB RDS for SQL Server实例 1分钟 rds048_disk_used_size 磁盘使用量 该指标用于统计测量对象的磁盘使用大小。 0GB~4000GB RDS for SQL Server实例 1分钟 rds053_avg_disk_queue_length 磁盘平均队列长度 该指标用于统计等待写入测量对象的进程个数。 ≥0 RDS for SQL Server实例 1分钟 rds054_db_connections_in_use 使用中的数据库连接数 用户连接到数据库的连接数量。 ≥0 counts RDS for SQL Server实例 1分钟 rds055_transactions_per_sec 平均每秒事务数 该指标用于统计数据库每秒启动的事务数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds056_batch_per_sec 平均每秒batch数 该指标用于统计每秒收到的Transact-SQL命令批数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds057_logins_per_sec 每秒登录次数 该指标用于统计每秒启动的登录总数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds058_logouts_per_sec 每秒登出次数 该指标用于统计每秒启动的注销操作总数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds059_cache_hit_ratio 缓存命中率 该指标用于统计在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。 0~100% RDS for SQL Server实例 1分钟 rds060_sql_compilations_per_sec 平均每秒SQL编译数 该指标用于统计每秒SQL的编译数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds061_sql_recompilations_per_sec 平均每秒SQL重编译数 该指标用于统计每秒语句重新编译的次数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds062_full_scans_per_sec 每秒全表扫描数 该指标用于统计每秒不受限制的完全扫描数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds063_errors_per_sec 每秒用户错误数 该指标用于统计每秒用户错误数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds064_latch_waits_per_sec 每秒闩锁等待数 该指标用于统计每秒未能立即授予的闩锁请求数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds065_lock_waits_per_sec 每秒锁等待次数 该指标用于统计每秒要求调用者等待的锁请求数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds066_lock_requests_per_sec 每秒锁请求次数 该指标用于统计锁管理器每秒请求的新锁和锁转换数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds067_timeouts_per_sec 每秒锁超时次数 该指标用于统计每秒超时的锁请求数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds068_avg_lock_wait_time 平均锁等待延迟 该指标用于统计每个导致等待的锁请求的平均等待时间(毫秒)。 ≥0ms RDS for SQL Server实例 1分钟 rds069_deadlocks_per_sec 每秒死锁次数 该指标用于统计每秒导致死锁的锁请求数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds070_checkpoint_pages_per_sec 每秒检查点写入Page数 该指标用于统计刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。 ≥0counts/s RDS for SQL Server实例 1分钟 rds077_replication_delay 数据同步延迟 该指标用于统计主备实例复制延迟,由于SQL Server实例复制延迟都是库级别,每个库各自都在做同步,所以实例级别复制延迟为复制延迟最大的库的值(单机不涉及都为0s)。 ≥0s RDS for SQL Server实例 1分钟 mssql_mem_grant_pending 待内存授权进程数 该指标用于统计等待接受内存授权进行使用的进程总数,指示内存压力情况。 ≥0counts RDS for SQL Server实例 1分钟 mssql_lazy_write_per_sec 每秒惰性写入缓存数 该指标用于统计每秒钟被惰性编辑器(Lazy writer)写入的缓冲数。 ≥0counts/s RDS for SQL Server实例 1分钟 mssql_page_life_expectancy 无引用页缓冲池停留时间 该指标用于统计页面不被引用后,在缓冲池中停留的秒数。 ≥0s RDS for SQL Server实例 1分钟 mssql_page_reads_per_sec 每秒页读取次数 该指标用于统计每秒读取页的个数。 ≥0counts/s RDS for SQL Server实例 1分钟 mssql_tempdb_disk_size 临时表空间大小 当前临时表空间占用磁盘大小。 ≥0MB RDS for SQL Server实例 1分钟 mssql_worker_threads_usage_rate 工作线程使用率 当前实际工作线程总数与max worker threads值的比值。 0~100% RDS for SQL Server实例 1分钟
  • 操作场景 RDS for SQL Server云盘实例支持存储空间自动扩容,在实例存储空间达到阈值时,会触发自动扩容。 只读实例设置自动扩容与主实例自动扩容互不影响,因此,您需要单独为只读实例设置扩容,以满足业务需求。对只读实例设置自动扩容时,您可选择大于或等于主实例的存储空间。 设置存储空间自动扩容有两种方式: 创建实例时设置存储空间自动扩容。详情请参见购买RDS for SQL Server实例。 创建实例后设置存储空间自动扩容。本章节介绍创建实例后如何设置存储空间自动扩容。
  • 约束限制 账户余额大于等于0元,才可设置自动扩容。 实例状态为“正常”和“存储空间满”时可以进行扩容。 如需开通存储空间自动扩容的权限,请联系客服申请。 云数据库 RDS for SQL Server实例最大可自动扩容至10000GB,具体以实际购买磁盘类型为准。 如果是主备实例,针对主实例设置自动扩容时,会同时对其备实例生效。 实例在进行规格变更、重启时,不能进行此操作。 包周期实例存在未完成订单时,不会自动扩容。 目前RDS for SQL Server实例暂不支持缩容,请谨慎开启。 目前自动扩容有限流保护,1小时最多扩容2次,1天内最多扩容5次。如果短时间内实例进行了多次扩容,可能是临时数据库或日志文件暴涨引发,可通过收缩操作来降低磁盘使用量。
  • 服务端加密简介 云数据库RDS服务的管理控制台目前支持 数据加密 服务(Data Encryption Workshop,简称DEW)托管密钥的服务端加密,即使用数据加密服务提供的密钥进行服务端加密。 数据加密服务通过使用硬件安全模块 (Hardware Security Module,简称HSM) 保护密钥安全的托管,帮助用户轻松创建和控制加密密钥。用户密钥不会明文出现在硬件安全模块之外,避免密钥泄露。对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足监督和合规性要求。 当启用服务端加密功能后,用户创建实例和扩容磁盘时,磁盘数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。
  • 计费说明 表1 计费说明 计费模式 变更操作 对费用的影响 包年/包月 单机转主备 单机转主备后,结合使用周期内的剩余时间,补交差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 4GB的RDS for SQL Server 2019标准版单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为503.89元/月。 客户在2023/6/15将单机转主备,实例价格为959元/月。 补交费用 = 主备价格 x 剩余周期 - 单机价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得补交费用 = 959 x 0.5 - 503.89 x 0.5 = 227.55元 按需计费 单机转主备 单机转主备后按小时计费。具体请参见产品价格详情。
  • 迁移方案总览 表1 SQL Server迁移方案 源数据库类型 数据量 一次性或持续 应用程序停机时间 迁移方式 文档链接 RDS for SQL Server 中 一次性 一段时间 使用DAS导出数据,再导入到RDS for SQL Server数据库。 使用DAS的导出和导入功能迁移RDS for SQL Server数据 任何 一次性或持续 最低 使用DRS将源库数据备份迁移到RDS for SQL Server数据库。 将RDS for SQL Server备份迁移到RDS for SQL Server 任何 一次性或持续 最低 使用DRS将RDS for SQL Server同步到RDS for SQL Server数据库。 将RDS for SQL Server同步到RDS for SQL Server 本地SQL Server 任何 一次性或持续 最低 使用DRS将本地SQL Server备份迁移到RDS for SQL Server数据库。 将本地SQL Server备份迁移到RDS for SQL Server 任何 一次性或持续 最低 使用DRS将本地SQL Server同步到RDS for SQL Server数据库。 将本地SQL Server同步到RDS for SQL Server 其他云上SQL Server数据库 任何 一次性或持续 最低 使用DRS将其他云上SQL Server备份迁移到RDS for SQL Server数据库。 其他云SQL Server备份迁移到RDS for SQL Server 任何 一次性或持续 最低 使用DRS将其他云上SQL Server同步到RDS for SQL Server数据库。 将其他云SQL Server同步到RDS for SQL Server
  • 操作背景 分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。RDS for SQL Server在开启分布式事务的时候已经启动MSDTC,其他服务器请参考设置远程服务器MSDTC(分布式事务处理协调器)进行启动。 更多介绍请参见Microsoft SQL Server官网MS DTC 分布式事务介绍。
  • 支持的数据库版本 仅如下版本支持SQL审计功能。如果您的数据库引擎版本较低,请参考升级内核小版本升级到最新版本。 对于RDS for MySQL 5.6云盘实例,支持5.6.43及其以上版本。 对于RDS for MySQL 5.6本地盘实例,支持5.6.47.3及其以上版本。 对于RDS for MySQL 5.7云盘实例,支持5.7.23及其以上版本。 对于RDS for MySQL 5.7本地盘实例,支持5.7.29.3及其以上版本。 支持RDS for MySQL 8.0版本。
  • 约束限制 仅支持停止存储类型为SSD云盘、极速型SSD的按需实例,专属云RDS不支持停止实例。 停止主实例时,如果存在只读实例,会同时停止只读实例。主实例和只读实例均默认停止十五天。不支持单独停止只读实例。 实例停止后,不支持通过控制台删除实例。 实例停止后,自动备份任务也会停止。实例开启后,会自动触发一次全量备份。 实例默认停止十五天,如果您在十五天后未手动开启实例,则数据库实例将于十五天后的下一个可维护时间段内自动启动,可维护时间段的详细内容请参考设置可维护时间段,开启实例操作步骤请参考开启实例。 按需付费的数据库实例停止实例后,可能会由于底层E CS 资源不足引起开启失败,若实例开启失败,可稍后再次尝试开启,需要协助请联系客服人员处理。
  • 约束限制 如需变更存储类型,请联系客服申请。 仅支持升配操作,不支持反向降配。 支持超高IO云盘变更到极速SSD云盘,SSD云盘变更到极速SSD云盘。 变更后若主实例和只读的存储类型不一致,可能会影响数据同步速度,建议先变更只读,并最终保持只读实例和主实例存储类型一致。 变更过程中,无法对数据库实例进行其它操作,如规格变更、磁盘扩容等。 变更云硬盘类型(即存储类型)可能会影响云硬盘的性能,请避开业务高峰期。 变更可能需要数分钟、数小时甚至数天才能成功,且过程中无法中断操作。具体时间主要根据变更时吞吐量、存储空间大小、原硬盘类型决定,且目前无法预估。 在极少数情形下,可能会因为资源问题导致变更失败,此时建议您重新执行变更操作。 由于EVS服务限制,同一时间段内,最多支持10个云硬盘同时变更。可能出现变更排队等待情况。
  • 计费说明 表1 计费说明 计费模式 变更操作 对费用的影响 包年/包月 规格升配 升配后,新规格将在原来已有的时间周期内生效。 您需要按照与原规格的价格差,结合使用周期内的剩余时间,补交差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for PostgreSQL 14单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 4vCPUs 8GB,实例价格为400元/月。 升配费用 = 新规格价格 x 剩余周期 - 旧规格价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得升配费用 = 400 x 0.5 - 230 x 0.5 = 85元 规格降配 降配后,新规格将在原来已有的时间周期内生效。 RDS按照与原规格的价格差,结合使用周期内的剩余时间,退回差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for PostgreSQL 14单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 2vCPUs 4GB,实例价格为196元/月。 退回费用 = 旧规格价格 x 剩余周期 - 新规格价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得退回费用 = 230 x 0.5 - 196 x 0.5 = 17元 按需计费 规格升配 变更规格成功后,新规格按小时计费。具体请参见产品价格详情。 规格降配
  • 约束限制 账户余额大于等于0元,才可变更规格。 实例处于正常状态,可以变更规格。 容灾实例不允许变更规格。 当实例进行CPU/内存规格变更时,该实例不可被删除。 RDS for PostgreSQL支持规格升配,也支持降配。 如果主实例下存在只读实例,主实例规格变更时,所选变更规格需要小于等于只读实例的规格;同样只读实例规格变更时,所选规格需要大于等于主实例当前的规格。 只读实例如需规格变更到小于主实例当前的规格时,请联系客服处理。 规格变更后,部分参数会自动更新为新规格的默认值(max_worker_processes、max_wal_senders、max_prepared_transactions、max_locks_per_transaction)。 规格变更后,max_connections参数值取新规格默认值与当前实例该参数值的较大值。 修改CPU/内存后,将会重启数据库实例。请选择业务低峰期,避免业务异常中断。重启后实例会自动释放内存中的缓存,请在业务低峰期变更规格,避免对高峰期业务造成影响。 关于变更规格所需的时间(非业务高峰期): 此过程需要5~15分钟。 变更规格时的业务中断只在主备切换期间产生,可能会造成几分钟的服务闪断(闪断时间与复制时延和临时文件数量有关)。 超过变更时长,请及时联系华为云客服。
  • 相关参数说明 RDS for PostgreSQ L实例 变更成功后,系统将根据新内存大小,调整如下参数的值: shared_buffers max_connections maintenance_work_mem effective_cache_size 其中,RDS for PostgreSQL 11及以上版本,调整的参数除上述参数外,还会调整如下参数的值: max_prepared_transactions max_wal_size work_mem
  • 计费说明 表1 计费说明 计费模式 变更操作 对费用的影响 包年/包月 扩容磁盘 您需要按照扩容的磁盘容量,结合使用周期内的剩余时间,补交差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for PostgreSQL 14单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。存储空间单价为1元/GB/月。 客户在2023/6/15将磁盘扩容60GB,扩容后总容量100GB。 补交费用 = 存储空间扩容量 x 单价 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得补交费用 = 60 x 1 x 0.5 = 30元 包年/包月 缩容磁盘 缩容成功后,按缩容后的磁盘容量,结合使用周期内的剩余时间,退还费用。 退还费用计算方式与补交费用一致。 按需计费 变更磁盘 变更的磁盘容量按小时计费。具体请参见产品价格详情。
  • 缩容约束限制 实例状态仅为“正常”时可以调整磁盘大小。 只支持存储类型为SSD云盘、超高IO的实例。 当只读实例规格小于主实例规格时,有缩容失败的风险,建议只读实例规格大于等于主实例的规格。 磁盘缩容在业务高峰期执行,可能会使磁盘空间被耗尽,导致磁盘缩容失败,请在业务低峰期操作。 使用缩容前的备份进行恢复时,请选择大于等于缩容前磁盘大小的实例。 开启快照备份的实例不支持缩容。 缩容会预留40GB的空间以防磁盘写满只读,所以可缩容的最小值为:当前磁盘使用量+预留空间大小(40G)。 如果是主备实例,针对主实例缩容时,会同时对其备实例进行缩容。 缩容过程中,该实例不可删除。 选择磁盘加密的实例,缩容后的磁盘空间依然会使用原加密密钥进行加密。 关于磁盘缩容所需的时间(非业务高峰期): 变更时间和实例的数据量相关,数据越多,时间越久。 超过变更时长,请及时联系华为云客服。
  • 扩容场景 随着业务数据的增加,原来申请的数据库磁盘容量可能会不足,需要为云数据库RDS实例进行扩容。 当磁盘利用率大于等于97%,实例将显示“磁盘空间满”,实例业务发生闪断,并变为只读状态,此时不可进行写入操作,从而影响业务正常运行。 当实例处于“磁盘空间满”状态时,需扩容至磁盘空间使用率小于85%才可使实例处于可用状态,使数据库恢复正常的写入操作。建议您设置“磁盘使用率”指标的告警规则,及时了解磁盘使用情况,起到预警作用。具体请参见设置告警规则。 磁盘扩容期间,服务不中断。
  • 无证书连接 无证书方式连接RDS for PostgreSQL数据库的Python代码,可参考以下示例: import psycopg2 db_params ={'database':'postgres','user':'root','password':'****','host':'xxx.xxx.xxx.xxx','port':'5432','sslmode':'disable'} conn=psycopg2.connect(**db_params) print("Connection established") cursor = conn.cursor() # Drop previous table of same name if one exists cursor.execute("DROP TABLE IF EXISTS inventory;") print("Finished dropping table (if existed)") # Create a table cursor.execute("grant create on SCHEMA public to root;") cursor.execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);") print("Finished creating table") # Insert some data into the table cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("banana",150)) cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("orange",154)) cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("apple",100)) print("Inserted 3 rows of data") cursor.execute("SELECT * FROM inventory;") result = cursor.fetchall() for row in result: print(row) # Clean up conn.commit() cursor.close() conn.close()
  • 使用SSL证书连接 下面的代码使用psycopg2.connect函数,基于SSL证书认证方式,连接到RDS for PostgreSQL数据库实例,并使用SQL INSERT、UPDATE操作数据,使用cursor.execute方法对数据库进行SQL操作: 在某些实例版本上,如果创建表报错“permission deny for schema public”,则手动执行grant create on SCHEMA public to root;后可以解决。 import psycopg2 db_params ={'database':'postgres','user':'root','password':'****','host':'xxx.xxx.xxx.xxx','port':'5432','sslmode':'verify-ca','sslrootcert':'/path/to/CA/ca.pem',} conn=psycopg2.connect(**db_params) print("Connection established") cursor = conn.cursor() # Drop previous table of same name if one exists cursor.execute("DROP TABLE IF EXISTS inventory;") print("Finished dropping table (if existed)") # Create a table cursor.execute("grant create on SCHEMA public to root;") cursor.execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);") print("Finished creating table") # Insert some data into the table cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("banana",150)) cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("orange",154)) cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);",("apple",100)) print("Inserted 3 rows of data") cursor.execute("SELECT * FROM inventory;") result = cursor.fetchall() for row in result: print(row) # Clean up conn.commit() cursor.close() conn.close() 输出结果如下: Connection established Finished dropping table(if existed) Finished creating table Inserted 3 rows of data (1,'banana',150) (2,'orange',154) (3,'apple',100)
  • 参数说明 表1 参数说明 参数 说明 dbname 数据库名,即需要连接的数据库名(默认的管理数据库是postgres)。 user 连接数据库的用户。 password 连接数据库时用户的密码。 host 如果通过弹性云服务器连接,则是主机IP,即“概览”页面该实例的“内网地址”。 如果通过连接了公网的设备访问,则为该实例已绑定的“弹性公网IP”。 port 端口,默认5432,即“概览”页面该实例的“数据库端口”。 sslmode SSL连接模式。 disable:表示进行无证书连接,不关心安全性。 verify-ca: 采用CA认证方式。 其它选项参考社区文档。 sslrootcert sslrootcert:服务器证书路径。
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 无Linux弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载PostgreSQL客户端,因此需要为ECS绑定弹性公网IP(EIP)。 购买Linux弹性云服务器请参考《弹性云服务器用户指南》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for PostgreSQL实例概览页,查看RDS实例的区域和VPC。 图3 PostgreSQL概览
  • 步骤2:测试连通性并安装PostgreSQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“Linux弹性 云服务器远程登录 (VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“概览”页面。 选择“连接管理”,在“连接信息”模块获取实例的公网地址和数据库端口。 图4 连接信息 如果没有绑定公网地址,请参见绑定弹性公网IP。 在ECS上测试是否可以正常连接到RDS for PostgreSQL实例公网地址的端口。 telnet 公网地址 5432 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的公网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 图6 RDS的安全组 打开客户端安装页面。 PostgreSQL官网提供了针对不同操作系统的客户端安装方法。 下面将以CentOS下PostgreSQL 12版本为例,介绍安装PostgreSQL客户端。 选择数据库版本、操作系统、操作系统架构,在弹性云服务器上执行以下命令安装PostgreSQL客户端。 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 图7 安装客户端 数据库版本,选择与RDS for PostgreSQL数据库实例一致的版本。 操作系统,选择与弹性云服务器一致的操作系统。 操作系统架构,选择与弹性云服务器一致的操作系统架构。 图8 安装rpm包 图9 客户端安装完成
  • 步骤2:测试连通性并安装PostgreSQL客户端 登录ECS实例,请参见《弹性云服务器用户指南》中“Linux弹性云服务器远程登录(VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“概览”页面。 选择“连接管理”,在“连接信息”模块获取实例的内网地址和数据库端口。 图4 连接信息 在ECS上测试是否可以正常连接到RDS for PostgreSQL实例内网地址的端口。 telnet 192.168.0.7 5432 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 图6 RDS的安全组 打开客户端安装页面。 PostgreSQL官网提供了针对不同操作系统的客户端安装方法。 下面将以CentOS下PostgreSQL 12版本为例,介绍安装PostgreSQL客户端。 选择数据库版本、操作系统、操作系统架构,在弹性云服务器上执行以下命令安装PostgreSQL客户端。 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 图7 安装客户端 数据库版本,选择与RDS for PostgreSQL数据库实例一致的版本。 操作系统,选择与弹性云服务器一致的操作系统。 操作系统架构,选择与弹性云服务器一致的操作系统架构。 图8 安装rpm包 图9 客户端安装完成
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 无Linux弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载PostgreSQL客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与RDS for PostgreSQL实例相同的区域、VPC和安全组,便于RDS for PostgreSQL和ECS网络互通。 购买Linux弹性云服务器请参考《弹性云服务器用户指南》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for PostgreSQL实例概览页,查看RDS实例的区域和VPC。 图3 PostgreSQL概览 确认ECS实例与RDS for PostgreSQL实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装PostgreSQL客户端。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
  • 操作步骤 登录弹性云服务器。 创建弹性云服务器时,要选择操作系统,例如CentOS 7,并为其绑定EIP(Elastic IP,弹性公网IP)。 使用远程连接工具通过绑定的EIP连接到弹性云服务器。 打开客户端安装页面。 选择数据库版本、操作系统、操作系统架构,在弹性云服务器上执行以下命令安装PostgreSQL客户端。 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 图1 安装客户端 数据库版本,选择与RDS for PostgreSQL数据库实例一致的版本。 操作系统,选择与弹性云服务器一致的操作系统。 操作系统架构,选择与弹性云服务器一致的操作系统架构。 图2 安装rpm包 图3 客户端安装完成 连接PostgreSQL实例。 图4 连接成功
  • 连接RDS for PostgreSQL实例的方式 云数据库 RDS for PostgreSQL提供使用命令行、图形化界面、JDBC和数据管理服务(Data Admin Service,简称DAS)的连接方式。 表1 RDS连接方式 连接方式 使用场景 通过DAS连接RDS for PostgreSQL实例(推荐) 通过数据管理服务(Data Admin Service,简称DAS)这款可视化的专业数据库管理工具,可获得执行SQL、高级数据库管理、智能化运维等功能,做到易用、安全、智能地管理数据库。云数据库RDS服务默认开通DAS连接权限。 通过psql命令行客户端连接实例 在Linux操作系统中,您需要在弹性云服务器上安装PostgreSQL客户端,通过psql命令行连接实例。支持公网和内网两种连接方式: 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与云数据库RDS实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与RDS for PostgreSQL实例。 不能通过内网IP地址访问PostgreSQL实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与RDS for PostgreSQL实例。 通过图形化界面连接RDS for PostgreSQL实例 在Windows操作系统中,您可以使用pgAdmin客户端连接到RDS for PostgreSQL实例。 通过JDBC连接RDS for PostgreSQL实例 通过JDBC连接实例的方式有无需下载SSL证书连接和用户下载SSL证书连接两种,其中使用SSL证书连接通过了加密功能,具有更高的安全性。 通过Python连接RDS for PostgreSQL实例 通过Python连接实例的方式有无需下载SSL证书连接和用户下载SSL证书连接两种,其中使用SSL证书连接通过了加密功能,具有更高的安全性。 父主题: 连接实例
共100000条