(三) 搭建Windows Azure Pack环境
1安装SQL SERVER 2012 服务器
为简单起见,本例直接使用了Azure提供的具有SQLServer的Win2012 Server镜像来做虚机。但是为了可以对外提供SQL相关服务,还需要做一些配置。
Power Shell VM Provisioning Script 如下
#common $vnetName="waplab@sea2016" # @SouthEast Asia
$cloudServiceName = "wapLabCloudService2016Feb" $affinityGroupName = "southeastAsiaGroup" $admin="vmadmin" $pwd = "Qwer@2016"
$sizeLarge = "Large" #Allowed values are 'ExtraSmall,Small,Medium,Large,ExtraLarge,A5,A6,A7,A8,A9 $sizeMedium = "Medium" $sizeSmall = "Small"
#domain $domainName="waplab" $domainJoin="waplab.com" $domainAdmin="vmadmin" $domainAdminPwd="[Your Password]" $domainOU="OU=AzureVMs,DC=waplab,DC=com"
$vmSqlName = "waplabSql" $sqlImageName="bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v14.2" $wapLabSubNet="ctrl" #{ctrl, wapsubnet, sitesubnet, reservedsubnet}
$affGroupObj = Get-AzureAffinityGroup -Name $affinityGroupName -ErrorAction Ignore
if(!$affGroupObj) { New-AzureAffinityGroup -Name $affinityGroupName -Location $location }
# Sql , 加入域 $vmSql = New-AzureVMConfig -Name $vmSqlName -InstanceSize $sizeMedium -ImageName $sqlImageName $vmSql | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName ` -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin ` -MachineObjectOU $domainOU $vmSql | Set-AzureSubnet -SubnetNames $wapLabSubNet $vmSql | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName
|
- 如果需要提供给公网的用户使用, 需要配置EndPoint:
在Azure的虚机列表中,打开waplabsql的Endpoint, 添加MSSQL的Endpoint,并将端口从1433(Public)映射为1433(Private),结果如下。
- 启用SQL Server的混合身份验证模式,并且重新设定sa账号的密码。
- 检查SQL configuration,启用tcp以及named pipeline
- 配置防火墙,添加Inbound Rule, 允许TCP 1433端口
完成上述配置后, 应该从公网和内网都可以使用该SQL Server了。 内网是指上面我们使用的虚拟网络。公网是指互联网上的任何机器,比如本人开发机。当然,从安全上考虑的话,应该增加IP限制或其他策略。本例中暂不考虑这些。
2安装WAP Express
本例中,重点是配置WAP 的Web Site Service服务。该服务需要WAP平台, Standalone模式的安装足够验证这个过程了。 如果读者希望了解完整的生产环境的WAP的安装, 请参考MSDN上的文章。
本例使用的是基于Azure 提供的Win2012 Server R2的镜像来做的安装。 关于如何获得Azure的VM Image,请参考附录B;
Power Shell VM Provisioning Scripts:
# Create Wap Express host
$imgName="a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20160126-en.us-127GB.vhd" $vnetName="waplab@sea2016" # @SouthEast Asia $wapLabSubNet="wapsubnet" #{ctrl, wapsubnet, sitesubnet, reservedsubnet}
$cloudServiceName = "wapLabCloudService2016Feb" $affinityGroupName = "southeastAsiaGroup" $admin="vmadmin" $pwd = "[Your Password]"
$sizeLarge = "Large" #Allowed values are 'ExtraSmall,Small,Medium,Large,ExtraLarge,A5,A6,A7,A8,A9 $sizeMedium = "Medium" $sizeSmall = "Small"
#domain $domainName="waplab" $domainJoin="waplab.com" $domainAdmin="domainadmin" $domainAdminPwd="[Your Password]" $domainOU="OU=AzureVMs,DC=waplab,DC=com" # 指定OU
$vmName = "wapexpress"
$vmWap = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName $vmWap | Set-AzureSubnet -SubnetNames $wapLabSubNet $vmWap | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName ` -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin ` -MachineObjectOU $domainOU $vmWap | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName
|
安装完成后,做一些小动作:
- 去除IE ESC
- 去除RDP限制
- 开启防火墙的ICMP,使该机可以Ping通
由于后面的虚机创建过程,与此类似, 建议将该虚机做成可复用的镜像Image。关于如何制作定制的VM Image, 请参考附录C。
下面是安装Windows Azure Pack的过程。
- 使用Windows Platform Installer 来找到Windows Azure Pack的Standalone安装程序
- 下载并开始安装
安装完成后, 将会包括上图中的列举的服务。
- 安装完成后, 打开配置站点,并配置SQL Server的连接
配置站点的端口是30101,通常访问地址为 https://localhost:30101/; 打开的时候会有证书的问题,目前忽略即可: Continue to this web site
设置Database server Setup, 使用前面我们安装的SQL Server服务的名称。
如果SQL 连接不上, 请按照2.1检查配置是否都正常。
配置完成后, 下面这些服务将可用。
- 打开管理员门户站点,使用vmadmin 账号登陆
登录后,会出现使用向导页面。
- 添加Hosting Plan
目前只有SQL Server服务可用,
配置好后, 打开刚创建好的 Plan
后面, 我们配置好Web Site Service后, 还需要回到这个页面, 在Plan Services中添加我们的Web Site Service.
- 添加一个Tenant用户 : newbee@waplab.com,并给新用户指定Plan
- 打开Tenant的门户站点, 使用newbee@waplab.com账号登陆, 可以登录成功
关于Tenant,Hosting Plan,请参考附录A中的相关概念解释