华为云用户手册

  • 接口约束 您必须是桶拥有者或拥有设置桶存储类型的权限,才能设置桶存储类型。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:PutBucketStoragePolicy权限,如果使用桶策略则需授予PutBucketStoragePolicy权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 代码示例 本示例用于开启examplebucket桶的多版本状态 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package main import ( "fmt" "os" obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs" ) func main() { //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。 ak := os.Getenv("AccessKeyID") sk := os.Getenv("SecretAccessKey") // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。 // securityToken := os.Getenv("SecurityToken") // endpoint填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。 endPoint := "https://obs.cn-north-4.myhuaweicloud.com" // 创建obsClient实例 // 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过obs.WithSecurityToken方法指定securityToken值。 obsClient, err := obs.New(ak, sk, endPoint/*, obs.WithSecurityToken(securityToken)*/) if err != nil { fmt.Printf("Create obsClient error, errMsg: %s", err.Error()) } input := &obs.SetBucketVersioningInput{} // 指定存储桶名称 input.Bucket = "bucketname" // 指定桶的版本状态,此处以obs.VersioningStatusEnabled为例 input.Status = obs.VersioningStatusEnabled // 设置桶的多版本状态 output, err := obsClient.SetBucketVersioning(input) if err == nil { fmt.Printf("Set bucket(%s)'s versioning status successful!\n", input.Bucket) fmt.Printf("RequestId:%s\n", output.RequestId) return } fmt.Printf("Set bucket(%s)'s versioning status fail!\n", input.Bucket) if obsError, ok := err.(obs.ObsError); ok { fmt.Println("An ObsError was found, which means your request sent to OBS was rejected with an error response.") fmt.Println(obsError.Error()) } else { fmt.Println("An Exception was found, which means the client encountered an internal problem when attempting to communicate with OBS, for example, the client was unable to access the network.") fmt.Println(err) } }
  • 接口约束 您必须是桶拥有者或拥有设置桶的多版本状态的权限,才能设置桶的多版本状态。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketVersioning权限,如果使用桶策略则需授予PutBucketVersioning权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 input *SetBucketVersioningInput 必选 参数解释: 设置桶的多版本状态请求参数,详见SetBucketVersioningInput。 extensions extensionOptions 可选 参数解释: 桶相关扩展信息。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions。
  • 返回结果说明 表4 返回结果列表 参数名称 参数类型 描述 output *BaseModel 参数解释: 接口返回信息,详见BaseModel。 err error 参数解释: 接口返回错误信息。 表5 BaseModel 参数名称 参数类型 描述 StatusCode int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 RequestId string 参数解释: OBS服务端返回的请求ID。 默认取值: 无 ResponseHeaders map[string][]string 参数解释: HTTP响应头信息。 默认取值: 无
  • 功能说明 用户可以使用普通方式上传、下载对象,也可以使用服务端加密方式进行上传、下载对象。 OBS支持服务端加密功能,使加密的行为在服务端进行。 用户可以根据自身的需求,使用不同的密钥管理方式来使用服务端加密功能。当前支持两种服务端加密方式: KMS托管密钥的服务端加密(SSE-KMS)和客户提供加密密钥的服务端加密(SSE-C)。上述两种方式都采用行业标准的AES256加密算法。 SSE-KMS方式,OBS使用KMS(Key Management Service)服务提供的密钥进行服务端加密。 SSE-C方式,OBS使用用户提供的密钥和密钥的MD5值进行服务端加密。 使用服务端加密,返回的ETag值不是对象的MD5值。无论是否使用服务端加密上传对象,请求消息头中加入Content-MD5参数时,OBS均会对对象进行MD5校验。
  • 支持接口 OBS Go SDK支持服务端加密的接口见下表: OBS Go SDK接口方法 描述 支持加密类型 ObsClient.PutObject 上传对象时设置加密算法、密钥,对对象启用服务端加密。 SSE-KMS SSE-C ObsClient.PutFile 上传文件时设置加密算法、密钥,对对象启用服务端加密。 SSE-KMS SSE-C ObsClient.GetObject 下载对象时设置解密算法、密钥,用于解密对象。 SSE-C ObsClient.CopyObject 复制对象时设置源对象的解密算法、密钥,用于解密源对象。 复制对象时设置目标对象的加密算法、密钥,对目标对象启用加密算法。 SSE-KMS SSE-C ObsClient.GetObjectMetadata 获取对象元数据时设置解密算法、密钥,用于解密对象。 SSE-C ObsClient.InitiateMultipartUpload 初始化分段上传任务时设置加密算法、密钥,对分段上传任务最终生成的对象启用服务端加密。 SSE-KMS SSE-C ObsClient.UploadPart 上传段时设置加密算法、密钥,对分段数据启用服务端加密。 SSE-C ObsClient.CopyPart 复制段时设置源对象的解密算法、密钥,用于解密源对象。 复制段时设置目标段的加密算法、密钥,对目标段启用加密算法。 SSE-C
  • 接口约束 您必须是桶拥有者或拥有获取桶存储类型的权限,才能获取桶存储类型。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:GetBucketStoragePolicy权限,如果使用桶策略则需授予GetBucketStoragePolicy权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
  • 请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName string 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 extensions extensionOptions 可选 参数解释: 桶相关扩展信息。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions。
  • 代码示例 本示例用于获取名为examplebucket桶的存储类别 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 package main import ( "fmt" "os" obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs" ) func main() { //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。 ak := os.Getenv("AccessKeyID") sk := os.Getenv("SecretAccessKey") // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。 // securityToken := os.Getenv("SecurityToken") // endpoint填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。 endPoint := "https://obs.cn-north-4.myhuaweicloud.com" // 创建obsClient实例 // 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过obs.WithSecurityToken方法指定securityToken值。 obsClient, err := obs.New(ak, sk, endPoint/*, obs.WithSecurityToken(securityToken)*/) if err != nil { fmt.Printf("Create obsClient error, errMsg: %s", err.Error()) } // 指定存储桶名称 bucketname := "examplebucket" // 获取桶的存储类别 output, err := obsClient.GetBucketStoragePolicy(bucketname) if err == nil { fmt.Printf("Get bucket(%s)'s storage-class successful!\n", bucketname) fmt.Printf("RequestId:%s\n", output.RequestId) fmt.Printf("StorageClass:%s\n", output.StorageClass) return } fmt.Printf("Get bucket(%s)'s storage-class fail!\n", bucketname) if obsError, ok := err.(obs.ObsError); ok { fmt.Println("An ObsError was found, which means your request sent to OBS was rejected with an error response.") fmt.Println(obsError.Error()) } else { fmt.Println("An Exception was found, which means the client encountered an internal problem when attempting to communicate with OBS, for example, the client was unable to access the network.") fmt.Println(err) } }
  • 获取桶存储类型 您可以通过ObsClient.GetBucketStoragePolicy获取桶存储类型。以下代码展示如何获取桶存储类型: // 初始化配置参数 ObsConfig config = new ObsConfig(); config.Endpoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html string accessKey= Environment.GetEnvironmentVariable("AccessKeyID", EnvironmentVariableTarget.Machine); string secretKey= Environment.GetEnvironmentVariable("SecretAccessKey", EnvironmentVariableTarget.Machine); // 创建ObsClient实例 ObsClient client = new ObsClient(accessKey, secretKey, config); // 获取桶存储类型 try { GetBucketStoragePolicyRequest request = new GetBucketStoragePolicyRequest() { BucketName = "bucketName", }; GetBucketStoragePolicyResponse response = client.GetBucketStoragePolicy(request); Console.WriteLine("Get bucket storage policy response: {0}", response.StatusCode); Console.WriteLine("StorageClass: {0}", response.StorageClass); } catch (ObsException ex) { Console.WriteLine("ErrorCode: {0}", ex.ErrorCode); Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage); }
  • 设置桶存储类型 您可以通过ObsClient.SetBucketStoragePolicy设置桶存储类型。以下代码展示如何设置桶存储类型: // 初始化配置参数 ObsConfig config = new ObsConfig(); config.Endpoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html string accessKey= Environment.GetEnvironmentVariable("AccessKeyID", EnvironmentVariableTarget.Machine); string secretKey= Environment.GetEnvironmentVariable("SecretAccessKey", EnvironmentVariableTarget.Machine); // 创建ObsClient实例 ObsClient client = new ObsClient(accessKey, secretKey, config); // 设置桶存储类型 try { SetBucketStoragePolicyRequest request = new SetBucketStoragePolicyRequest { BucketName = "bucketname", StorageClass = StorageClassEnum.Cold, }; SetBucketStoragePolicyResponse response = client.SetBucketStoragePolicy(request); Console.WriteLine("Set bucket storage policy response: {0}", response.StatusCode); } catch (ObsException ex) { Console.WriteLine("ErrorCode: {0}", ex.ErrorCode); Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage); }
  • 静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
  • 生命周期管理简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 OBS允许您对桶设置生命周期规则,实现自动转换对象的存储类型、自动淘汰过期的对象,以有效利用存储特性,优化存储空间。针对不同前缀的对象,您可以同时设置多条规则。一条规则包含: 规则ID,用于标识一条规则,不能重复。 受影响的对象前缀,此规则只作用于符合前缀的对象。 最新版本对象的转换策略,指定方式为: 指定满足前缀的对象创建后第几天时转换为指定的存储类型。 直接指定满足前缀的对象转换为指定的存储类型的日期。 最新版本对象过期时间,指定方式为: 指定满足前缀的对象创建后第几天时过期。 直接指定满足前缀的对象过期日期。 历史版本对象转换策略,指定方式为: 指定满足前缀的对象成为历史版本后第几天时转换为指定的存储类型。 历史版本对象过期时间,指定方式为: 指定满足前缀的对象成为历史版本后第几天时过期。 是否生效标识。 更多关于生命周期的内容请参考生命周期管理。 对象过期后会被OBS服务端自动删除。 对象转换策略中的时间必须早于对象过期时间;历史版本对象转换策略中的时间也必须早于历史版本对象的过期时间。 桶的多版本状态必须处于Enabled或者Suspended,历史版本对象转换策略和历史版本对象过期时间配置才能生效。 父主题: 生命周期管理
  • 静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
  • 生命周期管理简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 OBS允许您对桶设置生命周期规则,实现自动转换对象的存储类型、自动淘汰过期的对象,以有效利用存储特性,优化存储空间。针对不同前缀的对象,您可以同时设置多条规则。一条规则包含: 规则ID,用于标识一条规则,不能重复。 受影响的对象前缀,此规则只作用于符合前缀的对象。 最新版本对象的转换策略,指定方式为: 指定满足前缀的对象创建后第几天时转换为指定的存储类型。 直接指定满足前缀的对象转换为指定的存储类型的日期。 最新版本对象过期时间,指定方式为: 指定满足前缀的对象创建后第几天时过期。 直接指定满足前缀的对象过期日期。 历史版本对象转换策略,指定方式为: 指定满足前缀的对象成为历史版本后第几天时转换为指定的存储类型。 历史版本对象过期时间,指定方式为: 指定满足前缀的对象成为历史版本后第几天时过期。 是否生效标识。 更多关于生命周期的内容请参考生命周期管理。 对象过期后会被OBS服务端自动删除。 对象转换策略中的时间必须早于对象过期时间;历史版本对象转换策略中的时间也必须早于历史版本对象的过期时间。 桶的多版本状态必须处于Enabled或者Suspended,历史版本对象转换策略和历史版本对象过期时间配置才能生效。 父主题: 生命周期管理
  • 静态网站托管简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以将静态网站文件上传至OBS的桶中作为对象,并对这些对象赋予公共读权限,然后将该桶配置成静态网站托管模式,以实现在OBS上托管静态网站的目的。第三方用户在访问您网站的时候,实际上是在访问OBS的桶中的对象。在使用静态网站托管功能时,OBS还支持配置请求重定向,通过重定向配置您可以将特定的请求或所有请求实施重定向。 更多关于静态网站托管的内容请参考静态网站托管。 父主题: 静态网站托管
  • 生命周期管理简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 OBS允许您对桶设置生命周期规则,实现自动转换对象的存储类型、自动淘汰过期的对象,以有效利用存储特性,优化存储空间。针对不同前缀的对象,您可以同时设置多条规则。一条规则包含: 规则ID,用于标识一条规则,不能重复。 受影响的对象前缀,此规则只作用于符合前缀的对象。 最新版本对象的转换策略,指定方式为: 指定满足前缀的对象创建后第几天时转换为指定的存储类型。 直接指定满足前缀的对象转换为指定的存储类型的日期。 最新版本对象过期时间,指定方式为: 指定满足前缀的对象创建后第几天时过期。 直接指定满足前缀的对象过期日期。 历史版本对象转换策略,指定方式为: 指定满足前缀的对象成为历史版本后第几天时转换为指定的存储类型。 历史版本对象过期时间,指定方式为: 指定满足前缀的对象成为历史版本后第几天时过期。 是否生效标识。 更多关于生命周期的内容请参考生命周期管理。 对象过期后会被OBS服务端自动删除。 对象转换策略中的时间必须早于对象过期时间;历史版本对象转换策略中的时间也必须早于历史版本对象的过期时间。 桶的多版本状态必须处于Enabled或者Suspended,历史版本对象转换策略和历史版本对象过期时间配置才能生效。 父主题: 生命周期管理
  • 查看域名备案状态 根据《互联网信息服务管理办法》(国务院292号令)、《非经营性互联网信息服务备案管理办法》(工信部33号令)等法律法规的规定,在中华人民共和国境内提供互联网信息服务,应当依法履行备案手续,取得工信部备案号。 对于服务器部署在中国大陆区域的网站,如果未进行备案,或者备案审核未通过,则会导致网站访问网站被阻断。 如果您未对网站进行备案,请参考快速完成网站备案提交网站备案审核。 如果您已经提交了备案申请,请参考怎么了解备案进度查看备案审核结果。 如果您的备案已经通过,仍然无法访问网站,请参考为什么网站无法访问?进行处理。
  • 查看网站配置 如果域名状态正常、解析生效、网站备案审核通过,网站仍然无法访问,需要进一步查看网站的本地网络以及网站的服务器配置。 检查本地网络是否正常。 尝试ping其他域名,检查域名解析是否生效? 如果生效,则排除本地网络问题。 如果不生效,则表示本地网络故障,请联系宽带运营商解决网络故障问题。 如果网站服务器部署在华为云,则需要排查网站服务器是否正常。 例如,选择华为云弹性云服务器搭建您的网站,请参考网站无法访问怎么办?进行处理。
  • 查看域名解析配置 解析记录配置错误会导致无法将域名解析到正确的IP地址,从而导致网站无法访问。 查看域名解析记录的步骤如下: 进入公网域名列表页面。 在域名列表页面,单击域名名称,进入“解析记录”页面。 如果在“域名列表”中,未找到网站对应的域名,则表示未配置域名的解析记录,请参考配置网站解析配置解析记录。 图3 域名解析记录 根据域名解析记录的查询结果,可以定位网站无法访问的原因是否与域名解析配置相关。 表2 检查项及处理措施 检查项 预期结果 处理措施 域名 网站域名 如果“域名”与网站的主域名不一致,则需要重新为网站域名的主域名添加一条记录集。 状态 正常 如果“状态”是“已暂停”,则需要启用记录集。 类型 A 如果“类型”不是A,则需要重新为域名增加A类型记录集。 线路类型 全网默认 如果“线路类型”不是“全网默认”,有可能导致指定线路外的用户访问失败,需要重新配置一条线路类型为“全网默认”的解析记录,详细内容请参考增加A类型记录集。 值 网站服务器IP地址 如果解析记录的值与网站服务器IP地址不符,则需要修改记录集。 在左侧树状导航栏,选择“内网域名”。 进入“内网域名”页面。 在域名列表中,检查有相同域名的内网解析记录,如果有,则删除该内网域名及其解析记录。 当DNS上同时添加了域名的公网解析记录与内网解析记录时,对域名的访问请求,会直接通过内网DNS进行解析。当解析不成功时,内网DNS会返回解析记录不存在,并不再转发到公共DNS进行公网解析。 在查看并处理完成域名的解析配置后,可以再次查看域名解析是否生效。如果仍然不生效,需要继续进行排查。
  • 查询域名注册信息 通过华为云的WHOIS平台,可以查询域名的注册商、注册周期、状态、DNS服务器等注册信息。 查询域名注册信息的步骤如下: 打开/whois/index.html,进入“域名注册信息查询(WHOIS)”页面。 图1 域名注册信息查询(WHOIS) 在输入框中,输入待查询的域名名称,。 单击“查询”,显示域名的注册信息。 图2 域名example.com注册信息 根据域名注册相关信息的查询结果,可以定位网站无法访问的原因是否与域名相关。 表1 检查项及处理措施 检查项 预期结果 处理措施 到期日期 当前日期之前 如果域名过期,会导致解析不生效,从而使网站无法访问。 如果域名即将过期,请进行域名续费。 如果域名已经过期,请进行域名赎回。 如果域名已无法赎回,请重新注册域名。 域名续费或者赎回后, 域名解析并不立即生效,需要24小时~48小时,请耐心等待,然后再次进行访问。 域名状态 ok 如果域名状态为“serverHold”,多为域名实名认证审核未通过,请进行域名实名认证。 如果域名状态为“clientHold”,表示注册商设置域名暂停解析,需联系注册商解除该状态。 更多域名状态信息及处理方法,请参考域名状态。 DNS服务器 ns1.huaweicloud-dns.com ns1.huaweicloud-dns.cn ns1.huaweicloud-dns.net ns1.huaweicloud-dns.org 如果DNS服务器地址与预期结果不符,则表示域名并未使用华为云DNS进行解析,请您到对应的DNS服务商处进行问题排查。 如果您刚进行了DNS服务器的修改,则WHOIS的查询结果可能还未更新,请耐心等待,然后再次进行查询。 说明: 修改DNS服务器后,解析的生效时间取决于本地DNS的缓存时间以及设置的TTL值,更多详细内容请参见修改DNS服务器后多久生效?。
  • 查看域名解析是否生效 通过域名成功访问网站的其中一个条件是,域名到IP地址的解析生效。因此,您需要查看域名的解析是否生效。 ping 域名 nslookup -qt=类型 域名 具体操作请参考怎样测试域名解析是否生效?。 更多解析不生效的排查方法请参考解析不生效怎么办? 如果域名的解析记录刚经过了修改,有可能还未生效,各种域名解析记录的生效时间请参考: 添加解析记录后多久生效? 修改或删除解析后多久生效?
  • 怎样修改GoDaddy域名的DNS服务器地址? 登录 https://sg.godaddy.com/zh网站。 单击“My Account”,进入My Account页面。 在“Products”页签中,单击“DOMAINS”前面的,展开域名列表。 待修改域名的“Action”列,单击“Launch”。 在展开页面的“Nameservers”区域,单击“Set Nameservers”。 图12 Set Nameservers 选择“I have specific nameservers for my domains.” 设置“Nameservers1”和“Nameservers2”为华为云DNS提供的DNS服务器地址。 ns1.huaweicloud-dns.com ns1.huaweicloud-dns.cn ns1.huaweicloud-dns.net ns1.huaweicloud-dns.org
  • 使用场景 文档数据库服务按照设置的自动备份策略,对数据库进行自动备份。建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。 创建文档数据库实例时,默认开启自动备份策略。待实例创建成功后,您可以根据业务需要修改自动备份策略或关闭自动备份策略。 开启自动备份策略后,会立即自动触发一次全量备份。之后会按照自动备份策略中设置的备份时间段和备份周期进行全量备份。实例在执行备份时,会将数据从实例上拷贝并压缩后上传到OBS备份空间,按照自动备份策略中的保留天数进行存放,备份时长和实例的数据量有关,平均备份速率为60MB/s。自动备份策略开启后,副本集实例每五分钟会自动进行一次增量备份,以保证数据的可靠性。集群实例如果使用增量备份功能,则需要手动开启。
  • 使用须知 账户需要有足够的余额,才可进行扩容。 对于集群实例,仅支持对shard节点进行磁盘扩容,dds mongos节点、config节点和只读节点不能进行磁盘扩容。 选择磁盘加密的实例,新扩容的磁盘空间依然会使用原加密密钥进行加密。 实例处于以下状态时不可扩容: 创建中 规格变更中 节点扩容中 删除节点 小版本升级 磁盘扩容期间,服务不中断。DDS服务只支持扩容磁盘存储空间大小,不支持变更存储类型。
  • 注意事项 跨区域备份仅支持部分区域,详情请参见下表。 表1 支持的备份区域 备份源区域 支持备份的目标区域 北京四 上海一、上海二、广州、贵阳一 上海一 乌兰察布一、北京四、广州、上海二、北京一 上海二 上海一、北京四、北京一、广州、乌兰察布一 深圳 上海一、广州、上海二、北京四 广州 上海一、上海二、北京一、北京四、乌兰察布一、贵阳一 北京一 上海一、北京四 东莞二零一 贵阳二零一 贵阳二零一 东莞二零一 香港 新加坡 新加坡 约翰内斯堡 约翰内斯堡 新加坡
  • 备份与恢复方案 表1提供了常见的数据备份和下载备份文件的方法。 支持版本号没有说明的,默认支持全部版本:3.2、3.4、4.0、4.2和4.4版本。 表1 备份方案 任务类型 备份或恢复类型 支持的实例类型和版本 使用场景 数据备份 自动备份 集群 副本集 单节点 您可以通过控制台对DDS进行自动备份。 增量备份 集群(4.0、4.2版本支持) 副本集(4.0、4.2版本支持) 您可以通过控制台对DDS进行增量备份。 跨区域备份 集群 副本集 单节点 您可以通过控制台对DDS进行跨区域备份。 手动备份 集群 副本集 单节点 您可以通过控制台对DDS进行手动备份。 通过mongodump工具备份 集群 副本集 单节点 您可以通过MongoDB客户端自带的备份恢复工具对自建MongoDB或云上MongoDB数据库进行手动备份。 通过mongoexport工具备份 集群 副本集 单节点 您可以通过MongoDB客户端自带的备份恢复工具对自建MongoDB或云上MongoDB数据库进行手动备份。 下载备份文件 使用OBS Browser+下载 集群 副本集 单节点 备份文件大于400MB时,适合使用OBS Browser+下载。 使用浏览器直接下载 副本集 单节点 适合通过浏览器直接下载备份文件。 按地址下载 集群 副本集 单节点 适用于通过浏览器新窗口、迅雷或者wget等方式下载备份文件。 DDS详细的恢复方案请参见恢复方案。
  • 备份原理 集群实例 集群实例由dds mongos(路由)、Config(配置)和Shard(分片)组件构成。其中,Config主要用于存储集群实例的配置信息,Shard节点主要用于存储集群实例的数据信息。所以集群实例在备份时,需要分别备份Config节点和Shard节点上的数据,且Config节点和Shard节点是分开进行备份的。如图1所示,集群实例的备份是由Config节点和Shard节点分别在各自的Hidden节点上进行,备份过程会占用Hidden节点一定的CPU内存资源。因此,在备份期间,实例的Hidden节点的CPU使用率、内存使用率、主备延时指标会有一点升高,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图1 集群备份原理图 副本集实例 如图2所示,副本集实例的备份在Hidden节点上进行。备份过程会占用Hidden节点一定的CPU内存资源。因此,在备份期间,实例的Hidden节点的CPU使用率、内存使用率、主备延时指标会有一点升高,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图2 副本集备份原理图 单节点实例 单节点的备份是在仅有的一个节点上进行的,最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 单节点的备份基于mongodump实现,备份过程中会额外占用节点的CPU、内存等资源,资源不足时会出现备份失败的情况。建议迁移到副本集实例进行备份。 图3 单节点备份原理图
  • 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
共100000条