Azure 市场虚拟机镜像发布指南

本文定义了 Azure 市场的一些基本概念,介绍了镜像在 Azure 市场上的发布和展现过程,步骤 2 将引导服务商在 Azure 市场创建镜像,步骤 3 引导您完成镜像发布流程。

本文中的 “Azure 市场”作用范围均指中国大陆,“镜像”或“映像”表示同一含义,“产品” 或 “产品/服务” 如无特别说明均特指 VM 镜像。

镜像发布后,在Azure 市场Azure 门户上都可以看到。

1. 先决条件和准备

1.1 具有 Azure 账户,并注册成为 Azure 市场服务商。 请参考Azure 市场服务商指南

1.2 准备发布前资料和虚拟机镜像文件,请参考虚拟机镜像制作指南,请注意您必须负责产品中的软件许可,以及任何第三方的软件依赖。

1.3 像制作完成并本地测试后,需要上传到 Azure 存储账户。注意测试可以利用 Powershell 或 Azure-cli 等工具。也请参考 虚拟机镜像制作指南 中测试和上传部分。

1.4 镜像发布前,请仔细阅读 Azure 中国市场参与政策Azure 市场服务商协议,请特别注意其中的产品定价模式、产品许可和支持、以及用户数据的隐私保护等部分。

2. 创建 Azure 市场 VM 镜像

2.1 登录 Azure 市场镜像发布平台并创建 VM 产品/服务

  • 登录到Azure 镜像发布平台

  • 点击左边导航栏中的 “新的服务”->"虚拟机",然后开始镜像发布过程,如下图所示。

    publishprocess

镜像发布内容包括四部分表单: “服务设置选项”,“SKUs”,“Azure 市场”,“技术支持”,每个“表单”由一组要填写的字段组成,必填字段标有红色星号(*),每个表单填写完成后,需要点击 “保存” 防止内容丢失。

2.2 定义产品/服务、SKUs、Azure 市场 和 技术支持

产品/服务和SKU

在 Azure 市场中,每个虚拟机产品/服务对应于一类产品/服务,产品/服务是其所有 SKU 的“父级”,一个产品/服务可以包含一个或多个 SKU。 发布者可以拥有多个产品/服务并决定如何构造产品/服务。

SKU是 Azure 市场中最小的可购买单位,在同一个产品/服务中,SKU 允许您以它来区分不同特性、镜像类型、价格和计费模型的镜像。一个虚拟机镜像包含一个操作系统磁盘以及零个或多个数据磁盘,它实质上是虚拟机的完整存储配置文件。 每个磁盘都需要一个 VHD,即使空白数据磁盘也需要创建 VHD。

一个产品/服务在 Azure 市场 中展示,请仔细考虑产品/服务 ID,因为它们会被显示在 URL 中:

https://market.azure.cn/marketplace/apps/{Publisher}.{OfferIdentifier}?tab=Overview

Azure市场

Marketplace主要包含市场营销相关的内容、法律以及潜在顾客管理资产和规范。

技术支持

包含支持部门联系方式和技术支持信息。

下面会对这四部分进行详细描述。

2.3 “服务设置选项”

服务 ID

产品/服务 ID 代表了产品/服务在 Azure 市场中的唯一标识符,/服务 ID 一般是销售商计划在 Azure 市场售卖的产品或服务的名称。

产品/服务 ID 只能包含小写字母、数字、短横线或下划线,并且只能以小写字母或数字结尾,长度不超过50个字符。 此标识符将显示在产品 URL、Azure 资源管理器模板中。注意一旦产品/服务请求被提交,这个字段变不能再被修改。

选择服务商 ID

服务商 ID 下拉框允许你选择将产品/服务在哪个发布商下发布。注意一旦产品/服务请求被提交,这个字段变不能再被修改。

名称

产品/服务名称用于 Azure市场 平台的内部内别,只在发布平台内部显示,并不对外部或用户显示,不能超过25个汉字或50个字符。请尽量包含一个可识别的商标名称,产品/服务名称可以和 2.5 节中的标题相同。

选择 “保存” 来保存进度。 在下一个选项卡上,你将添加产品/服务的 SKU。

2.4 “SKUs”

在 “SKU” 选项卡中,可以创建一个或多个 SKU,不同的 SKU 可按功能集、VM 镜像类型、吞吐量或可伸缩性、计费模型或其它某种特征来区分解决方案。单击 “新建 SKU” 来创建一个 SKU。

SKU ID

SKU 需要一个 ID 用在URL中,这个 ID 在发布平台中必须是唯一的。 SKU 的名称可以包含小写字母、数字、短横线,但不能以短横线结尾,长度不超过50个字符,不支持中文。注意一旦产品/服务请求被提交,这个字段变不能再被修改。

标题

SKU 名称是 SKU 的对外显示名称,显示在Azure 市场Azure 门户,它不能超过25个汉字或50个字符。请尽量包含一个可识别的商标名称,不要包含公司名称。

概要

概要描述对客户是可见的,所以最好便于阅读,长度最多不超过100个字符或50个汉字字符。 SKU 的标题和概要描述显示在 Azure 市场 产品页的 “计划+定价” Tab 页面以及Azure 门户中的产品页,Azure 市场中的示例如下:

skutitlesummary

描述

描述字段对客户是可见的,它显示在 Azure 门户 中的产品页。描述一般包含简单的 SKU 说明信息,建议字数在 100 字以内,其在 Azure 门户内示例如下:

skudetails

隐藏此 SKU

此标志允许您设置此特定 SKU 是否在 Azure Marketplace 中以及 Azure Portal 中对客户可见,如果您只希望通过解决方案模板提供 SKU 而不是单独购买,则可能需要隐藏 SKU。

价格

有两种定价模式,免费和BYOL许可证。

对于免费模式,微软将仅收取基础设施的费用,不收取软件许可费。请参阅 虚拟机价格

对于 BYOL 模式,发布者可以管理运行在虚拟机上的软件的许可证,微软只会收取基础设施费用。在这种模式下,客户需要通过电子邮件、电话或其他联系方式从服务商那里获得许可证,服务商可以指定是否为客户提供免费试用;从部署虚拟机开始算,免费试用期为30天、90天或无试用期。

操作系统系列和操作系统类型

选择您的 VM 是基于 Windows 还是 Linux(类Linux)操作系统平台,以及基于此平台的操作系统版本。

易读的操作系统名称

填写一个操作系统名称,比如“Windows server 2016” 或 “Linux Unbutu 16”。

建议虚拟机规格

最多不超过六种,从客户的选择习惯以及 Azure 管理平台的显示等方面考虑,我们建议您选择3种虚拟机推荐配置。当用户部署虚拟机的时候,这些虚拟机配置将会在 Azure 门户中被特别显示。

开放的端口号

部署虚拟机时,将提供缺省端口以及通信协议服务,在 VM 部署期间,这些设置将会生效。发布 SKU 后,可以修改端口配置。请注意,公共端口号和私有端口号一般设置为相同即可,端口号 22TCP 是 Linux 虚拟机默认的 SSH 登陆端口,端口号 3389TCP 和 5986TCP 是 Windows 虚拟机的远程登录端口,这三个端口号不需要手动添加。

新磁盘镜像版本和 操作系统 VHD URL 地址

镜像版本需要遵循 语义版本 格式格式,版本应为 X.Y.Z 形式,其中 X,Y 和 Z 为整数,SKU 中的版本应该只是增量更改。尽管最多可为每个 SKU 添加八个版本,但 Azure 市场中只会显示 SKU 的最高版本号,其他版本只能通过 API 显示。

在发布和认证过程中,VHD 文件所在的 URI 地址必须位于 Azure blob 存储中。 如果 URI 访问权限设置错误,镜像发布过程中将会出现“镜像不存在”的错误。当 VHD 镜像发布成功后,Azure 市场将不再需要访问 VHD 文件,此时 URI 属性可以恢复原有设置,VHD 源文件也可以删除。 VHD 的制作请参考 Azure 市场虚拟机镜像制作指南

首先,如果是在 Azure 上制作 Linux/Windows 镜像,镜像制作完毕后,请首先删除 VM,浏览 Storage 并选中 VHD 文件,然后点击“Break lease” 解除租约,方可在发布时使用。

其次,通过如下两种方法设置URI地址权限。

a. 方法一:从 Azure 入口获取 VM 镜像共享访问签名(SAS) URL

VHD 文件生成 SAS URL 的比较简单方法是,在 Azure 入口中,查找 VHD 文件所在的 storage 和 blob,点击需要设置的文件,点击 “Generate SAS”,填写设置信息,然后就可以生成 SAS URL。具体请参考下图。 SASURL1

b. 方法二:从存储资源管理器获取 SAS URL

另一个生成 SAS URL 的方法,可以通过存储资源管理器生成。 首先下载安装: Azure 存储资源管理器,并请学习使用 Azure 存储资源管理器 。假设您的 VHD 文件已经存在与某个存储账号和容器中,左键点击存储帐户、容器或 Blob 并选择其中需要发布的 VHD 文件。右键选择“获取共享访问签名”,选择开始时间和过期时间,SAS URL 的权限至少为 Read,并选择“创建”,在下一个屏幕中可以复制 URL 信息。 SASURL2

当然,您也可以参考为 Azure 存储的 Blob 创建 SAS,采用PowerShell 命令行等方法生成 SAS URL。

无论何种方式,请注意,为 VHD 生成共享访问签名 URL 时,如下的参数请注意:

  • “读取”权限已足够使用。 请不要提供“写入”或“删除”等访问权限。
  • 访问的持续时间应至少是三 (3) 周,从创建共享访问签名 URI 时算起,以确保发布期间对数据有访问权限。为了保证 UTC 时间,请选择当前日期的前一天。 例如,如果当前时间是 2014 年 10 月 6 日,则选择 10/5/2014。
  • 设置完毕后,请在浏览器中输入 SAS URL 并回车,测试是否可以下载 VHD 文件。

2.5 “Azure 市场”

Azure 市场主要包含市场营销相关的内容、法律以及潜在顾客管理资产和规范,本部分的内容主要在 Azure 市场 下显示。

  • 市场营销资产包括产品/服务名称、说明和 Logo 等。
  • 法律资产包括隐私政策、使用条款和其它法律文档等。
  • 潜在顾客管理政策允许你指定如何处理来自 Azure 市场最终潜在用户的信息。

标题

标题产品/服务对外显示的正式名称,显示在Azure 市场,它不能超过25个汉字或50个字符。请尽量包含一个可识别的商标名称,例如: “XXX 云平台防火墙 2018”。

概要

概要对客户是可见的,所以最好便于阅读,长度最多不超过50个汉字或100个非汉字字符。

描述

详细描述对客户是可见的,它显示在镜像的产品页。详细描述一般包含产品介绍、使用说明和技术详情等内容,是产品的主要展示部分,因此请注意整体布局,并注意以下几点:

  • 产品介绍,一般包含产品概述、功能特点、技术架构以及应用场景等。
  • 使用说明,一般包含产品部署说明、登录说明、使用方法等。
  • 技术详情,一般包括软件安装位置、系统启停、日志管理、系统维护等注意事项。
  • 使用说明和技术详情等内容,也可以写成产品手册,加入到“相关链接”之中。
  • 详细描述中不能插入图片,图片插入功能请参考 “图片” 模块。
  • 详细描述最大长度为3000字符或1500个汉字,但建议字数在500字以上。

详细描述可以添加 HTML 标签(您也可以使用纯文本,但显示会比较乱),但是仅支持基本的 HTML 标签包含 p, em, ul, li, ol, strong, b 等标签,您可以选择一些富文本编辑器进行编辑。这里推荐两款简单的富文本编辑器 HtmlCleanersimditor,您可以在里面使用一些简单的 HTML 标签。

  • 编辑器 HtmlCleaner,如图所示,请在 “Visual Editor” 编辑文本,点击 “HTML Editor” 的 “Copy to clipboard”即可拷贝 HTML 源代码。 htmlcleaner

  • 编辑器 simditor,如图所示,文本编辑完毕后,用鼠标选择文本并点击右键。点击 “查看选中部分源代码”可以直接拷贝源代码;或者点击 “查看元素”(或F12),右键选择文本块所在的 DIV 标签,点击 “复制”->“内部html”也可以完成拷贝。请注意源代码里面不能包含复杂的 HTML 标签如 DIV 或 CSS 等。 simditor

相关链接

可以增加一些有用的链接,比如使用指南之类的,最多不超过五个。这些链接会在镜像的使用说明后面显示。

选择类别

从类别列表中选择和镜像相关的最多3个类别,所选类别将用于将您的产品/服务对应到 Azure 市场Azure 管理平台的产品类别中。

上传到云合作伙伴门户中的所有 Logo 都应遵循以下准则:

  • Azure 设计具有简单的调色板,保持 Logo 上的主要和辅助颜色数较低。
  • Azure 门户的主题颜色为白色和黑色, 因此,应避免将这些颜色用作 Logo 的背景色,使用一些可使 Logo 在 Azure 门户中突出显示的颜色。 建议使用简单的主颜色,如果使用的是透明背景,请确保 Logo/文本不使用白色、黑色或蓝色。
  • 不要在 Logo 上使用渐变背景。
  • 避免在 Logo 上放置文本,即使是公司或品牌名称也不可以。 Logo 的外观应“平整”,并且应避免渐变。
  • 不要拉伸 Logo。
  • Logo 必须符合像素(小40x40, 中90x90, 大115x115, 宽255x115, 海报815x290)。

海报主要用于 Azure 门户中的 “Hero”显示,如果此镜像运营效果非常好,Auzre 市场可以将此 Logo 显示在 Azure 门户的显眼的位置用于宣传。 海报是可选的,但是,一旦上传海报,就无法将其删除。 海报应遵循以下准则:

  • 海报不允许使用黑色、白色和透明背景。
  • 请避免在海报的背景中使用任何浅色。 发布者显示名称、计划标题和套餐详细摘要将以白色字体显示,因此必须与背景色之间有一定的反差。
  • 设计海报时请避免使用大量的文本。发布者名称、计划标题、概要和“创建”按钮以编程方式嵌入在海报内。
  • 在海报的右侧包含一个不使用的矩形,其大小为 415x100 像素,与左侧相距 370 像素,如下图所示。

    speciallogo

上传屏幕截图

第一张'封面'图片会在 Azure 门户和 Azure 市场的镜像详细页上显示,其它的‘更多图片’只会出现在 Azure 市场的镜像详细页上,最多不超过五张。对于图片的规范,请参阅上一节上传 Logo,并且图片必须符合像素要求(533x324)。

销售商机管理

如果你想收集用户信息,进行销售商机管理,你需要提供 Azure 存储连接字符串,系统会将用户数据存入您的存储表中。具体请参考Azure 市场销售商机

填写隐私声明

我们建议隐私声明的 url 地址放到服务商公司的网站上。

填写最终用户协议

我们建议最终用户协议的 url 地址放到服务商公司的网站上。

选择是否是开源软件

请注意并不是所有的免费软件都是开源软件。

上传产品认证书

产品认证文件不是必选项,但是如果上传产品认证书,可以加快审批速度。

Marketplace 主要信息示例

marketplaceinfo

2.6 “技术支持”

请注意此处是服务的技术和客服支持信息,会显示在产品/服务详细页面。服务商在注册 Azure 市场账户的时候填写的联系信息不会显示在产品/服务详细页面。

填写技术支持信息

请留下技术支持的联系方式,请尽量填写选择公司的联系方式,不要填写个人联系方式,防止因为个人变动导致联系方式失效。

填写客服支持信息

请留下客服支持的联系方式,请尽量填写选择公司的联系方式,不要填写个人联系方式,防止因为个人变动导致联系方式失效。

填写完毕后,请选择“保存”来保存进度。

2.7 Global Azure 的镜像在 Azure 中国市场的发布问题

Global Azure 市场中的镜像描述一般基于英文,我们建议在 Azure 中国市场中发布镜像的时候,概要和描述的文字以中文为主。 另外请注意,镜像在 Global Azure 测试如果是通过的,并不能保证其在 China Azure 的测试也是通过的,只有当镜像在 China Azure 测试通过后,方能在 Azure 中国市场发布。

3. 镜像上架申请和审批

在门户中创建产品/服务后,最后一个步骤是提交产品/服务进行发布。

3.1 申请上架。

“Offer Settings”,“SKUs”,“Marketplace”,“Support”四部分“保存”后,您可以检查、编辑或升级镜像,使之更完善。

没有问题的话,请点击 Publish 向系统管理员提出上架请求,此时产品/服务的编辑、删除、发布新版本等功能将不能使用,除非系统管理员退回您的请求。

您可以点击“status”按钮来追踪您的镜像的上架状态,如下图所示。

publishstatus

3.2 预发布

申请上架后,镜像便进入预发布的审批上架流程,请您及时监控如下三个状态。正常情况下,应该在7个工作日以内完成预发布上架流程。

  • Getting approval from China cloud's marketplace administration.
  • Provisioning virtual machines on China cloud.
  • Publisher signoff. Offer is available to preview.

预发布上架通过后,您会收到通知,收到通知后,请测试预发布的镜像,您需要登录 Azure 管理平台,对镜像进行各种用例场景下的测试。如果镜像测试未通过,您可以将测试结果反馈给平台管理员寻求帮助。

3.3 正式发布

如果测试结果正常,请点击 “Go Live” 申请正式发布,正式发布上架后,镜像会显示在 Azure 中国市场Azure 门户上,您也会收到正式发布的通知。这个过程最多需要8个工作日。

正式发布后,您可以通过 PowerShell 获取已经发布的镜像信息:

  • 获取 Azure 市场所有的发布者: Get-AzureRmVMImagePublisher
  • 获取发布者发布的 Offer: Get-AzureRmVMImageOffer
  • 获取一个 Offer 所有的 SKU: Get-AzureRmVMImageSku
  • 获取 SKU 镜像的所有版本: Get-AzureRmVMImage

例如:

 Get-AzureRmVMImage -Location "china north" -PublisherName "redcore" -offer "endome" -skus "standard"

4. 编辑、升级和删除镜像

镜像发布后,您可以进入到 所有服务,查找所有已经提交或发布的镜像,编辑、更新和删除您的镜像或其中的 SKU。

  • 编辑功能。只能编辑用于展示的字段,镜像和 SKU 本身的元数据不能被修改,因此 “服务设置选项” 中的服务 ID、服务商 ID 一旦发布则不能修改,“SKUs” 中的 SKU ID、操作系统VHD URL地址、计费模型等均不能修改。

  • 删除功能。“删除”功能分两种情况。当产品/服务或 SKU 还没有发布,可以点击 “删除” 按钮删除相关内容,如果产品/服务或 SKU 已经发布,如果需要删除,则需要人工填写镜像删除申请表格申请镜像删除。请注意删除镜像 或 SKU 后,镜像或 SKU 将不能被恢复。

  • 发布新版本镜像。参考 2.4 中“新磁盘镜像版本和 操作系统 VHD URL 地址”,您可以生成一个新的 SKU 的镜像并单击“发布”,请注意版本号需要大于旧镜像的版本号。发布新版本镜像功能主要用于镜像本身的升级,所以服务ID、服务商ID、SKU ID等均不能修改,但一定要上传新的 VHD 文件(实际上新的 VHD 文件 URL 可以和现有 VHD 文件 URL 一致)。

  • 比较功能。对已发布的产品/服务进行更改时,可以利用“比较”功能来审核所做的更改。 若要使用此功能,可以在编辑过程中的任意时间点,单击产品/服务旁边的“比较”按钮进行查看。