前言

(二)建立虚拟网络环境,以及域控和DNS服务器

  1.  

    1搭建虚拟网络环境

在Azure上创建虚拟网络。本例选择的是东南亚数据中心。后面在创建虚机的时候,也选择这个数据中心。

VNet Name:     waplab@sea2016

IP Address count :     128,

IP Range :         10.0.0.0 – 10.0.0.127

* sea : South East Asia, 东南亚数据中心

并创建4个子网

  1. CTRL 子网: 32 个IP,IP范围 10.0.0.0 – 10.0.0.31, 用于域控、DNS、SQL server等核心服务器。其中用于DNS的服务器,在后面创建的时候,需要指定其静态IP地址,本例中为10.0.0.8.
  2. WAP子网:32个IP, IP范围 10.0.0.32 – 10.0.0.63, 用于Windows Azure Pack的服务器群集安装。虽然在本例中,因为使用了Standalone模式,只需要一台服务器, 但是正式的Windows Azure Pack 是由多个不同的服务组成,且每个服务都需要考虑高可用性冗余,所以需要的机器远不止一台。具体请参考MSDN上WAP的安装
  3. WAP Site子网,32个IP, IP范围 10.0.0.64 – 10.0.0.95,用于Website Service的服务器群集安装。 在不考虑高可用性的时候, Website Service的6个Role, 每个Role至少一台。Web Worker Role每个Mode各准备1台,即需要另3台。
  4. Reserved子网,32个IP。暂时未使用。

虚拟网络建好后, 再添加自定义的DNS服务器地址, 即10.0.0.8。后文中会具体说明该DNS服务器的安装和配置。

关于域名解析: Azure defaults to using its own name resolution service. The default name resolution in Azure works well if you only need name resolution between virtual machines within the same cloud service

 

Azure-provided name resolution

Along with resolution of public DNS names, Azure provides internal name resolution for VMs and role instances that reside within the same virtual network or cloud service. VMs/instances in a cloud service share the same DNS suffix (so the hostname alone is sufficient) but in classic virtual networks different cloud services have different DNS suffixes so the FQDN is needed to resolve names between different cloud services. In ARM-based virtual networks, the DNS suffix is consistent across the virtual network (so the FQDN is not needed) and DNS names can be assigned to both NICs and VMs. Although Azure-provided name resolution does not require any configuration, it is not the appropriate choice for all deployment scenarios, as seen on the table above

Reference from:

https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-name-resolution-for-vms-and-role-instances/#azure-provided-name-resolution

 

2搭建域控、ad及DNS服务器

准备一台虚机来作为域控服务器;节省起见,同时也作为DNS服务器, 采用的配置如下

A2: 2 Core 4GB Memory

使用如下Powershell脚本

#install DomainControl and DNS

 

$imgName="a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20160126-en.us-127GB.vhd"

$vnetName="waplab@sea2016"
# @SouthEast Asia

$wapLabSubNet="ctrl"
#{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"

 

$vmDCName
=
"waplabDC"

 

 

$affGroupObj
=
Get-AzureAffinityGroup
-Name
$affinityGroupName
-ErrorAction
Ignore

 

if(!$affGroupObj)

{

New-AzureAffinityGroup
-Name
$affinityGroupName
-Location
$location

}

 

# DC

$vmDC
=
New-AzureVMConfig
-Name
$vmDCName
-InstanceSize
$sizeMedium
-ImageName
$imgName

$vmDC
|
Add-AzureProvisioningConfig
–§CWindows
-AdminUsername
$admin
-Password
$pwd

$vmDC
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmDC
|
Set-AzureStaticVNetIP
-IPAddress
"10.0.0.8"
# 指定静态IP"10.0.0.8"

$vmDC
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

由于该服务器同时还作为DNS服务器, 需要固定的IP(内网IP即可),所以在Provision(供给)的时候,需要指定其静态IP。如果供给的时候没有指定,也可以通过Update-AzureVM命令来更新。

虽然指定了静态IP,但是从虚机的网络配置中(网卡->属性->IP v4),看到的还是动态分配IP;同时也DNS服务器也不是指定的。这说明IP和DNS服务器都是Azure的虚拟网络来设定的。

如果前面提到的虚拟网络中的DNS服务器是在虚机创建后面才配置的,那么虚机需要重启才能应用该DNS服务。

关于如何获得镜像的名称, 请参考我的另一篇随笔

在Azure上的VM镜像库中找到想要的镜像

 

3配置域控与DNS服务

 

现在服务器角色,即AD Domain Service 和 DNS服务

 

(此图不对,重新截图)

设置根域名为     waplab.com

NetBios :     waplab

域控的具体安装过程, 可以参考文章http://social.technet.microsoft.com/wiki/contents/articles/12370.windows-server-2012-set-up-your-first-domain-controller-step-by-step.aspx

 

安装完成后, 打开DNS的Console

可以看到默认已有的waplab的正向解析。

尝试Ping

指向域控当前的服务器

 

4添加域账号和组织单元(OU)

域控安装完成后, 当前使用的vmadmin已经变成了域账户,即waplab\vmadmin。为了管理方便,可以再添加一个域管理员账户, 比如waplab\domainadmin.

为了方便后面使用组织策略, 可以添加一个组织单元(OU),并且在后面创建虚机的时候, 将加域的虚机都放入到这个OU中

Create OU: AzureVMs

后面的服务器都需要加入到域中。可以在创建的时候, 使用Add-AzureProvisioningConfig 命令来指定加域的相关信息。详见后面章节。

5配置DNS解析

创建DNS服务器,并且添加如下的域名解析(A记录)

Host name 

Record type

IP Address for 

* 

C Name

Front End Server(s) 

*.scm 

C Name

Front End Server(s) 

ftp 

C Name

Publishing Server(s) 

publish 

C Name

Publishing Server(s) 

在公有云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(三)

    (三) 搭建Windows Azure Pack环境 1安装SQL SERVER 2012 服务器 为简单起见,本例直接使用了Azure提供的具有SQLServer的Win2012 Server镜像来 ...

  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. 用WebRequest +HtmlAgilityPack 从外网抓取数据到本地

    相信大家对于WebRequest 并不陌生,我们在C#中发请求的方式,就是创建一个WebRequest .那么如果我们想发一个请求到外网,比如国内上不了的一些网站,那么该怎么做呢? 其实WebRequ ...

  2. javascript之闭包理解以及应用场景

    半个月没写博文了,最近一直在弄小程序,感觉也没啥好写的. 之前读了js权威指南,也写了篇博文,但是实话实说当初看闭包确实还是一头雾水.现在时隔一个多月(当然这一段时间还是一直有在看闭包的相关知识)理解 ...

  3. MFC中成员变量的声明顺序与析构顺序

    第一次用博客,第一篇随笔,就写今天遇到的一个问题吧. 在VS2008的MFC对话框程序,窗口成员变量的声明顺序与其析构顺序相反,即,先声明的变量后析构,后声明的变量先析构.未在其他模式下测试. cla ...

  4. Git使用详细教程(二)

    分支 其实在项目clone下来后就有一个分支,叫做master分支.新建分支的步骤:右键项目→Git→Repository...→Branches... master分支应该是最稳定的,开发的时候,建 ...

  5. css实现文本框和下拉框结合的案例

    html 代码部分 <div id="list-name-input" class="list-name-input"> <select ty ...

  6. 解决开启服务器防火墙导致ftp不能连接的问题

    在防火墙设置的"高级"选项卡中的"网络连接设置"--"本地连接"--"设置"中添加了"FTP服务器" ...

  7. 绿色版的Linux.NET——“Jws.Mono”(续)

    在前一篇文章中,我们简略的介绍了jws.mono的安装使用,以及我们如何自己动手做一个jws.mono出来. 在文章发表之后的几天里,我一直觉得有点不妥之处,直到后来猛然的意识到:我们自己动手做的jw ...

  8. 《高性能javascript》一书要点和延伸(上)

    前些天收到了HTML5中国送来的<高性能javascript>一书,便打算将其做为假期消遣,顺便也写篇文章记录下书中一些要点. 个人觉得本书很值得中低级别的前端朋友阅读,会有很多意想不到的 ...

  9. TDD原则

    TDD 介绍 测试驱动开发,或者叫 TDD,是一个敏捷方法,通过确保在代码是先前手动编写测试用 例,用测试来驱动开发,从而翻转开发生命周期(它不只是作为一种校验工具). TDD 的原则很简单的: 只有 ...

  10. 新应用上线 Snippet

    Snippet 是一款代码片段收集工具,经过一天三夜的开发终于上线了. 应用地址:snippets.barretlee.com 源码地址:barretlee/snippets 由于使用原生 JS 开发 ...