华为云用户手册

  • 在ModelArts中如何查看OBS目录下的所有文件? 在使用Notebook或训练作业时,需要查看目录下的所有文件,您可以通过如下方式实现: 通过OBS管理控制台进行查看。 使用当前账户登录OBS管理控制台,去查找对应的OBS桶、文件夹、文件。 通过接口判断路径是否存在。在已有的Notebook实例,或者创建一个Notebook,执行如下命令,检查路径是否存在。 import moxing as mox mox.file.list_directory('obs://bucket_name', recursive=True) 如果文件较多,请您耐心等待,最终文件路径信息会在提示信息之后显示。 父主题: 一般性问题
  • “mox.run”添加增量训练参数 在完成标注数据或数据集的修改后,您可以在“mox.run”中,修改“log_dir”参数,并新增“checkpoint_path”参数。其中“log_dir”参数建议设置为一个新的目录,“checkpoint_path”参数设置为上一次训练结果输出路径,如果是OBS目录,路径填写时建议使用“obs://”开头。 如果标注数据中的标签发生了变化,在运行“mox.run”前先执行如果标签发生变化的操作。 mox.run(input_fn=input_fn, model_fn=model_fn, optimizer_fn=optimizer_fn, run_mode=flags.run_mode, inter_mode=mox.ModeKeys.EVAL if use_eval_data else None, log_dir=log_dir, batch_size=batch_size_per_device, auto_batch=False, max_number_of_steps=max_number_of_steps, log_every_n_steps=flags.log_every_n_steps, save_summary_steps=save_summary_steps, save_model_secs=save_model_secs, checkpoint_path=flags.checkpoint_url, export_model=mox.ExportKeys.TF_SERVING)
  • 如果标签发生变化 当数据集中的标签发生变化时,需要执行如下语句。此语句需在“mox.run”之前运行。 语句中的“logits”,表示根据不同网络中分类层权重的变量名,配置不同的参数。此处填写其对应的关键字。 mox.set_flag('checkpoint_exclude_patterns', 'logits') 如果使用的是MoXing内置网络,其对应的关键字需使用如下API获取。此示例将打印Resnet_v1_50的关键字,为“logits”。 import moxing.tensorflow as mox model_meta = mox.get_model_meta(mox.NetworkKeys.RESNET_V1_50) logits_pattern = model_meta.default_logits_pattern print(logits_pattern) 您也可以通过如下接口,获取MoXing支持的网络名称列表。 import moxing.tensorflow as mox print(help(mox.NetworkKeys)) 打印出来的示例如下所示: Help on class NetworkKeys in module moxing.tensorflow.nets.nets_factory: class NetworkKeys(builtins.object) | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | ALEXNET_V2 = 'alexnet_v2' | | CIFARNET = 'cifarnet' | | INCEPTION_RESNET_V2 = 'inception_resnet_v2' | | INCEPTION_V1 = 'inception_v1' | | INCEPTION_V2 = 'inception_v2' | | INCEPTION_V3 = 'inception_v3' | | INCEPTION_V4 = 'inception_v4' | | LENET = 'lenet' | | MOBILENET_V1 = 'mobilenet_v1' | | MOBILENET_V1_025 = 'mobilenet_v1_025' | | MOBILENET_V1_050 = 'mobilenet_v1_050' | | MOBILENET_V1_075 = 'mobilenet_v1_075' | | MOBILENET_V2 = 'mobilenet_v2' | | MOBILENET_V2_035 = 'mobilenet_v2_035' | | MOBILENET_V2_140 = 'mobilenet_v2_140' | | NASNET_CIFAR = 'nasnet_cifar' | | NASNET_LARGE = 'nasnet_large' | | NASNET_MOBILE = 'nasnet_mobile' | | OVERFEAT = 'overfeat' | | PNASNET_LARGE = 'pnasnet_large' | | PNASNET_MOBILE = 'pnasnet_mobile' | | PVANET = 'pvanet' | | RESNET_V1_101 = 'resnet_v1_101' | | RESNET_V1_110 = 'resnet_v1_110' | | RESNET_V1_152 = 'resnet_v1_152' | | RESNET_V1_18 = 'resnet_v1_18' | | RESNET_V1_20 = 'resnet_v1_20' | | RESNET_V1_200 = 'resnet_v1_200' | | RESNET_V1_50 = 'resnet_v1_50' | | RESNET_V1_50_8K = 'resnet_v1_50_8k' | | RESNET_V1_50_MOX = 'resnet_v1_50_mox' | | RESNET_V1_50_OCT = 'resnet_v1_50_oct' | | RESNET_V2_101 = 'resnet_v2_101' | | RESNET_V2_152 = 'resnet_v2_152' | | RESNET_V2_200 = 'resnet_v2_200' | | RESNET_V2_50 = 'resnet_v2_50' | | RESNEXT_B_101 = 'resnext_b_101' | | RESNEXT_B_50 = 'resnext_b_50' | | RESNEXT_C_101 = 'resnext_c_101' | | RESNEXT_C_50 = 'resnext_c_50' | | VGG_16 = 'vgg_16' | | VGG_16_BN = 'vgg_16_bn' | | VGG_19 = 'vgg_19' | | VGG_19_BN = 'vgg_19_bn' | | VGG_A = 'vgg_a' | | VGG_A_BN = 'vgg_a_bn' | | XCEPTION_41 = 'xception_41' | | XCEPTION_65 = 'xception_65' | | XCEPTION_71 = 'xception_71'
  • 增量训练的操作步骤 登录ModelArts管理控制台,单击左侧导航栏的自动学习。 在自动学习项目管理页面,单击对应的项目名称,进入此项目的自动学习详情页。 在数据标注页面,单击未标注页签,在此页面中,您可以单击添加图片,或者增删标签。 如果增加了图片,您需要对增加的图片进行重新标注。如果您增删标签,建议对所有的图片进行排查和重新标注。对已标注的数据, 也需要检查是否需要增加新的标签。 在图片都标注完成后,单击右上角“开始训练”,在“训练设置”中,在“增量训练版本”中选择之前已完成的训练版本,在此版本基础上进行增量训练。其他参数请根据界面提示填写。 设置完成后,单击“确定”,即进行增量训练。系统将自动跳转至“模型训练”页面,待训练完成后,您可以在此页面中查看训练详情,如“训练精度”、“评估结果”、“训练参数”等。 图1 选择增量训练版本
  • 安装文件规范 请根据依赖包的类型,在代码目录下放置对应文件: 依赖包为开源安装包时 暂时不支持直接从github的源码中安装。 在“代码目录”中创建一个命名为“pip-requirements.txt”的文件,并且在文件中写明依赖包的包名及其版本号,格式为“包名==版本号”。 例如,“代码目录”对应的OBS路径下,包含模型文件,同时还存在“pip-requirements.txt”文件。“代码目录”的结构如下所示: |---模型启动文件所在OBS文件夹 |---model.py #模型启动文件。 |---pip-requirements.txt #定义的配置文件,用于指定依赖包的包名及版本号。 “pip-requirements.txt”文件内容如下所示: alembic==0.8.6 bleach==1.4.3 click==6.6 依赖包为whl包时 如果训练后台不支持下载开源安装包或者使用用户编译的whl包时,由于系统无法自动下载并安装,因此需要在“代码目录”放置此whl包,同时创建一个命名为“pip-requirements.txt”的文件,并且在文件中指定此whl包的包名。依赖包必须为“.whl”格式的文件。 例如,“代码目录”对应的OBS路径下,包含模型文件、whl包,同时还存在“pip-requirements.txt”文件。“代码目录”的结构如下所示: |---模型启动文件所在OBS文件夹 |---model.py #模型启动文件。 |---XXX.whl #依赖包。依赖多个时,此处放置多个。 |---pip-requirements.txt #定义的配置文件,用于指定依赖包的包名。 “pip-requirements.txt”文件内容如下所示: numpy-1.15.4-cp36-cp36m-manylinux1_x86_64.whl tensorflow-1.8.0-cp36-cp36m-manylinux1_x86_64.whl
  • Notebook无法执行代码,如何处理? 当Notebook出现无法执行时,您可以根据如下几种情况判断并处理。 如果只是Cell的执行过程卡死或执行时间过长,如图1中的第2个和第3个Cell,导致第4个Cell无法执行,但整个Notebook页面还有反应,其他Cell也还可以单击,则直接单击下图中红色方框处的“interrupt the kernel”,停止所有Cell的执行,同时会保留当前Notebook中的所有变量空间。 图1 停止所有Cell 如果整个Notebook页面也已经无法使用,单击任何地方都无反应,则关闭Notebook页面,关闭ModelArts管理控制台页面。然后,重新打开管理控制台,打开之前无法使用的Notebook,此时的Notebook仍会保留无法使用之前的所有变量空间。 如果重新打开的Notebook仍然无法使用,则进入ModelArts管理控制台页面的Notebook列表页面,“停止”此无法使用的Notebook。待Notebook处于“停止”状态后,再单击“启动”,重新启动此Notebook,并打开Notebook。此时,Notebook仍会保留无法使用之前的所有变量空间。 父主题: 代码运行常见错误
  • 如何导入大文件到Notebook中? 大文件(大于100MB的文件) 针对大文件,建议使用OBS服务上传文件。使用OBS客户端,将本地文件上传至OBS桶中,然后使用ModelArts SDK从OBS下载文件至Notebook本地。 使用OBS客户端上传文件的操作指导:上传文件。 使用ModelArts SDK或Moxing接口从OBS下载文件请参见如何在Notebook中上传下载OBS文件?。 文件夹 将文件夹压缩成压缩包,上传方式与大文件相同。将文件上传至Notebook后, 可在Terminal中解压压缩包。 unzip xxx.zip #在xxx.zip压缩包所在路径直接解压 解压命令的更多使用说明可以在主流搜索引擎中查找Linux解压命令操作。 父主题: 文件上传下载
  • ModelArts与DLS服务的区别? 深度学习服务(DLS)是基于华为云强大高性能计算提供的一站式深度学习平台服务,内置大量优化的网络模型,以便捷、高效的方式帮助用户轻松使用深度学习技术,通过灵活调度按需服务化方式提供模型训练与评估。 但是,DLS服务仅提供深度学习技术,而ModelArts集成了深度学习和机器学习技术,同时ModelArts是一站式的 AI开发平台 ,从数据标注、算法开发、模型训练及部署,管理全周期的AI流程。直白点解释,ModelArts包含并支持DLS中的功能特性。当前,DLS服务已从华为云下线,深度学习技术相关的功能可以直接在ModelArts中使用,如果您是DLS服务客户,也可以将DLS的数据迁移至ModelArts中使用。 父主题: 一般性问题
  • 运行训练代码,出现dead kernel,并导致实例崩溃 在Notebook实例中运行训练代码,如果数据量太大或者训练层数太多,亦或者其他原因,导致出现“内存不够”问题,最终导致该容器实例崩溃。 出现此问题后,系统将自动重启Notebook,来修复实例崩溃的问题。此时只是解决了崩溃问题,如果重新运行训练代码仍将失败。如果您需要解决“内存不够”的问题,建议您创建一个新的Notebook,使用更高规格的资源池,比如专属资源池来运行此训练代码。已经创建成功的Notebook不支持选用更高规格的资源规格进行扩容。 父主题: 代码运行常见错误
  • upload后,数据将上传到哪里? 针对这个问题,有两种情况: 如果您创建的Notebook使用OBS存储实例时 单击“upload”后,数据将直接上传到该Notebook实例对应的OBS路径下,即创建Notebook时指定的OBS路径。 如果您创建的Notebook使用EVS存储实例时 单击“upload”后,数据将直接上传至当前实例容器中,即在“Terminal”中的“~/work”目录下。 父主题: 文件上传下载
  • 异常处理 通过OBS下载文件到Notebook中时,提示Permission denied。请依次排查: 请确保读取的OBS桶和Notebook处于同一站点区域,例如:都在华北-北京四站点。不支持跨站点访问OBS桶。具体请参见查看OBS桶与ModelArts是否在同一个区域。 请确认操作Notebook的账号有权限读取OBS桶中的数据。如没有权限,请参见在Notebook中,如何访问其他账号的OBS桶?。
  • 方法一:在Notebook中通过Moxing上传下载OBS文件 MoXing是ModelArts自研的分布式训练加速框架,构建于开源的深度学习引擎TensorFlow、PyTorch等之上,使用MoXing API可让模型代码的编写更加简单、高效。 MoXing提供了一套文件对象API,可以用来读写OBS文件。 您可以通过MoXing API文档了解其与原生API对应关系,以及详细的接口调用示例,详细说明请参见MoXing文件操作。 示例代码: import moxing as mox #下载一个OBS文件夹sub_dir_0,从OBS下载至Notebook mox.file.copy_parallel('obs://bucket_name/sub_dir_0', '/home/ma-user/work/sub_dir_0') #下载一个OBS文件obs_file.txt,从OBS下载至Notebook mox.file.copy('obs://bucket_name/obs_file.txt', '/home/ma-user/work/obs_file.txt') #上传一个OBS文件夹sub_dir_0,从Notebook上传至OBS mox.file.copy_parallel('/home/ma-user/work/sub_dir_0', 'obs://bucket_name/sub_dir_0') #上传一个OBS文件obs_file.txt,从Notebook上传至OBS mox.file.copy('/home/ma-user/work/obs_file.txt', 'obs://bucket_name/obs_file.txt')
  • 方法二:在Notebook中通过SDK上传下载OBS文件 使用ModelArts SDK接口将OBS中的文件下载到Notebook后进行操作。 示例代码:将OBS中的文件file1.txt下载到Notebook的/home/ma-user/work/路径下。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。 1 2 3 from modelarts.session import Session session = Session() session.obs.download_file(src_obs_file="obs://bucket-name/dir1/file1.txt", dst_local_dir="/home/ma-user/work/") 使用ModelArts SDK接口将OBS中的文件夹下载到Notebook后进行操作。 示例代码:将OBS中的文件夹dir1下载到Notebook的/home/ma-user/work/路径下。其中,桶名称和文件夹的名称均可以按照业务需求自定义。 from modelarts.session import Session session = Session() session.obs.download_dir(src_obs_dir="obs://bucket-name/dir1/", dst_local_dir="/home/ma-user/work/") 使用ModelArts SDK接口将Notebook中的文件上传到OBS后进行操作。 示例代码:将Notebook中的file1.txt文件上传到OBS桶路径obs://bucket-name/dir1/中。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。 1 2 3 from modelarts.session import Session session = Session() session.obs.upload_file(src_local_file='/home/ma-user/work/file1.txt', dst_obs_dir='obs://bucket-name/dir1/') 使用ModelArts SDK接口将Notebook中的文件夹上传到OBS。 示例代码:将Notebook中的文件夹“/work/”上传至“bucket-name”桶的“dir1”文件夹下,路径为“obs://bucket-name/dir1/work/”。其中,桶名称和文件夹的名称均可以按照业务需求自定义。 from modelarts.session import Session session = Session() session.obs.upload_dir(src_local_dir='/home/ma-user/work/', dst_obs_dir='obs://bucket-name/dir1/')
  • 在Terminal中安装 例如,通过terminal在“TensorFlow-1.8”的环境中使用pip安装Shapely。 打开一个Notebook实例,进入到Launcher界面。 在“Other”区域下,选择“Terminal”,新建一个terminal文件。 在代码输入栏输入以下命令,获取当前环境的kernel,并激活需要安装依赖的python环境。 cat /home/ma-user/README source /home/ma-user/anaconda3/bin/activate TensorFlow-1.8 如果需要在其他python环境里安装,请将命令中“TensorFlow-1.8”替换为其他引擎。 图1 激活环境 在代码输入栏输入以下命令安装Shapely。 pip install Shapely
  • 解决方案 使用当前账号登录OBS管理控制台,确认当前账号是否能访问OBS。 是,请执行步骤2。 否,请执行步骤3。 如能访问OBS,单击右上方登录的用户,在下拉列表中选择“我的凭证”。请根据“如何管理访问密钥”操作指导,确认当前AK/SK是否是当前账号创建的AK/SK。 是,请联系提交工单处理。 否,请根据“如何管理访问密钥”操作指导更换为当前账号的AK/SK。 请确认当前账号是否欠费。 是,请给账号充值。操作指导请参见账户充值。 否,且提示资源已过保留期,需要提工单给OBS开通资源。
  • 什么是图像分类和物体检测? 图像分类是根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。简单的说就是识别一张图中是否是某类/状态/场景,适合图中主体相对单一的场景,将下图识别为汽车的图片。 图1 图像分类 物体检测是计算机视觉中的经典问题之一,其任务是用框去标出图像中物体的位置,并给出物体的类别。通常在一张图包含多个物体的情况下,定制识别出每个物体的位置、数量、名称,适合图片中有多个主体的场景,针对下图检测出图片包含树和汽车。 图2 物体检测 父主题: 功能咨询
  • 数据集要求 文件规范:名称由以字母数字及中划线下划线组成,以'.csv'结尾,且文件不能直接放在OBS桶的根目录下,应该存放在OBS桶的文件夹内。如:“/obs-xxx/data/input.csv”。 文件内容:文件保存为“csv”文件格式,文件内容以换行符(即字符“\n”,或称为LF)分隔各行,行内容以英文逗号(即字符“,”)分隔各列。文件内容不能包含中文字符,列内容不应包含英文逗号、换行符等特殊字符,不支持引号语法,建议尽量以字母及数字字符组成。 训练数据: 训练数据列数一致,总数据量不少于100条不同数据(有一个特征取值不同,即视为不同数据)。 训练数据列内容不能有时间戳格式(如:yy-mm-dd、yyyy-mm-dd等)的数据。 如果某一列的取值只有一种,会被视为无效列。请确保标签列的取值至少有两个且无数据缺失。 标签列指的是在训练任务中被指定为训练目标的列,即最终通过该数据集训练得到模型时的输出(预测项)。 除标签列外数据集中至少还应包含两个有效特征列(列的取值至少有两个且数据缺失比例低于10%)。 训练数据的csv文件不能包含表头,否则会导致训练失败。
  • 对象存储服务 的关系 ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模型,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务产品文档》。 表1 ModelArts各环节与OBS的关系 功能 子任务 ModelArts与OBS的关系 自动学习 数据标注 ModelArts标注的数据存储在OBS中。 自动训练 训练作业结束后,其生成的模型存储在OBS中。 部署上线 ModelArts将存储在OBS中的模型部署上线为在线服务。 AI全流程开发 数据管理 数据集存储在OBS中。 数据集的标注信息存储在OBS中。 支持从OBS中导入数据。 开发环境 Notebook实例中的数据或代码文件存储在OBS中。 训练模型 训练作业使用的数据集存储在OBS中。 训练作业的运行脚本存储在OBS中。 训练作业输出的模型存储在指定的OBS中。 训练作业的过程日志存储在指定的OBS中。 AI应用管理 训练作业结束后,其生成的模型存储在OBS中,创建AI应用时,从OBS中导入已有的模型文件。 部署上线 将存储在OBS中的模型部署上线。 权限管理 - 获取访问授权(使用委托或访问密钥授权),以便ModelArts可以使用OBS存储数据、创建Notebook等操作。
  • 使用SDK如何查看旧版专属资源池列表? 可参考如下代码查看旧版专属资源池列表: from modelarts.session import Session from modelarts.estimator import Estimator algo_info = Estimator(modelarts_session=Session()).get_job_pool_list()print(algo_info) 父主题: API/SDK
  • 请求示例 初始化上传任务: GET https://{endpoint}/v1.0/{project_id}/asset/authority?http_verb=POST&content_type={type}&bucket={bucket}&object_key={objectKey} 上传段: GET https://{endpoint}/v1.0/{project_id}/asset/authority?http_verb=PUT&content_md5={md5}&part_number={num}&upload_id={id}&bucket={bucket}&object_key={objectKey} 合并段: GET https://{endpoint}/v1.0/{project_id}/asset/authority?http_verb=POST&upload_id={id}&bucket={bucket}&object_key={objectKey} 取消段: GET https://{endpoint}/v1.0/{project_id}/asset/authority?http_verb=DELETE&bucket={bucket}&object_key={objectKey}&upload_id={uploadId} 列举已上传的段: GET https://{endpoint}/v1.0/{project_id}/asset/authority?http_verb=GET&bucket={bucket}&object_key={objectKey}&upload_id={uploadId}
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 sign_str String 授权签名字符串。 示例:AWSAccessKeyId={AccessKeyID}&Expires={ExpiresValue}&Signature={Signature} 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1.0/{project_id}/asset/authority 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 http_verb 是 String 分段上传时调用OBS接口的HTTP方法,具体操作需要的HTTP方法请参考OBS的接口文档。 初始化上传任务:POST 上传段:PUT 合并段:POST 取消段:DELETE 列举已上传段:GET bucket 是 String 桶名。 调用创建媒资:上传方式接口中返回的响应体中的target字段获得的bucket值。 object_key 是 String 对象名。 调用创建媒资:上传方式接口中返回的响应体中的target字段获得的object值。 content_type 否 String 文件类型对应的content-type,当为上传任务初始化场景该字段必填。 参数填写可参考媒资分段上传(20M以上)。 视频文件:video/视频格式,如:“video/mp4” 音频文件:audio/音频格式,如:“audio/mp3” 图片文件:image/图片格式,如:“image/png” 字幕文件:application/octet-stream content_md5 否 String 上传段时每段的MD5。 upload_id 否 String 每一个上传任务的id,是OBS初始化视频分段上传任务后返回的值。除上传任务初始化场景外,该字段必填。 part_number 否 Integer 上传段时每一段的id。 取值范围:[1,10000]。
  • 功能介绍 客户端请求创建媒资时,如果媒资文件超过20MB,需采用分段的方式向OBS上传,在每次与OBS交互前,客户端需通过此接口获取到授权方可与OBS交互。 该接口可以获取初始化多段上传任务、上传段、合并段、列举已上传段、取消段合并的带有临时授权的URL,用户需要根据OBS的接口文档配置相应请求的HTTP请求方法、请求头、请求体,然后请求对应的带有临时授权的URL。 视频分段上传方式和OBS的接口文档保持一致,包括HTTP请求方法、请求头、请求体等各种入参,此接口的作用是为用户生成鉴权信息(鉴权信息即sign_str),用来替换OBS接口中对应的URL,临时给用户开通向点播服务的桶上传文件的权限。 调用获取授权接口时需要传入bucket、object_key、http_verb,其中bucket和object_key是由创建媒资:上传方式接口中返回的响应体中的target字段获得的bucket和object,http_verb需要根据指定的操作选择。
  • 什么是QingTian Enclave QingTian Enclave是基于华为云QingTian架构部分虚拟机实例的一个高级安全特性,为客户提供了一个安全的,隔离的执行环境,我们称其为QingTian Enclave。QingTian Enclave是完全独立的虚拟机,无持久化存储、交互式访问和外部网络连接。父虚拟机与QingTian Enclave之间通过安全的本地通道进行通信。即使您是父虚拟机上的root用户,也不能访问或通过 SSH 连接到QingTian Enclave。
  • 产品优势 极致的隔离和安全 QingTian Enclave是完全独立的虚拟机,无持久性存储、交互式访问和外部网络。父虚拟机与QingTian Enclave之间通过安全的本地通道完成通信。即使您是父虚拟机上的root用户,也不能访问或通过SSH连接到QingTian Enclave。 密码学证明 QingTian Enclave支持密码学证明。QingTian Enclave支持通过密码学证明过程来证明其身份并与外部服务建立信任。证明过程需要使用证明文档,它包含对QingTian Enclave运行环境的可信度量值。您可以使用这些度量值在外部服务中创建访问控制策略,以控制特定QingTian Enclave实例对指定操作的访问权限。 灵活性 您可以灵活的创建具有不同VCPU数量和内存大小的QingTian Enclave实例。QingTian Enclave是软硬结合的方案,与前端处理器类型无关,可以与任何编程语言或框架兼容。此外,由于QingTian Enclave的很多组件是开源的,客户甚至可以自行检查并验证代码。 多个QingTian Enclave支持 您还可以在父虚拟机中同时创建多个QingTian Enclave安全区域,用于完成不同的机密计算处理,相互之间完全独立、完全隔离。 运维自动化 为了防止软硬件故障,提供可靠性,我们提供自动化的热迁移支持。
  • 镜像类型 镜像类型 说明 公共镜像 常见的标准操作系统镜像,所有用户可见,包括操作系统以及预装的公共应用。公共镜像具有高度稳定性,皆为正版授权,请放心使用,您也可以根据实际需求自助配置应用环境或相关软件。 官方公共镜像支持的操作系统类型包括:Huawei Cloud EulerOS、Windows,CentOS,Debian,openSUSE,Fedora,Ubuntu,EulerOS,CoreOS。 说明: Windows操作系统为市场镜像,该服务由第三方提供。为方便用户选用,在公共镜像中提供入口。 更多关于公共镜像的介绍,请参见“公共镜像概述”。 私有镜像 包含操作系统或业务数据、预装的公共应用以及用户的私有应用的镜像,仅用户个人可见。 私有镜像包括系统盘镜像、数据盘镜像、ISO 镜像和整机镜像,其中: 系统盘镜像:包含用户运行业务所需的操作系统、应用软件的镜像。系统盘镜像可以用于创建云服务器,迁移用户业务到云。 数据盘镜像:只包含用户业务数据的镜像。数据盘镜像可以用于创建云硬盘,将用户的业务数据迁移到云上。 ISO 镜像:将外部镜像的ISO文件注册到云平台的私有镜像。ISO镜像是特殊的镜像,只能发放用作临时过渡的云服务器。 整机镜像:也叫全镜像,包含用户运行业务所需的操作系统、应用软件和业务数据的镜像。整机镜像基于差量备份制作,相比同样磁盘容量的系统盘镜像和数据盘镜像,创建效率更高。 共享镜像 由其他用户共享而来的私有镜像。 更多关于共享镜像的使用,请参见“共享镜像”。 市场镜像 提供预装操作系统、应用环境和各类软件的优质第三方镜像。无需配置,可一键部署,满足建站、应用开发、可视化管理等个性化需求。 市场镜像通常由具有丰富云服务器维护和配置经验的服务商提供,并且经过华为云云市场和服务商的严格测试和审核,可保证镜像的安全性。
  • 什么是镜像 镜像是一个包含了软件及必要配置的弹性云服务器模板,至少包含操作系统,还可以包含应用软件(例如,数据库软件)和私有软件。通过镜像,您可以创建弹性云服务器。 镜像分为公共镜像和私有镜像,公共镜像为系统默认提供的镜像,私有镜像为用户自己创建的镜像。用户可以灵活便捷的使用公共镜像或者私有镜像申请弹性云服务器。同时,用户还能通过已有的弹性云服务器创建私有镜像,这样能快速轻松地启动能满足您一切需求的新弹性云服务器。例如,如果您的应用程序是网站或Web服务,您的镜像可能会包含Web服务器、相关静态内容和动态页面代码。因此,您通过这个镜像创建弹性云服务器之后,您的Web服务器将启动。
  • E CS 控制台功能依赖的角色或策略 表4 表1 ECS控制台依赖服务的角色或策略 控制台功能 依赖服务 需配置角色/策略 云服务器主机安全功能 主机安全服务 HSS IAM用户设置了ECS FullAccess权限后,需要增加HSS ReadOnlyAccess权限后才能查看主机安全相关信息。 云服务器控制台总览 专属主机服务 DEH IAM用户设置了ECS FullAccess权限后,需要增加DeH ReadOnlyAccess权限后才能查看已有专属主机。 购买弹性云服务器实例 标签管理服务 TMS IAM用户设置了ECS FullAccess权限后,需要增加TMS ReadOnlyAccess权限后才能查看预定义标签。 云服务器监控详情查看 云监控服务 CES IAM用户设置了ECS FullAccess权限后,需要增加CES ReadOnlyAccess权限后才能查看主机监控信息。
  • ECS FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:*:*", "evs:*:get", "evs:*:list", "evs:volumes:create", "evs:volumes:delete", "evs:volumes:attach", "evs:volumes:detach", "evs:volumes:manage", "evs:volumes:update", "evs:volumes:use", "evs:volumes:uploadImage", "evs:snapshots:create", "vpc:*:get", "vpc:*:list", "vpc:networks:create", "vpc:networks:update", "vpc:subnets:update", "vpc:subnets:create", "vpc:ports:*", "vpc:routers:get", "vpc:routers:update", "vpc:securityGroups:*", "vpc:securityGroupRules:*", "vpc:floatingIps:*", "vpc:publicIps:*", "ims:images:create", "ims:images:delete", "ims:images:get", "ims:images:list", "ims:images:update", "ims:images:upload" ] } ] }
共100000条