Развертывание Microsoft Exchange
- Подготовьте облако к работе
- Создайте облачную сеть и подсети
- Создайте скрипт для управления локальной учетной записью администратора
- Создайте ВМ для Active Directory
- Создайте ВМ для File Share Witness
- Установите и настройте Active Directory
- Настройте второй контроллер домена
- Установите Microsoft Exchange
- Создайте сервера Microsoft Exchange
- Создайте Database Availability Group
- Настройте Client Access
- Настройте сетевой балансировщик нагрузки
- Настройте Accepted Domains и Email Address Policy
- Создайте ВМ для серверов Edge Transport
- Настройте серверы Edge Transport
- Добавьте серверы Edge Transport в Exchange
- Как удалить созданные ресурсы
Важно
В Yandex Cloud продукты Microsoft можно использовать только с вашими собственными лицензиями и только на выделенных хостах. Подробнее см. Использование своей лицензии для продуктов Microsoft.
В сценарии описывается развертывание серверов Microsoft Exchange в Yandex Cloud. Инсталляция Microsoft Exchange будет состоять из двух почтовых серверов, двух серверов Active Directory и двух серверов Edge Transport в зонах доступности ru-central1-a
и ru-central1-b
. Нагрузка будет распределяться по серверам с помощью сетевого балансировщика нагрузки. Управление всеми серверами будет осуществляться через отдельную ВМ с доступом в интернет в зоне доступности ru-central1-d
.
- Подготовьте облако к работе.
- Создайте облачную сеть и подсети.
- Создайте скрипт для управления локальной учетной записью администратора.
- Создайте ВМ для Active Directory.
- Создайте ВМ для File Share Witness.
- Установите и настройте Active Directory.
- Настройте второй контроллер домена.
- Установите Microsoft Exchange.
- Создайте сервера Microsoft Exchange.
- Создайте Database Availability Group.
- Настройте Client Access.
- Настройте сетевой балансировщик нагрузки.
- Настройте Accepted Domains и Email Address Policy.
- Создайте и настройте ВМ для серверов Edge Transport
- Настройте серверы Edge Transport.
- Добавьте серверы Edge Transport в Exchange.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Примечание
Проверьте, что в платежном аккаунте указаны пользовательские данные, необходимые для выполнения требований лицензионной политики Microsoft. Без этих данных вы не сможете запустить продукт.
Необходимые платные ресурсы
В стоимость инсталляции Microsoft Exchange входят:
- плата за постоянно запущенные виртуальные машины (см. тарифы Yandex Compute Cloud);
- плата за балансировку трафика (см. тарифы Yandex Network Load Balancer);
- плата за использование динамических или статических публичных IP-адресов (см. тарифы Yandex Virtual Private Cloud);
- стоимость исходящего трафика из Yandex Cloud в интернет (см. тарифы Yandex Compute Cloud).
Создайте облачную сеть и подсети
Создайте облачную сеть exchange-network
с подсетями во всех зонах доступности, где будут находиться виртуальные машины.
-
Создайте облачную сеть:
Консоль управленияCLIЧтобы создать облачную сеть:
- Откройте раздел Virtual Private Cloud в каталоге, где требуется создать облачную сеть.
- Нажмите кнопку Создать сеть.
- Задайте имя сети:
exchange-network
. - Нажмите кнопку Создать сеть.
Чтобы создать облачную сеть, выполните команду:
yc vpc network create --name exchange-network
-
Создайте три подсети в сети
exchange-network
:Консоль управленияCLIЧтобы создать подсеть:
- Откройте раздел Virtual Private Cloud в каталоге, где требуется создать подсеть.
- Нажмите на имя облачной сети.
- Нажмите кнопку Добавить подсеть.
- Заполните форму: введите имя подсети
exchange-subnet-a
, выберите зону доступностиru-central1-a
из выпадающего списка. - Введите CIDR подсети: IP-адрес и маску подсети:
10.1.0.0/16
. Подробнее про диапазоны IP-адресов в подсетях читайте в разделе Облачные сети и подсети. - Нажмите кнопку Создать подсеть.
Повторите шаги еще для двух подсетей
exchange-subnet-b
иexchange-subnet-d
в зонах доступностиru-central1-b
иru-central1-d
с CIDR10.2.0.0/16
и10.3.0.0/16
соответственно.Чтобы создать подсети, выполните команды:
yc vpc subnet create \ --name exchange-subnet-a \ --zone ru-central1-a \ --network-name exchange-network \ --range 10.1.0.0/16 yc vpc subnet create \ --name exchange-subnet-b \ --zone ru-central1-b \ --network-name exchange-network \ --range 10.2.0.0/16 yc vpc subnet create \ --name exchange-subnet-d \ --zone ru-central1-d \ --network-name exchange-network \ --range 10.3.0.0/16
Создайте скрипт для управления локальной учетной записью администратора
Создайте файл setpass
, содержащий скрипт, который будет устанавливать пароль для локальной учетной записи администратора при создании виртуальных машин через CLI:
#ps1
Get-LocalUser | Where-Object SID -like *-500 | Set-LocalUser -Password (ConvertTo-SecureString "<ваш пароль>" -AsPlainText -Force)
Пароль должен соответствовать требованиям к сложности
Подробные рекомендации по защите Active Directory читайте на сайте разработчика
Создайте ВМ для Active Directory
Создайте две виртуальных машины для Active Directory. Эти машины не будут иметь доступа в интернет.
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
ad-vm-a
. -
Выберите зону доступности
ru-central1-a
. -
В блоке Образ загрузочного диска:
- Перейдите на вкладку Пользовательский.
- Нажмите кнопку Выбрать и в открывшемся окне выберите Создать новый.
- В поле Наполнение выберите
Образ
и в списке ниже выберите образ Windows Server 2016 Datacenter. Как загрузить свой образ для продуктов Microsoft подробнее см. в разделе Импортировать нужный образ. - (Опционально) В поле Дополнительно включите опцию Удалять вместе с виртуальной машиной, если вы хотите автоматически удалять этот диск при удалении ВМ.
- Нажмите кнопку Добавить диск.
-
В блоке Диски укажите размер загрузочного диска 50 ГБ.
-
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 4.
- Гарантированная доля vCPU — 100%.
- RAM — 8 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-a
. В поле Публичный адрес выберите вариант Без адреса. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на Running
, и сбросьте пароль:
- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
Повторите шаги для ВМ с именем ad-vm-b
в зоне доступности ru-central1-b
и подключите ее к подсети exchange-subnet-b
.
yc compute instance create \
--name ad-vm-a \
--hostname ad-vm-a \
--memory 8 \
--cores 4 \
--zone ru-central1-a \
--network-interface subnet-name=exchange-subnet-a,ipv4-address=10.1.0.3 \
--create-boot-disk image-folder-id=standard-images,image-family=windows-2016-gvlk \
--metadata-from-file user-data=setpass
yc compute instance create \
--name ad-vm-b \
--hostname ad-vm-b \
--memory 8 \
--cores 4 \
--zone ru-central1-b \
--network-interface subnet-name=exchange-subnet-b,ipv4-address=10.2.0.3 \
--create-boot-disk image-folder-id=standard-images,image-family=windows-2016-gvlk \
--metadata-from-file user-data=setpass
Создайте ВМ для File Share Witness
Для настройки машин с Active Directory будет использоваться файловый сервер с выходом в интернет.
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
fsw-vm
. -
Выберите зону доступности
ru-central1-d
. -
В блоке Образ загрузочного диска:
- Перейдите на вкладку Пользовательский.
- Нажмите кнопку Выбрать и в открывшемся окне выберите Создать новый.
- В поле Наполнение выберите
Образ
и в списке ниже выберите образ Windows Server 2016 Datacenter. Как загрузить свой образ для продуктов Microsoft подробнее см. в разделе Импортировать нужный образ. - (Опционально) В поле Дополнительно включите опцию Удалять вместе с виртуальной машиной, если вы хотите автоматически удалять этот диск при удалении ВМ.
- Нажмите кнопку Добавить диск.
-
В блоке Диски укажите размер загрузочного диска 50 ГБ.
-
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 2.
- Гарантированная доля vCPU — 100%.
- RAM — 4 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-d
. В поле Публичный адрес выберите вариант Автоматически. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на Running
, и сбросьте пароль:
- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
yc compute instance create \
--name fsw-vm \
--hostname fsw-vm \
--memory 4 \
--cores 2 \
--zone ru-central1-d \
--network-interface subnet-name=exchange-subnet-d,nat-ip-version=ipv4 \
--create-boot-disk image-folder-id=standard-images,image-family=windows-2016-gvlk \
--metadata-from-file user-data=setpass
Установите и настройте Active Directory
У машин с Active Directory нет доступа в интернет, поэтому их следует настраивать через ВМ fsw-vm
с помощью RDP.
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. Используйте логинAdministrator
и ваш пароль. -
На ВМ
fsw-vm
запустите RDP и подключитесь к виртуальной машинеad-vm-a
. Используйте логинAdministrator
и ваш пароль. -
На ВМ
ad-vm-a
запустите PowerShell и задайте статический адрес:netsh interface ip set address "eth0" static 10.1.0.3 255.255.255.0 10.1.0.1
-
Создайте временную папку:
mkdir C:\Windows\temp
-
Установите роли Active Directory:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Результат:
Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Active Directory Domain Services, Group P...
-
Создайте лес Active Directory:
Install-ADDSForest -DomainName 'yantoso.net' -Force:$true
Windows перезапустится автоматически. После перезагрузки подключитесь к ВМ
ad-vm-a
, используя учетную записьyantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Переименуйте сайт по умолчанию в
ru-central1-a
:Get-ADReplicationSite 'Default-First-Site-Name' | Rename-ADObject -NewName 'ru-central1-a'
-
Создайте еще два сайта для других зон доступности:
New-ADReplicationSite 'ru-central1-b' New-ADReplicationSite 'ru-central1-d'
-
Создайте подсети и привяжите их к сайтам:
New-ADReplicationSubnet -Name '10.1.0.0/16' -Site 'ru-central1-a' New-ADReplicationSubnet -Name '10.2.0.0/16' -Site 'ru-central1-b' New-ADReplicationSubnet -Name '10.3.0.0/16' -Site 'ru-central1-d'
-
Переименуйте сайт-линк и настройте репликацию:
Get-ADReplicationSiteLink 'DEFAULTIPSITELINK' | ` Set-ADReplicationSiteLink -SitesIncluded @{Add='ru-central1-b'} -ReplicationFrequencyInMinutes 15 -PassThru | ` Set-ADObject -Replace @{options = $($_.options -bor 1)} -PassThru | ` Rename-ADObject -NewName 'ru-central1'
-
Укажите сервер переадресации DNS:
Set-DnsServerForwarder '10.1.0.2'
-
Настройте DNS-клиент:
Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses "10.2.0.3,127.0.0.1"
Настройте второй контроллер домена
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. Используйте логинAdministrator
и ваш пароль. -
На ВМ
fsw-vm
запустите RDP и подключитесь к виртуальной машинеad-vm-b
. Используйте логинAdministrator
и ваш пароль. -
Создайте временную папку:
mkdir C:\Windows\temp
-
Установите роли Active Directory:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Результат:
Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Active Directory Domain Services, Group P...
-
Настройте DNS-клиент:
Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses "10.1.0.3,127.0.0.1"
-
Настройте статический IP-адрес:
netsh interface ip set address "eth0" static 10.2.0.3 255.255.255.0 10.2.0.1
-
Добавьте контроллер в домен:
Install-ADDSDomainController ` -Credential (Get-Credential "yantoso\Administrator") ` -DomainName 'yantoso.net' ` -Force:$true
Windows перезапустится автоматически. После перезагрузки подключитесь к ВМ
ad-vm-b
, используя учетную записьyantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Укажите сервер переадресации DNS:
Set-DnsServerForwarder '10.2.0.2'
Установите Microsoft Exchange
-
Подключитесь с помощью RDP к ВМ
fsw-vm
и запустите PowerShell. -
Настройте DNS-клиент:
Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses "10.1.0.3,10.2.0.3"
-
Добавьте сервер в домен:
$Credentials = Get-Credential # yantoso\Administrator Add-Computer -DomainName yantoso.net -DomainCredential $Credentials -Force -Restart
Windows перезапустится автоматически. После перезагрузки подключитесь к ВМ
fsw-vm
, используя учетную записьyantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Создайте папку
distrib
:mkdir c:\distrib
-
Загрузите дистрибутив Exchange Server
и необходимые зависимости:- .NET Framework 4.7.2
. - Visual C++ Redistributable Package for Visual Studio 2012
. Переименуйте скачанный файл вvcredist_x64_2012.exe
. - Visual C++ Redistributable Package for Visual Studio 2013
. Переименуйте скачанный файл вvcredist_x64_2013.exe
. - Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit
.
Поместите дистрибутивы в директорию
C:\distrib
. - .NET Framework 4.7.2
-
Предоставьте общий доступ из домена к папке с дистрибутивами:
New-SmbShare -ReadAccess 'yantoso\domain users' -Path 'c:\distrib' -Name 'distrib'
Создайте сервера Microsoft Exchange
Создайте первый сервер Exchange
-
Создайте ВМ
vm-exchange-a
:Консоль управленияCLI-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
vm-exchange-a
. -
Выберите зону доступности
ru-central1-a
. -
В блоке Выбор образа/загрузочного диска на вкладке Cloud Marketplace выберите образ Windows Server 2016 Datacenter.
-
В блоке Диски укажите размер загрузочного диска 100 ГБ.
-
Добавьте еще один SSD-диск размером 250 ГБ с именем
db-a
. -
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 8.
- Гарантированная доля vCPU — 100%.
- RAM — 32 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-a
. В поле Публичный адрес выберите вариант Без адреса. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на
Running
, и сбросьте пароль:- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
yc compute instance create \ --name vm-exchange-a \ --hostname vm-exchange-a \ --memory 32 \ --cores 8 \ --zone ru-central1-a \ --network-interface subnet-name=exchange-subnet-a \ --create-boot-disk size=100,image-folder-id=standard-images,image-family=windows-2016-gvlk \ --create-disk type=network-ssd,size=250,auto-delete=false \ --metadata-from-file user-data=setpass
-
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. -
На ВМ
fsw-vm
запустите RDP и подключитесь к ВМvm-exchange-a
. Используйте логинAdministrator
и ваш пароль. Запустите PowerShell. -
Настройте DNS-клиент:
Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses "10.1.0.3"
-
Добавьте ВМ
vm-exchange-a
в домен:$Credentials = Get-Credential # yantoso\Administrator Add-Computer -DomainName yantoso.net -DomainCredential $Credentials -Force -Restart
После перезагрузки зайдите на ВМ, используя учетную запись
yantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Установите загруженные зависимости по порядку:
& \\fsw-vm\distrib\vcredist_x64_2012.exe /install /passive /norestart
& \\fsw-vm\distrib\vcredist_x64_2013.exe /install /passive /norestart
& \\fsw-vm\distrib\UcmaRuntimeSetup.exe /install /passive /norestart
& \\fsw-vm\distrib\NDP472-KB4054530-x86-x64-AllOS-ENU.exe /install /passive /norestart
-
Перезапустите VM:
Restart-Computer -Force
.После перезагрузки зайдите на ВМ, используя учетную запись
yantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Установите Exchange Mailbox Server на
vm-exchange-a
. Смонтируйте образ дистрибутива из общей папки с дистрибутивами:Mount-DiskImage \\fsw-vm\distrib\ExchangeServer2016-x64-cu13.iso
-
Запустите установку Exchange Mailbox Server:
& D:\Setup.exe /Mode:Install /InstallWindowsComponents /Role:Mailbox /IAcceptExchangeServerLicenseTerms /OrganizationName:MyOrg Restart-Computer -Force
После установки ВМ перезапустится автоматически.
Создайте второй сервер Exchange
-
Создайте ВМ
vm-exchange-b
:Консоль управленияCLI-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
vm-exchange-b
. -
Выберите зону доступности
ru-central1-b
. -
В блоке Выбор образа/загрузочного диска на вкладке Cloud Marketplace выберите образ Windows Server 2016 Datacenter.
-
В блоке Диски укажите размер загрузочного диска 100 ГБ.
-
Добавьте еще один SSD-диск размером 250 ГБ с именем
db-b
. -
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 8.
- Гарантированная доля vCPU — 100%.
- RAM — 32 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-b
. В поле Публичный адрес выберите вариант Без адреса. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на
Running
, и сбросьте пароль:- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
yc compute instance create \ --name vm-exchange-b \ --hostname vm-exchange-b \ --memory 32 \ --cores 8 \ --zone ru-central1-b \ --network-interface subnet-name=exchange-subnet-b \ --create-boot-disk size=100,image-folder-id=standard-images,image-family=windows-2016-gvlk \ --create-disk type=network-ssd,size=250,auto-delete=false \ --metadata-from-file user-data=setpass
-
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. -
На ВМ
fsw-vm
запустите RDP и подключитесь к ВМvm-exchange-b
. Используйте логинAdministrator
и ваш пароль. Запустите PowerShell. -
Настройте DNS-клиент:
Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses "10.1.0.3"
-
Добавьте ВМ
vm-exchange-a
в домен:$Credentials = Get-Credential # yantoso\Administrator Add-Computer -DomainName yantoso.net -DomainCredential $Credentials -Force -Restart
После перезагрузки зайдите на ВМ, используя учетную запись
yantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Установите загруженные зависимости по порядку:
& \\fsw-vm\distrib\vcredist_x64_2012.exe /install /passive /norestart
& \\fsw-vm\distrib\vcredist_x64_2013.exe /install /passive /norestart
& \\fsw-vm\distrib\UcmaRuntimeSetup.exe /install /passive /norestart
& \\fsw-vm\distrib\NDP472-KB4054530-x86-x64-AllOS-ENU.exe /install /passive /norestart
-
Перезапустите VM:
Restart-Computer -Force
.После перезагрузки зайдите на ВМ, используя учетную запись
yantoso\Administrator
и ваш пароль. Снова откройте PowerShell. -
Установите Exchange Mailbox Server на
vm-exchange-b
. Смонтируйте образ дистрибутива из общей папки с дистрибутивами:Mount-DiskImage \\fsw-vm\distrib\ExchangeServer2016-x64-cu13.iso
-
Запустите установку Exchange Mailbox Server:
& D:\Setup.exe /Mode:Install /InstallWindowsComponents /Role:Mailbox /IAcceptExchangeServerLicenseTerms /OrganizationName:MyOrg Restart-Computer -Force
После установки ВМ перезапустится автоматически.
Создайте Database Availability Group
Database Availability Group обеспечивает отказоусточивость почтовых серверов с помощью репликации баз данных и автоматического переключения баз при неполадках.
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. -
Дайте группе
yantoso\Exchange Trusted Subsystem
администраторские права на ВМfsw-vm
:Add-LocalGroupMember -Group 'Administrators' -Member 'yantoso\Exchange Trusted Subsystem'
Создайте диски для баз данных на виртуальных машинах
-
На ВМ
fsw-vm
запустите RDP и подключитесь к ВМvm-exchange-a
. Используйте логинyantoso\Administrator
и ваш пароль. -
Создайте дополнительный диск и отформатируйте его:
Get-Disk | ` Where-Object PartitionStyle -eq raw | ` Initialize-Disk -PartitionStyle GPT -PassThru | ` New-Partition -DriveLetter 'Z' -UseMaximumSize | ` Format-Volume -FileSystem NTFS -NewFileSystemLabel "mdb" -Confirm:$false -AllocationUnitSize 65536
-
Установите роль
Failover-Clustering
:Install-WindowsFeature -Name 'Failover-Clustering' -IncludeManagementTools
Повторите команды для виртуальной машины vm-exchange-b
.
Настройте Database Availability Group
-
На ВМ
fsw-vm
запустите RDP и подключитесь к ВМvm-exchange-a
с помощью RDP. Используйте логинyantoso\Administrator
и ваш пароль. -
Запустите Exchange Management Shell.
-
Создайте Database Availability Group:
New-DatabaseAvailabilityGroup ` -Name ycdag ` -WitnessServer fsw-vm ` -DatabaseAvailabilityGroupIpAddresses 255.255.255.255
-
Добавьте серверы
vm-exchange-a
иvm-exchange-b
в DAG:Add-DatabaseAvailabilityGroupServer -Identity ycdag -MailboxServer vm-exchange-a Add-DatabaseAvailabilityGroupServer -Identity ycdag -MailboxServer vm-exchange-b
-
Проверьте состояние серверов, оба сервера должны находиться в графе Operational Servers:
Get-DatabaseAvailabilityGroup -Status
Результат:
Name Member Servers Operational Servers ---- -------------- ------------------- ycdag {VM-EXCHANGE-A, VM-EXCHANGE-B} {VM-EXCHANGE-A, VM-EXCHANGE-B}
-
Создайте базу данных почтовых серверов:
New-MailboxDatabase -Name yamdb -EdbFilePath 'Z:\MDB\yamdb\yamdb.edb' -LogFolderPath 'Z:\MDB\yamdb\log' -Server vm-exchange-a
-
Смонтируйте базу данных:
Mount-Database yamdb
-
Создайте копию базы данных на втором сервере:
Add-MailboxDatabaseCopy -Identity yamdb -MailboxServer vm-exchange-b -SeedingPostponed Update-MailboxDatabasecopy yamdb\vm-exchange-b –CatalogOnly
-
Проверьте состояния баз данных:
Get-MailboxDatabaseCopyStatus -Server vm-exchange-a Get-MailboxDatabaseCopyStatus -Server vm-exchange-b
Настройте Client Access
Для работы с различными клиентскими приложениями требуется создать виртуальные директории.
-
Задайте почтовый домен:
$MailDomain = "mail.yantoso.net"
-
ECP:
Get-EcpVirtualDirectory | Set-EcpVirtualDirectory -ExternalUrl "https://$MailDomain/ecp"
-
EWS:
Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -ExternalUrl "https://$MailDomain/ews/exchange.asmx"
-
Active Sync:
Get-ActiveSyncVirtualDirectory | Set-ActiveSyncVirtualDirectory -ExternalUrl "https://$MailDomain/Microsoft-Server-ActiveSync"
-
OAB:
Get-OabVirtualDirectory | Set-OabVirtualDirectory -ExternalUrl "https://$MailDomain/OAB"
-
OWA:
Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -ExternalUrl "https://$MailDomain/owa"
-
PowerShell:
Get-PowerShellVirtualDirectory | Set-PowerShellVirtualDirectory -ExternalUrl "https://$MailDomain/powershell"
-
MAPI:
Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -ExternalUrl "https://$MailDomain/mapi"
Настройте сетевой балансировщик нагрузки
Балансировщик будет распределять нагрузку по серверам Exchange в разных зонах доступности.
Чтобы создать сетевой балансировщик:
- Откройте раздел Load Balancer в каталоге, где требуется создать балансировщик.
- Нажмите кнопку Создать сетевой балансировщик.
- Задайте имя балансировщика:
exchange-lb
. - В поле Публичный адрес выберите Автоматически.
- В блоке Обработчики нажмите кнопку Добавить обработчик.
- Введите имя обработчика:
yassl
- Укажите порт и целевой порт обработчика:
443
и нажмите кнопку Добавить. - В блоке Целевые группы нажмите кнопку Добавить целевую группу.
- В поле Целевая группа раскройте выпадающий список и выберите Создать целевую группу.
- Введите имя целевой группы:
exchange-tg
. - Отметьте виртуальные машины
vm-exchange-a
иvm-exchange-b
и нажмите кнопку Создать. - Нажмите кнопку Настроить.
- Введите имя проверки состояния:
exchange-hc
. - Выберите тип проверки TCP.
- Укажите порт
443
. - Оставьте остальные параметры по умолчанию и нажмите кнопку Применить.
- Нажмите кнопку Создать.
-
Создайте сетевой балансировщик:
yc lb nlb create --name exchange-lb
-
Создайте целевую группу:
yc lb tg create --name exchange-tg
-
Получите сведения о почтовых серверах:
yc compute instance get vm-exchange-a yc compute instance get vm-exchange-b
Скопируйте IP-адреса и идентификаторы подсетей ВМ.
-
Добавьте серверы в целевую группу:
yc lb tg update --name exchange-tg \ --target address=<IP-адрес ВМ vm-exchange-a>,subnet-id=<идентификатор подсети ВМ vm-exchange-a> \ --target address=<IP-адрес ВМ vm-exchange-b>,subnet-id=<идентификатор подсети ВМ vm-exchange-b>
-
Добавьте обработчик к балансировщику:
yc lb nlb add-listener --name exchange-lb --listener name=yassl,port=443,target-port=443,external-ip-version=ipv4
-
Получите сведения о целевых группах:
yc lb tg list
Скопируйте идентификатор созданной целевой группы.
-
Подключите целевую группу к балансировщику, используя идентификатор целевой группы:
yc lb nlb attach-target-group \ --name exchange-lb \ --target-group target-group-id=<идентификатор целевой группы>,healthcheck-name=exchange-hc,healthcheck-tcp-port=443
Настройте Accepted Domains и Email Address Policy
Домен создается по умолчанию. Если требуется изменить домен, используйте команду:
New-AcceptedDomain -Name yantoso.net -DomainName yantoso.net
Отредактируйте Email Address Policy:
Get-EmailAddressPolicy | Set-EmailAddressPolicy -EnabledPrimarySMTPAddressTemplate '@yantoso.net'
Всем новым почтовым ящикам будет автоматически добавляться псевдоним с доменом @yantoso.net
.
Создайте ВМ для серверов Edge Transport
Серверы Edge Transport будут принимать основную пользовательскую нагрузку: принимать письма из интернета, отсеивать спам и перенаправлять сообщения на внутренние почтовые серверы Exchange.
Создайте ВМ для сервера vm-edge-a
Создайте ВМ vm-edge-a
:
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
vm-edge-a
. -
Выберите зону доступности
ru-central1-a
. -
В блоке Выбор образа/загрузочного диска на вкладке Cloud Marketplace выберите образ Windows Server 2016 Datacenter.
-
В блоке Диски укажите размер загрузочного диска 50 ГБ.
-
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 4.
- Гарантированная доля vCPU — 100%.
- RAM — 8 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-a
. В поле Публичный адрес выберите вариант Автоматически или выберите адрес из списка зарезервированных. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на Running
, и сбросьте пароль:
- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
yc compute instance create \
--name vm-edge-a \
--hostname vm-edge-a \
--memory 8 \
--cores 4 \
--zone ru-central1-a \
--network-interface subnet-name=exchange-subnet-a,nat-ip-version=ipv4 \
--create-boot-disk size=50,image-folder-id=standard-images,image-family=windows-2016-gvlk \
--metadata-from-file user-data=setpass
Создайте ВМ для сервера vm-edge-b
Создайте ВМ vm-edge-b
:
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя виртуальной машины:
vm-edge-b
. -
Выберите зону доступности
ru-central1-b
. -
В блоке Выбор образа/загрузочного диска на вкладке Cloud Marketplace выберите образ Windows Server 2016 Datacenter.
-
В блоке Диски укажите размер загрузочного диска 50 ГБ.
-
В блоке Вычислительные ресурсы:
- Выберите платформу: Intel Ice Lake.
- Укажите необходимое количество vCPU и объем RAM:
- vCPU — 4.
- Гарантированная доля vCPU — 100%.
- RAM — 8 ГБ.
-
В блоке Сетевые настройки выберите подсеть
exchange-subnet-b
. В поле Публичный адрес выберите вариант Автоматически или выберите адрес из списка зарезервированных. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда статус ВМ сменится на Running
, и сбросьте пароль:
- Выберите виртуальную машину.
- Нажмите кнопку Сбросить пароль.
- Укажите Имя пользователя, для которого нужно сбросить пароль. Если у ВМ не существует пользователя с таким именем, он будет создан с правами администратора.
- Нажмите кнопку Сгенерировать пароль.
- Сохраните Новый пароль. После закрытия окна он будет недоступен.
yc compute instance create \
--name vm-edge-b \
--hostname vm-edge-b \
--memory 8 \
--cores 4 \
--zone ru-central1-b \
--network-interface subnet-name=exchange-subnet-b,nat-ip-version=ipv4 \
--create-boot-disk size=50,image-folder-id=standard-images,image-family=windows-2016-gvlk \
--metadata-from-file user-data=setpass
Настройте серверы Edge Transport
Настройте сервер Edge Transport в зоне ru-central1-a
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. -
Подключитесь к ВМ
vm-edge-a
с помощью RDP. Используйте логинAdministrator
и ваш пароль. Запустите PowerShell. -
Создайте временную папку:
mkdir C:\Windows\temp
-
Установите роли ADLDS на сервер:
Install-WindowsFeature ADLDS
-
Настройте DNS-клиент:
Get-NetAdapter | ` Set-DnsClientServerAddress -ServerAddresses "10.1.0.3,10.2.0.3"
-
Настройте удаленный доступ к папке с дистрибутивами, находящейся на сервере
fsw-vm
:$Credential = Get-Credential # Username: yantoso\Administrator New-PSDrive -Name 'fsw-vm' -PSProvider:FileSystem -Root '\\fsw-vm.ru-central1.internal\distrib' -Credential $Credential
Введите логин
yantoso\Administrator
и ваш пароль. -
Установите зависимости:
& fsw-vm:\vcredist_x64_2012.exe /install /passive /norestart & fsw-vm:\NDP472-KB4054530-x86-x64-AllOS-ENU.exe /install /passive /norestart
-
Скопируйте дистрибутив Microsoft Exchange на сервер
vm-edge-a
:copy-item fsw-vm:\ExchangeServer2016-x64-cu13.iso c:\windows\temp\ExchangeServer2016-x64-cu13.iso
-
Укажите основной суффикс DNS:
$Suffix = 'ru-central1.internal' Set-ItemProperty -path HKLM:\system\CurrentControlSet\Services\tcpip\parameters -Name Domain -Value $Suffix Set-ItemProperty -path HKLM:\system\CurrentControlSet\Services\tcpip\parameters -Name 'NV Domain' -Value $Suffix
-
Перезагрузите ВМ:
Restart-Computer -Force
Снова подключитесь к ВМ
vm-edge-a
через RDP и запустите PowerShell. -
Смонтируйте дистрибутив Exchange Server:
Mount-DiskImage c:\windows\temp\ExchangeServer2016-x64-cu13.iso
-
Установите Edge Transport Server на сервер
vm-edge-a
:& D:\Setup.exe /Mode:Install /InstallWindowsComponents /Role:EdgeTransport /IAcceptExchangeServerLicenseTerms /OrganizationName:MyOrg
Настройте сервер Edge Transport в зоне ru-central1-b
-
Подключитесь к ВМ
fsw-vm
с помощью RDP. -
Подключитесь к ВМ
vm-edge-b
с помощью RDP. Используйте логинAdministrator
и ваш пароль. Запустите PowerShell. -
Создайте временную папку:
mkdir C:\Windows\temp
-
Установите роли ADLDS на сервер:
Install-WindowsFeature ADLDS
-
Настройте DNS-клиент:
Get-NetAdapter | ` Set-DnsClientServerAddress -ServerAddresses "10.2.0.3,10.1.0.3"
-
Настройте удаленный доступ к папке с дистрибутивами, находящейся на сервере
fsw-vm
:$Credential = Get-Credential # Username: yantoso\Administrator New-PSDrive -Name 'fsw-vm' -PSProvider:FileSystem -Root '\\fsw-vm.ru-central1.internal\distrib' -Credential $Credential
Введите логин
yantoso\Administrator
и ваш пароль. -
Установите зависимости:
& fsw-vm:\vcredist_x64_2012.exe /install /passive /norestart & fsw-vm:\NDP472-KB4054530-x86-x64-AllOS-ENU.exe /install /passive /norestart
-
Скопируйте дистрибутив Microsoft Exchange на сервер
vm-edge-b
:copy-item fsw-vm:\ExchangeServer2016-x64-cu13.iso c:\windows\temp\ExchangeServer2016-x64-cu13.iso
-
Укажите основной суффикс DNS:
$Suffix = 'ru-central1.internal' Set-ItemProperty -path HKLM:\system\CurrentControlSet\Services\tcpip\parameters -Name Domain -Value $Suffix Set-ItemProperty -path HKLM:\system\CurrentControlSet\Services\tcpip\parameters -Name 'NV Domain' -Value $Suffix
-
Перезагрузите ВМ:
Restart-Computer -Force
Снова подключитесь к ВМ
vm-edge-b
через RDP и запустите PowerShell. -
Смонтируйте дистрибутив Exchange Server:
Mount-DiskImage c:\windows\temp\ExchangeServer2016-x64-cu13.iso
-
Установите Edge Transport Server на сервер
vm-edge-b
:& D:\Setup.exe /Mode:Install /InstallWindowsComponents /Role:EdgeTransport /IAcceptExchangeServerLicenseTerms /OrganizationName:MyOrg
Добавьте серверы Edge Transport в Exchange
Каждый из серверов Edge Transport требуется подписать на сайт в своей зоне доступности.
Настройте подписку на сервере vm-edge-a
-
Создайте папку
subscribe
:mkdir c:\subscribe
-
Запустите Exchange Management Shell. Создайте файл подписки на сервере
vm-edge-a
:New-EdgeSubscription -FileName "C:\subscribe\$(hostname).xml"
-
Скопируйте файл
C:\subscribe\vm-edge-a.xml
на серверvm-exchange-a
в папкуC:\root\vm-edge-a.xml
. -
Зайдите на сервер
vm-exchange-a
и запустите Exchange Management Shell. -
Подпишите Edge Transport сервера
vm-edge-a
на сайтru-central1-a
:New-EdgeSubscription -FileData ([byte[]]$(Get-Content -Path "C:\root\vm-edge-a.xml" -Encoding Byte -ReadCount 0)) -Site "ru-central1-a"
-
Убедитесь, что подписка создана, с помощью команды:
Get-EdgeSubscription
Результат:
Name Site Domain ---- ---- ------ vm-edge-a yantoso.net/Confi... ru-central1.internal
-
Проверьте статус синхронизации:
Test-EdgeSynchronization
Параметр
SyncStatus
должен перейти в состояниеNormal
.
Настройте подписку на сервере vm-edge-b
-
Создайте папку
subscribe
:mkdir c:\subscribe
-
Запустите Exchange Management Shell. Создайте файл подписки на сервере
vm-edge-b
:New-EdgeSubscription -FileName "C:\subscribe\$(hostname).xml"
-
Скопируйте файл
C:\subscribe\vm-edge-b.xml
на серверvm-exchange-b
в папкуC:\root\vm-edge-b.xml
. -
Зайдите на сервер
vm-exchange-b
и запустите Exchange Management Shell. -
Подпишите Edge Transport сервера
vm-edge-b
на сайтru-central1-b
:New-EdgeSubscription -FileData ([byte[]]$(Get-Content -Path "C:\root\vm-edge-b.xml" -Encoding Byte -ReadCount 0)) -Site "ru-central1-b"
-
Убедитесь, что подписка создана, с помощью команды:
Get-EdgeSubscription
Результат:
Name Site Domain ---- ---- ------ vm-edge-a yantoso.net/Confi... ru-central1.internal vm-edge-b yantoso.net/Confi... ru-central1.internal
-
Проверьте статус синхронизации:
Test-EdgeSynchronization
Параметр
SyncStatus
должен перейти в состояниеNormal
.
Как удалить созданные ресурсы
Чтобы перестать платить за развернутые серверы, достаточно удалить все созданные виртуальные машины и балансировщик:
fsw-vm
ad-vm-a
ad-vm-b
vm-exchange-a
vm-exchange-b
vm-edge-a
vm-edge-b
- балансировщик
exchange-lb