云服务器内容精选

  • 操作场景 共享流量包支持查询共享流量包使用量和配置剩余使用量预警功能。当共享流量包剩余使用量达到配置的预警阈值时,系统将会给您发送华为云站内消息以及短信、邮件提醒。 华为云站内消息类别为“财务消息”中的“账户余额预警”。 共享流量包的剩余使用量预警功能可以帮助您在剩余流量达到设置的预警阈值时收到通知,及时按照需求购买共享流量包,避免因共享流量包使用完产生较高的流量费。例如,您购买的共享流量包的规格为10GB,设置的剩余使用量阈值为10%,则当您的共享流量包中剩余的流量为1GB时,系统会给您发送短信、邮件提醒。
  • 共享带宽的使用限制 共享带宽只能加入按需计费的EIP。 共享带宽支持按带宽计费、增强型95计费。按带宽计费5Mbit/s起售,增强型95计费300Mbit/s起售。 通用可用区的共享带宽不支持添加边缘可用区的EIP,边缘可用区的共享带宽也不支持添加通用可用区的EIP。 关于边缘可用区和普通可用区的区别请参考《智能边缘小站用户指南》。 包年/包月共享带宽到期释放,EIP会被移出共享带宽并按照加入共享带宽之前的模式计费。 当共享带宽的计费方式选择“按增强型95计费”,保底百分比为20%,不支持修改。 共享带宽不支持跨账号使用。 独享带宽与共享带宽不支持直接互相转换,但针对按需计费的弹性公网IP,您可以购买一个共享带宽,进行如下操作: 将弹性公网IP添加到共享带宽,则弹性公网IP使用共享带宽。 将弹性公网IP移出共享带宽,则弹性公网IP使用独享带宽。 工单提交请参见提交工单。
  • XGPU服务使用示例 影响XGPU服务的环境变量如下表所示,您可以在创建容器时指定环境变量的值。容器引擎可以通过XGPU服务获得算力和显存。 表1 影响XGPU服务的环境变量 环境变量名称 取值类型 说明 示例 GPU_IDX Integer 指定容器可使用的GPU显卡。 为容器分第一张显卡: GPU_IDX=0 GPU_CONTAINER_MEM Integer 设置容器内可使用的显存大小,单位 MiB。 为容器分配的显存大小为5120MiB: GPU_CONTAINER_MEM=5120 GPU_CONTAINER_QUOTA_PERCENT Integer 指定显卡算力分配百分比。 算力支持最小1%粒度的划分,推荐最小算力不低于4%。 为容器分配50%的算力比例: GPU_CONTAINER_QUOTA_PERCEN=50 GPU_POLICY Integer 指定GPU使用的算力隔离的策略。 0:不隔离算力,即原生调度。 1:固定算力调度。 2:平均调度。 3:抢占调度。 4:权重抢占调度。 5:混合调度。 6:权重弱调度。 算力隔离策略示例详见XGPU算力调度示例。 设置算力隔离策略为固定算力调度:GPU_POLICY=1 GPU_CONTAINER_PRIORITY Integer 指定容器的优先级。 0:低优先级 1:高优先级 创建高优先级容器: GPU_CONTAINER_PRIORITY=1 以nvidia的docker创建两个容器为例,介绍XGPU服务的使用方法,数据规划如下。 表2 数据规划 参数 容器1 容器2 说明 GPU_IDX 0 0 指定两个容器使用第一张显卡。 GPU_CONTAINER_QUOTA_PERCENT 50 30 为容器1分配50%算力,为容器2分配30%算力。 GPU_CONTAINER_MEM 5120 1024 为容器1分配5120MiB显存,为容器2分配1024MiB显存。 GPU_POLICY 1 1 设置第一张显卡使用固定算力调度策略。 GPU_CONTAINER_PRIORITY 1 0 指定容器1为高优先级容器,容器2为低优先级容器。 配置示例: docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=50 -e GPU_CONTAINER_MEM=5120 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=1 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=30 -e GPU_CONTAINER_MEM=1024 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=0 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash
  • 约束限制 XGPU功能仅在Nvidia Tesla T4、V100上支持。 HCE内核版本为5.10及以上版本。 GPU实例已安装535.54.03版本的NVIDIA驱动。 GPU实例已安装18.09.0-300或更高版本的docker。 受GPU虚拟化技术的限制,容器内应用程序初始化时,通过nvidia-smi监测工具监测到的实时算力可能超过容器可用的算力上限。 当CUDA应用程序创建时,会在GPU卡上申请一小部分UVM显存(在Nvidia Tesla T4上大约为3 MiB),这部分显存属于管理开销,不受XGPU服务管控。 暂不支持同时在裸机环境以及该环境直通卡的虚拟机中同时使用。 XGPU服务的隔离功能不支持以UVM的方式申请显存,即调用CUDA API cudaMallocManaged(),更多信息,请参见NVIDIA官方文档。请使用其他方式申请显存,例如调用cudaMalloc()等。 XGPU允许用户动态禁用UVM的方式申请显存,禁用方法参考uvm_disable接口说明。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 tags Array of Tag objects tag标签的列表 表5 Tag 参数 参数类型 描述 key String 标签的键。 最大长度128个字符。 key不能为空。 values Array of strings 值列表。每个值最大长度255个字符,如果values为空列表,则表示匹配任意值value。value之间为或的关系。
  • 操作步骤 进入购买共享流量包页面。 按照提示配置参数。 表1 参数说明 参数 说明 取值样例 区域 不同的区域之间的资源包不互通,每个区域需要分别购买,请根据您的实际需求谨慎选择。 具体可以参考如下示例: 如果您当前需要购买共享流量包抵扣区域A中的EIP带宽产生的流量资费,那么您必须购买区域A的共享流量包。如果购买其他区域(例如区域B)的流量包,就不能抵扣区域A中的EIP带宽产生的流量资费。 华东-上海一 类型 根据弹性公网IP的带宽类型进行设置。 动态BGP:支持类型为动态BGP的按需计费(按流量计费)带宽。 静态BGP:支持类型为静态BGP的按需计费(按流量计费)带宽。 静态BGP 套餐有效期 套餐时长。请根据您的需要选择合适的套餐时长,流量包不支持退订,流量包购买成功后即刻生效,超过有效期后未用完的流量将无法使用。 一个月 规格 共享流量包的大小,单位GB。 10GB 购买时长 套餐时长。 Default 单击“立即购买”。 在产品配置信息确认页面,再次核对共享流量包信息,单击“去支付”。 进入订单支付页面,确认订单信息,单击“确认”。
  • 共享过程 用户A作为共享镜像提供者,用户B作为共享镜像接受者时,用户A将私有镜像共享给用户B的具体流程如下: 用户B提供自己的项目ID或者账号ID或者组织URN给用户A。 项目ID和账号ID获取请参考项目ID和账号ID,组织URN获取请参考查看组织详细信息。 用户A共享指定的镜像给用户B。 用户B确认接受用户A的共享镜像。 用户B可以使用用户A共享的镜像,完成创建云服务器等操作。 如果基于账号ID或者组织共享镜像,则用户B无需接受即可使用。
  • 约束与限制 用户只能共享自己没有发布为市场镜像的私有镜像,已经发布为市场镜像的不能共享。 镜像支持共享到同一区域内的其他租户。如果您需要共享到不同区域,请先复制镜像到目标区域后再共享。 系统盘镜像和数据盘镜像最多可以共享给128个租户或者项目或者组织,整机镜像最多可以共享给10个租户或者项目或者组织。 基于账号ID或者组织共享镜像目前仅在部分区域支持,具体请以控制台显示为准。 只有通过云备份,或云服务器(未通过旧版 CS BS服务生成备份)创建的整机镜像,才支持共享。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 members Array of Member objects 添加备份共享成员响应信息 count Integer 备份共享成员数量 表5 Member 参数 参数类型 描述 status String 共享状态 pending: 等待处理 accepted: 已接收 rejected: 已拒绝 created_at String 共享时间,例如:"2020-02-05T10:38:34.209782" updated_at String 更新时间,例如:"2020-02-05T10:38:34.209782" backup_id String 备份副本id image_id String 接受的共享备份副本注册的镜像id dest_project_id String 接受备份共享的项目id vault_id String 目标端接受共享备份的存储库id id String 共享记录id
  • 响应示例 状态码: 200 OK { "members" : [ { "status" : "pending", "backup_id" : "0b07081e-3ec7-4e77-8571-54e2947da422", "dest_project_id" : "075e6035d300d48c2fd0c00b78b71ebf", "created_at" : "2020-02-05T10:38:34.210+00:00", "id" : "3c5a3015-c3a0-4dc6-a1e2-917b90f62319" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 members 否 Array of strings 列表,待添加备份共享成员的project_id。 domains 否 Array of strings 列表,待添加备份共享成员的doamin_id。
  • 接口约束 您必须是桶拥有者或拥有设置桶的CORS配置的权限,才能设置桶的CORS配置。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketCORS权限,如果使用桶策略则需授予PutBucketCORS权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
  • 功能介绍 跨域资源共享(Cross Origin Resource Sharing,CORS)是由W3C标准化组织提出的一种网络浏览器的规范机制,定义了一个域中加载的客户端Web应用程序与另一个域中的资源交互的方式。而在通常的网页请求中,由于同源安全策略(Same Origin Policy,SOP)的存在,不同域之间的网站脚本和内容是无法进行交互的。OBS支持CORS规范,允许跨域请求访问OBS中的资源。 您可以通过ObsClient.setBucketCors设置桶的跨域规则,如果原规则存在则覆盖原规则。
  • 跨域资源共享简介 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 跨域是指不同 域名 之间相互访问。跨域访问是浏览器出于安全考虑而设置的一个限制,即同源策略。 由于JavaScript同源策略的限制,A域名下的JavaScript无法操作B域名或C域名下的对象。 同协议、同域名(或IP)、以及同端口视为同一个域。两个页面的协议、域名和端口(如果指定了端口)相同,则视为同源。 跨域资源共享(CORS)允许Web端的应用程序访问不属于本域的资源。OBS提供接口方便开发者控制跨域访问的权限。 更多关于跨域资源共享的内容请参考跨域资源访问。 父主题: 跨域资源共享
  • 设置跨域规则 您可以通过setBucketCORS设置桶的跨域规则,如果原规则存在则覆盖原规则。以下代码展示了如何设置跨域规则: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 设置桶的跨域资源共享 OBSSetBucketCORSRequest *request = [[OBSSetBucketCORSRequest alloc] initWithBucketName:@"bucketname"]; OBSCORSRule* rule = [OBSCORSRule new]; // 指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD) rule.allowedMethodList = @[OBSCORSHTTPGET,OBSCORSHTTPPUT,OBSCORSHTTPPOST,OBSCORSHTTPHEAD]; // 指定允许跨域请求的来源 rule.allowedOriginList = @[@"www.example1.com",@"www.example2.com"]; // 允许的header rule.allowedHeaderList = @[@"allowedheader1",@"allowedheader2"]; // 指定允许用户从应用程序中访问的header rule.exposeHeaderList = @[@"exposeheader_1",@"exposeheader_2"]; // 指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间,单位为秒 rule.maxAgeSeconds = [NSNumber numberWithInt:100]; [request.bucketCORSRuleList addObject:rule]; [client setBucketCORS:request completionHandler:^(OBSSetBucketCORSResponse *response, NSError *error) { NSLog(@"%@",response); }]; 父主题: 跨域资源共享