(三) 搭建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

 

 

  1. 如果需要提供给公网的用户使用, 需要配置EndPoint:

在Azure的虚机列表中,打开waplabsql的Endpoint, 添加MSSQL的Endpoint,并将端口从1433(Public)映射为1433(Private),结果如下。

 

  1. 启用SQL Server的混合身份验证模式,并且重新设定sa账号的密码。

  2. 检查SQL configuration,启用tcp以及named pipeline
  3. 配置防火墙,添加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的过程。

  1. 使用Windows Platform Installer 来找到Windows Azure Pack的Standalone安装程序

  1. 下载并开始安装

 

安装完成后, 将会包括上图中的列举的服务。

  1. 安装完成后, 打开配置站点,并配置SQL Server的连接

配置站点的端口是30101,通常访问地址为 https://localhost:30101/; 打开的时候会有证书的问题,目前忽略即可: Continue to this web site

设置Database server Setup, 使用前面我们安装的SQL Server服务的名称。

如果SQL 连接不上, 请按照2.1检查配置是否都正常。

配置完成后, 下面这些服务将可用。

  1. 打开管理员门户站点,使用vmadmin 账号登陆

登录后,会出现使用向导页面。

 

  1. 添加Hosting Plan

目前只有SQL Server服务可用,

 

配置好后, 打开刚创建好的 Plan

后面, 我们配置好Web Site Service后, 还需要回到这个页面, 在Plan Services中添加我们的Web Site Service.

 

  1. 添加一个Tenant用户 : newbee@waplab.com,并给新用户指定Plan

 

  1. 打开Tenant的门户站点, 使用newbee@waplab.com账号登陆, 可以登录成功

关于Tenant,Hosting Plan,请参考附录A中的相关概念解释

在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(三)的更多相关文章

  1. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

  2. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(四)

    (四)搭建Website Cloud环境 1安装CONTROLLER主机 在开始安装Web site Cloud之前,读者应该对该服务的拓扑结构有个大概了解. 如图: Controller是非常重要的 ...

  3. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)

    前言 (二)建立虚拟网络环境,以及域控和DNS服务器   1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...

  4. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(六)

    (六)在Website Cloud中添加site 1新建Website,并打开 使用前面创建的用户 newbee@waplab.com 登录租户Portal,新建一个website 新建完成后, 可以 ...

  5. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(五)

    (五)注册Website Cloud 1 注册Website Cloud 添加Website Cloud   连接Website Cloud 注意, endpoint 是使用Management Se ...

  6. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  7. 在Azure上部署IPv6的App通过IOS App Store审核

    随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...

  8. Azure上部署FTP服务

    FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在 ...

  9. Azure上部署Barracuda WAF集群 --- 2

    前面一篇文章讲了如何在Azure上部署Barracuda.这篇文章聊一聊如何配置Barracuda. License 向Barracuda的销售人员申请WAF的License.得到License后打开 ...

随机推荐

  1. 为IEnumerable<T>添加RemoveAll<IEnumerable<T>>扩展方法--高性能篇

    最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerab ...

  2. 每天一个设计模式-7 生成器模式(Builder)

    每天一个设计模式-7 生成器模式(Builder) 一.实际问题 在讨论工厂方法模式的时候,提到了一个导出数据的应用框架,但是并没有涉及到导出数据的具体实现,这次通过生成器模式来简单实现导出成文本,X ...

  3. Dropzone.js实现文件拖拽上传

    dropzone.js是一个开源的JavaScript库,提供 AJAX 异步文件上传功能,支持拖拽文件.支持最大文件大小.支持设置文件类型.支持预览上传结果,不依赖jQuery库. 使用Dropzo ...

  4. python select网络编程详细介绍

    刚看了反应堆模式的原理,特意复习了socket编程,本文主要介绍python的基本socket使用和select使用,主要用于了解socket通信过程 一.socket模块 socket - Low- ...

  5. CSS命名规范——BEM思想(非常赞的规范)

    人们问我最多的问题之一是在CSS类名中“--”和“__”是什么意思?它们的出现是源于BEM和Nicolas Gallagher... BEM的意思就是块(block).元素(element).修饰符( ...

  6. Mono 3.2.3 Socket功能迎来一稳定的版本

    由于兴趣自己业余时间一直在搞.net下面的通讯应用,mono的存在得以让.NET程序轻松运行在Linux之下.不过经过多尝试Socket相关功能在Mono下的表现并不理想.不管性能还是吞吐能力方面离我 ...

  7. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  8. Thinking in Unity3D:材质系统概览

    关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎 ...

  9. CSharpGL(12)用T4模板生成CSSL及其renderer代码

    CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立 ...

  10. [译]ZooKeeper recipes-引言

    ZooKeeper高级应用 本系列将指导使用ZooKeeper来实现高级功能,所有功能都在客户端完成,不需要ZooKeeper的特殊支持.希望可以得到社区的支持将这些加入到一个标准的客户端类库中(Cu ...