使用Azure资源管理器模板部署MySQL PaaS
本文介绍如何通过Azure资源管理器模板(ARM Template)快速部署MySQL PaaS以及其它热门应用。
了解Azure资源管理器模板
资源管理器模板是一个JavaScript对象表示法(JSON)文件,用于定义一个或多个要部署到资源组的资源。它也会定义所部署资源之间的依赖关系。使用模板能够以一致方式反复部署资源。有关资源管理器和资源管理器模板的更多信息,请参阅《Azure资源管理器概述》。
利用资源管理器模板部署MySQL PaaS
本节介绍如何将PowerShell与ARM Template配合使用,实现MySQL PaaS在Azure上的部署。你的模板可以是本地文件或是可通过URI访问的外部文件。如果模板驻留在存储帐户中,你可以限制对该模板的访问,并在部署过程中提供共享访问签名(SAS)令牌。
若要快速开始进行部署,请使用以下PowerShell命令(以Azure PowerShell 1.0.0+版本为例):
New-AzureRmResourceGroup -Name ExampleResourceGroup -Location "chinaeast"
New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateFile c:\MyTemplates\example.json
这些命令会创建一个资源组,并将模板部署到该资源组。模板文件是本地文件。如果此操作成功,则你会获得所需的全部部署资源。
以下内容为一个相对完整的资源管理器模板,采用JSON文件格式。你可以修改此模板,以符合具体需要。
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mysqlServerName": {
"type": "string",
"metadata": {
"description": "MySql 服务器的名字. 最大长度为64个字母数字字符. 请通过 @mysqlServerName.mysqldb.chinacloudapi.cn访问MySql数据库. 管理配置MySql数据库请访问 https://manage.windowsazure.cn"
}
},
"mysqlServerSku": {
"type": "string",
"defaultValue": "MS2",
"allowedValues": [
"MS1", "MS2", "MS3", "MS4", "MS5", "MS6"
],
"metadata": {
"description": "MySql 服务器的性能版本,价格详情请访问 https://www.azure.cn/pricing/details/mysql-database-on-azure/"
}
},
"mysqlServerVersion": {
"type": "string",
"allowedValues": [
"5.6", "5.7", "5.5"
],
"defaultValue": "5.6",
"metadata": {
"description": "MySQL服务器版本. "
}
},
"mysqlUserName": {
"type": "string",
"metadata": {
"description": "MySql 服务器登录名。登录名格式为 ‘MySQL服务器名%登录名’,长度小于16个字符。用户名和密码规范请参考: http://dev.mysql.com/doc/refman/5.6/en/user-names.html"
}
},
"mysqlPassword": {
"type": "securestring",
"metadata": {
"description": "MySql 服务器登录密码。长度必须大于8个字符,小于64个字符。用户名和密码规范请参考: http://dev.mysql.com/doc/refman/5.6/en/user-names.html"
}
},
"mysqldatabaseName": {
"type": "string",
"metadata": {
"description": "数据库名字。必须小于64个字符,其它命名规范请参考: http://dev.mysql.com/doc/refman/5.6/en/identifiers.html"
}
}
},
"resources": [
{
"type": "Microsoft.MySql/servers",
"name": "[parameters('mysqlServerName')]",
"apiVersion": "2015-09-01",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "[parameters('mysqlServerName')]"
},
"sku": { "name": "[parameters('mysqlServerSku')]" },
"properties": {
"version": "[parameters('mysqlServerVersion')]",
"AllowAzureServices": true
},
"resources": [
{
"name": "[parameters('mysqlUserName')]",
"type": "users",
"apiVersion": "2015-09-01",
"dependsOn": [
"[concat('Microsoft.MySql/servers/', parameters('mysqlServerName'))]"
],
"properties": {
"password": "[parameters('mysqlPassword')]"
}
},
{
"name": "[parameters('mysqldatabaseName')]",
"type": "databases",
"tags": {
"displayName": "[parameters('mysqldatabaseName')]"
},
"apiVersion": "2015-09-01",
"dependsOn": [
"[concat('Microsoft.MySql/servers/', parameters('mysqlServerName'))]"
],
"properties": {
"Charset": "utf8",
"Collation": "utf8_general_ci"
},
"resources": [
{
"name": "[parameters('mysqlUserName')]",
"type": "privileges",
"apiVersion": "2015-09-01",
"dependsOn": [
"[concat('Microsoft.MySql/servers/', parameters('mysqlServerName'), '/users/', parameters('mysqlUserName'))]",
"[concat('Microsoft.MySql/servers/', parameters('mysqlServerName'), '/databases/', parameters('mysqldatabaseName'))]"
],
"properties": {
"level": "ReadWrite"
}
}
]
}
]
}
]
}
发布ARM Template至Azure市场
你可以发布自定义的ARM Template至Azure镜像市场,以便最终用户能够实现各项云服务的一键部署。有关如何向Azure市场发布ARM Template的详细指南,请参阅《Azure市场发布商指南》。
Azure市场是一个镜像仓库,用于第三方ISV发布其镜像类软件,并使Azure付费用户创建新虚机实例并下载需要的第三方镜像使用。此功能可以帮助将寻求基于云的创新解决方案的公司,与开发创新解决方案的Azure ISV合作伙伴直接连接到一起。
用户在Azure市场上能更容易地寻找、获取和使用在Azure平台上构建并充分测试的应用程序,并能够确信应用程序能够受到信任并在Azure上平滑运行。
通过该市场能够为独立软件供应商带来新的业务渠道和用户,同时大幅度简化软件推广,管理和部署的难度。我们强烈建议您利用镜像来部署相关应用。只需几个点击,便可快速获得与镜像一致的系统环境或软件。您从此无需费心基础结构及环境配置,便捷地为每个业务平台创建即用型的运行环境。
Azure市场上的明星产品
服网LNMP集群 w/ MySQL PaaS-1.0
上海服网提供的LNMP依托于Azure最新ARM构架,全部集群化部署(默认双机部署)。全部虚拟机已加入高可用组,自动分配到不同的Nginx版本1.10.1,架构适用于经典Nginx前后端分离(Nginx动静分离)。
WordPress-4.6.1(Web应用 + MySQL PaaS)
WordPress是一种使用非常广泛的CMS系统。本应用是根据Azure Resource Manager模板创建的。通过该ARM模板可以快速建立web应用和MySQL数据库,部署WordPress网站源代码。网站和数据库后期的维护可以通过管理门户进行,数据安全,高可用,管理也更加便捷。
zabbix-2.2.2(Ubuntu 14.04 LTS/OpenLogic 7.2)
zabbix(http://www.zabbix.com) 是一款企业级的开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。