In dieser Anleitung wird beschrieben, wie Sie Microsoft Exchange Server 2016 in Compute Engine bereitstellen und für hohe Verfügbarkeit und Ausfallsicherheit von Standorten konfigurieren.
Die Exchange-Bereitstellung erstreckt sich über zwei Zonen innerhalb einer einzelnen Region. In jeder Zone stellen Sie einen Postfachserver und einen Edge-Transport-Server bereit. Die Postfachserver sind Teil einer Database Availability Group, sodass Postfachdaten zonenübergreifend repliziert werden.
Das folgende Diagramm veranschaulicht die Bereitstellung:
In diesem Artikel wird davon ausgegangen, dass Sie Active Directory bereits in Google Cloud bereitgestellt haben und über Grundkenntnisse zu Exchange Server 2016, Active Directory und Compute Engine verfügen.
Ziele
- Projekt und VPC-Netzwerk einrichten und diese für die Bereitstellung von Exchange Server 2016 vorbereiten
- Exchange-Postfachserver in zwei Zonen bereitstellen und eine Database Availability Group erstellen
- Exchange Edge-Transport-Server in zwei Zonen bereitstellen
- Load-Balancing- und Firewallregeln konfigurieren
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:
Mit dem Preisrechner können Sie eine Kostenschätzung für die voraussichtliche Nutzung erstellen.
Hinweise
Zum Durcharbeiten dieser Anleitung benötigen Sie Folgendes:
Eine vorhandene Active Directory-Domain mit mindestens einem Domain-Controller. Die Active Directory-Domain muss einen gültigen, öffentlich routingfähigen DNS-Domainnamen verwenden. Lokale Domainnamen wie
corp.local
oder reservierte Domainnamen wieexample.com
können nicht verwendet werden.Weitere Informationen zum Bereitstellen einer Active Directory-Umgebung in Compute Engine finden Sie unter Fehlertolerante Microsoft Active Directory-Umgebung bereitstellen.
Eine private DNS-Weiterleitungszone für den DNS-Domainnamen von Active Directory, der DNS-Abfragen an Ihre Domain-Controller weiterleitet.
Administratorzugriff auf Ihre Active Directory-Domain
Ein Google Cloud-Projekt und eine VPC mit Verbindung zu Ihren Active Directory-Domain-Controller.
Ein Subnetz, das für die Exchange-VM-Instanzen verwendet werden soll. Das Subnetz muss mindestens zwei Zonen umfassen.
Lesen Sie vor Beginn der Bereitstellung die Anforderungen an hohe Verfügbarkeit und Ausfallsicherheit von Standorten für Exchange Server.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Projekt und Netzwerk vorbereiten
So bereiten Sie Ihr Google Cloud-Projekt und Ihre VPC für die Bereitstellung von Exchange Server vor:
Wechseln Sie in der Google Cloud Console zu Ihrem Projekt und öffnen Sie Cloud Shell.
Initialisieren Sie die folgenden Variablen:
VPC_NAME=VPC_NAME SUBNET_NAME=SUBNET_NAME SUBNET_REGION=SUBNET_REGION SUBNET_ZONE_1=$SUBNET_REGION-a SUBNET_ZONE_2=$SUBNET_REGION-b
Dabei gilt:
- VPC_NAME ist der Name Ihrer VPC.
- SUBNET_NAME ist der Name Ihres Subnetzes.
- SUBNET_REGION ist die Region Ihres Subnetzes.
Legen Sie Ihre standardmäßige Projekt-ID fest:
gcloud config set project PROJECT_ID
Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.
Installationslaufwerk erstellen
Sie erstellen jetzt ein Laufwerk, das das Exchange Server-Installationsmedium enthält. Wenn Sie ein Laufwerk erstellen, das Sie an mehrere VM-Instanzen anhängen können, müssen Sie das Installationsmedium nicht einzeln auf jede VM-Instanz herunterladen.
Folgen Sie der Anleitung unter Image aus einer ISO-Datei erstellen. Verwenden Sie die folgende URL als Download-URL:
https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
Erstellen Sie mithilfe des neuen Images ein Laufwerk in der ersten Zone:
gcloud compute disks create exchange-media-1 \ --zone=$SUBNET_ZONE_1 \ --image-project=$GOOGLE_CLOUD_PROJECT \ --image=IMAGE
Ersetzen Sie IMAGE durch den Namen des Images, das Sie im vorherigen Schritt erstellt haben.
Erstellen Sie ein Laufwerk in der zweiten Zone:
gcloud compute disks create exchange-media-2 \ --zone=$SUBNET_ZONE_2 \ --image-project=$GOOGLE_CLOUD_PROJECT \ --image=IMAGE
Ersetzen Sie IMAGE durch den Namen des Images, das Sie im ersten Schritt erstellt haben.
Firewallregeln erstellen
Damit Clients eine Verbindung zu Exchange herstellen und die Kommunikation zwischen Exchange-Servern aktivieren können, müssen Sie mehrere Firewallregeln erstellen. Verwenden Sie Netzwerk-Tags, um die Erstellung dieser Firewallregeln zu vereinfachen:
- Edge-Transport-Server werden mit dem Tag
exchange-transport
gekennzeichnet. - Postfachserver werden mit dem Tag
exchange-mailbox
gekennzeichnet. - Der Zeugenserver wird mit dem Tag
exchange-witness
gekennzeichnet. - Alle Server werden mit dem Tag
exchange
gekennzeichnet.
Erstellen Sie Firewallregeln, die diese Netzwerk-Tags verwenden:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie Firewallregeln für die Postfachserver:
gcloud compute firewall-rules create allow-all-between-exchange-servers \ --direction=INGRESS \ --action=allow \ --rules=tcp,udp,icmp \ --enable-logging \ --source-tags=exchange \ --target-tags=exchange \ --network=$VPC_NAME \ --priority 10000 gcloud compute firewall-rules create allow-smtp-from-transport-to-mailbox \ --direction=INGRESS \ --action=allow \ --rules=tcp:25 \ --enable-logging \ --source-tags=exchange-transport \ --target-tags=exchange-mailbox \ --network=$VPC_NAME \ --priority 10000 gcloud compute firewall-rules create allow-edgesync-from-mailbox-to-transport \ --direction=INGRESS \ --action=allow \ --rules=tcp:50636 \ --enable-logging \ --source-tags=exchange-mailbox \ --target-tags=exchange-transport \ --network=$VPC_NAME \ --priority 10000 gcloud compute firewall-rules create allow-mail-to-mailbox \ --direction=INGRESS \ --action=allow \ --rules=tcp:25,tcp:110,tcp:135,tcp:143,tcp:443,tcp:993,tcp:995 \ --enable-logging \ --target-tags=exchange-mailbox \ --network=$VPC_NAME \ --priority 10000 gcloud compute firewall-rules create allow-smb-within-dag \ --direction=INGRESS \ --action=allow \ --rules=tcp:135,tcp:445,udp:445,tcp:49152-65535 \ --enable-logging \ --source-tags=exchange-mailbox,exchange-witness \ --target-tags=exchange-mailbox,exchange-witness \ --network=$VPC_NAME \ --priority 10000
Erstellen Sie eine Firewallregel für den Edge-Transport-Server:
gcloud compute firewall-rules create allow-smtp-to-transport \ --direction=INGRESS \ --action=allow \ --rules=tcp:25 \ --enable-logging \ --target-tags=exchange-transport \ --network=$VPC_NAME \ --priority 10000
Ihr Projekt und Ihre VPC sind jetzt für die Bereitstellung von Exchange Server bereit.
Postfachrolle bereitstellen
Sie stellen nun die Postfachserver und einen Verwaltungsserver bereit, den Sie zur Verwaltung von Exchange verwenden.
Die VM-Instanzen verwenden den Maschinentyp n1-standard-8
.
Eine detailliertere Analyse Ihrer Anforderungen und der entsprechenden Systemanforderungen finden Sie im Artikel Ermitteln Sie die erforderlichen Berechtigungen zum Ausführen eines Exchange-Cmdlets.
Verwaltungsserver bereitstellen
Führen Sie die folgenden Schritte aus, um eine VM-Instanz zu erstellen, die als Verwaltungsserver dient:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie ein Spezialisierungsskript für die VM-Instanz. Das Skript wird während der VM-Initialisierung ausgeführt und installiert die Clientvoraussetzungen für die Exchange 2016-Verwaltungstools:
cat << "EOF" > specialize-admin.ps1 $ErrorActionPreference = "stop" # Install required Windows features Install-WindowsFeature RSAT-ADDS,RSAT-DNS-Server Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools, ` IIS-ManagementScriptingTools, ` IIS-IIS6ManagementCompatibility, ` IIS-LegacySnapIn, ` IIS-ManagementConsole, ` IIS-Metabase, ` IIS-WebServerManagementTools, ` IIS-WebServerRole # Install Visual C++ Redistributable Package for Visual Studio 2012 (New-Object System.Net.WebClient).DownloadFile( 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe', "$env:Temp\vcredist_2012_x64.exe") & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default EOF
Erstellen Sie eine VM-Instanz, die
specialize-admin.ps1
als Spezialisierungsskript verwendet, und hängen Sie das Exchange-Installationslaufwerk als sekundäres Laufwerk an. Sie verwenden das sekundäre Laufwerk später, um die Exchange-Verwaltungstools zu installieren:gcloud compute instances create exchange-admin \ --image-family=windows-2019 \ --image-project=windows-cloud \ --machine-type=n1-standard-2 \ --subnet=$SUBNET_NAME \ --zone=$SUBNET_ZONE_1 \ --tags=exchange \ --disk=name=exchange-media-1,auto-delete=no,mode=ro \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-admin.ps1
Überwachen Sie den Initialisierungsprozess der VM. Rufen Sie dazu die Ausgabe des seriellen Ports auf:
gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
Warten Sie etwa fünf Minuten, bis die Ausgabe
Instance setup finished
angezeigt wird, und drücken Sie dann STRG + C. Jetzt kann die VM-Instanz verwendet werden.Erstellen Sie einen Nutzernamen und ein Passwort für die VM-Instanz.
Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit dem Nutzernamen und dem Passwort an, den bzw. das Sie im vorherigen Schritt erstellt haben.
Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start (oder drücken Sie Win + X) und klicken Sie auf Eingabeaufforderung (Administrator).
Bestätigen Sie die Eingabeaufforderung für erhöhte Rechte durch Klicken auf Ja.
Starten Sie eine PowerShell-Sitzung in der Eingabeaufforderung mit erhöhten Rechten:
powershell
Verbinden Sie den Computer mit Ihrer Active Directory-Domain:
Add-Computer -Domain DOMAIN
Ersetzen Sie DOMAIN durch den DNS-Namen Ihrer Active Directory-Domain.
Starten Sie den Computer neu:
Restart-Computer
Warten Sie etwa eine Minute, bis der Neustart abgeschlossen ist.
Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit einem Domainnutzer der Gruppe Organisations-Admins an.
Folgen Sie der Anleitung zum Vorbereiten des Active Directory-Schemas und der Domains für Exchange Server. Sie finden die Exchange-Installationsmedien auf Laufwerk
D:
.Folgen Sie der Anleitung zur Installation der Exchange-Verwaltungstools.
Postfachserver bereitstellen
Jetzt können Sie die VM-Instanzen bereitstellen, die als Postfachserver dienen:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie ein Spezialisierungsskript für die VM-Instanz. Das Skript wird während der VM-Initialisierung ausgeführt und installiert die Voraussetzungen für die Installation von Postfachservern:
cat << "EOF" > specialize-mailbox.ps1 $ErrorActionPreference = "stop" # Install required Windows features Install-WindowsFeature RSAT-ADDS Install-WindowsFeature ` NET-Framework-45-Features, ` Server-Media-Foundation, ` RPC-over-HTTP-proxy, ` RSAT-Clustering, ` RSAT-Clustering-CmdInterface, ` RSAT-Clustering-Mgmt, ` RSAT-Clustering-PowerShell, ` WAS-Process-Model, ` Web-Asp-Net45, ` Web-Basic-Auth, ` Web-Client-Auth, ` Web-Digest-Auth, ` Web-Dir-Browsing, ` Web-Dyn-Compression, ` Web-Http-Errors, ` Web-Http-Logging, ` Web-Http-Redirect, ` Web-Http-Tracing, ` Web-ISAPI-Ext, ` Web-ISAPI-Filter, ` Web-Lgcy-Mgmt-Console, ` Web-Metabase, ` Web-Mgmt-Console, ` Web-Mgmt-Service, ` Web-Net-Ext45, ` Web-Request-Monitor, ` Web-Server, ` Web-Stat-Compression, ` Web-Static-Content, ` Web-Windows-Auth, ` Web-WMI, ` Windows-Identity-Foundation, ` RSAT-ADDS # Install Visual C++ Redistributable Package for Visual Studio 2012 (New-Object System.Net.WebClient).DownloadFile( 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe', "$env:Temp\vcredist_2012_x64.exe") & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default # Visual C++ Redistributable Package for Visual Studio 2013 (New-Object System.Net.WebClient).DownloadFile( 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe', "$env:Temp\vcredist_2013_x64.exe") & $env:Temp\vcredist_2013_x64.exe /passive /norestart | Out-Default # Install Microsoft Unified Communications Managed API (New-Object System.Net.WebClient).DownloadFile( 'https://download.microsoft.com/download/2/C/4/2C47A5C1-A1F3-4843-B9FE-84C0032C61EC/UcmaRuntimeSetup.exe', "$env:Temp\UcmaRuntimeSetup.exe") & $env:Temp\UcmaRuntimeSetup.exe /passive /norestart | Out-Default EOF
Erstellen Sie eine VM-Instanz in der ersten Zone und übergeben Sie
specialize-mailbox.ps1
als Spezialisierungsskript. Hängen Sie das Exchange-Installationslaufwerk als sekundäres Laufwerk an. Sie verwenden die sekundäre Festplatte später, um die Exchange Server-Postfachrolle zu installieren:gcloud compute instances create mailbox-1-a \ --image-family=windows-2016 \ --image-project=windows-cloud \ --machine-type=n1-standard-8 \ --subnet=$SUBNET_NAME \ --tags exchange,exchange-mailbox \ --zone=$SUBNET_ZONE_1 \ --boot-disk-type pd-ssd \ --disk=name=exchange-media-1,auto-delete=no,mode=ro \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-mailbox.ps1
Erstellen Sie eine weitere VM-Instanz in der zweiten Zone:
gcloud compute instances create mailbox-1-b \ --image-family=windows-2016 \ --image-project=windows-cloud \ --machine-type=n1-standard-8 \ --subnet=$SUBNET_NAME \ --tags exchange,exchange-mailbox \ --zone=$SUBNET_ZONE_2 \ --boot-disk-type pd-ssd \ --disk=name=exchange-media-2,auto-delete=no,mode=ro \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-mailbox.ps1
Überwachen Sie den Initialisierungsprozess der VM. Rufen Sie dazu die Ausgabe des seriellen Ports auf:
gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
Warten Sie etwa fünf Minuten, bis die Ausgabe
Instance setup finished
angezeigt wird, und drücken Sie dann STRG + C. Jetzt kann die VM-Instanz verwendet werden.Führen Sie für jede der beiden VM-Instanzen die folgenden Schritte aus:
- Erstellen Sie einen Nutzernamen und ein Passwort für die VM-Instanz.
- Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit dem Nutzernamen und dem Passwort an, den bzw. das Sie im vorherigen Schritt erstellt haben.
- Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start (oder drücken Sie Win + X) und klicken Sie auf Eingabeaufforderung (Administrator).
- Bestätigen Sie die Eingabeaufforderung für erhöhte Rechte durch Klicken auf Ja.
Starten Sie eine PowerShell-Sitzung in der Eingabeaufforderung mit erhöhten Rechten:
powershell
Verbinden Sie den Computer mit Ihrer Active Directory-Domain:
Add-Computer -Domain DOMAIN
Ersetzen Sie DOMAIN durch den DNS-Namen Ihrer Active Directory-Domain.
Starten Sie den Computer neu:
Restart-Computer
Warten Sie etwa eine Minute, bis der Neustart abgeschlossen ist.
Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit einem Domainnutzer der Gruppe Organisations-Admins an.
Installieren Sie die Exchange Server-Postfachrolle mithilfe des Einrichtungsassistenten oder über den unbeaufsichtigten Modus. Sie finden die Exchange-Installationsmedien auf Laufwerk
D:
.
Zeugenserver bereitstellen
Zum Einrichten einer Database Availability Group (DAG) für die beiden Postfachserver benötigen Sie eine zusätzliche VM-Instanz als Zeugenserver. So stellen Sie den Zeugenserver bereit:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie einen Zeugenserver in der ersten Zone:
gcloud compute instances create witness \ --image-family=windows-2016 \ --image-project=windows-cloud \ --machine-type n1-standard-8 \ --subnet $SUBNET_NAME \ --tags exchange,exchange-witness \ --zone $SUBNET_ZONE_1 \ --boot-disk-type pd-ssd \ "--metadata=sysprep-specialize-script-ps1=add-windowsfeature FS-FileServer"
Überwachen Sie den Initialisierungsprozess der VM. Rufen Sie dazu die Ausgabe des seriellen Ports auf:
gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
Warten Sie etwa drei Minuten, bis die Ausgabe
Instance setup finished
angezeigt wird, und drücken Sie dann STRG + C. Jetzt kann die VM-Instanz verwendet werden.Erstellen Sie einen Nutzernamen und ein Passwort für die VM-Instanz.
Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit dem Nutzernamen und dem Passwort an, den bzw. das Sie im vorherigen Schritt erstellt haben.
Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start (oder drücken Sie Win + X) und klicken Sie auf Eingabeaufforderung (Administrator).
Bestätigen Sie die Eingabeaufforderung für erhöhte Rechte durch Klicken auf Ja.
Starten Sie eine PowerShell-Sitzung in der Eingabeaufforderung mit erhöhten Rechten:
powershell
Verbinden Sie den Computer mit Ihrer Active Directory-Domain:
Add-Computer -Domain DOMAIN
Ersetzen Sie DOMAIN durch den DNS-Namen Ihrer Active Directory-Domain.
Starten Sie den Computer neu:
Restart-Computer
Warten Sie etwa eine Minute, bis der Neustart abgeschlossen ist.
Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit einem Domainnutzer der Gruppe Organisations-Admins an.
Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start (oder drücken Sie Win + X) und klicken Sie auf Eingabeaufforderung (Administrator).
Bestätigen Sie die Eingabeaufforderung für erhöhte Rechte durch Klicken auf Ja.
Starten Sie eine PowerShell-Sitzung in der Eingabeaufforderung mit erhöhten Rechten:
powershell
Fügen Sie die universelle Exchange-Sicherheitsgruppe Vertrauenswürdige Subsysteme der lokalen Gruppe Administratoren hinzu:
Add-LocalGroupMember -Group Administrators -Member "DOMAIN\Exchange Trusted Subsystem"
Ersetzen Sie DOMAIN durch den NetBIOS-Namen Ihrer Active Directory-Domain.
Die beiden Postfachserver und der Zeugenserver sind jetzt vollständig bereitgestellt, müssen aber dennoch zu einer Database Availability Group hinzugefügt werden.
Database Availability Group erstellen
So erstellen Sie eine DAG:
- Stellen Sie mithilfe von Remote Desktop eine Verbindung zur Verwaltungs-VM her und melden Sie sich mit einem Domainnutzer der Gruppe Organisations-Admins an.
- Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start (oder drücken Sie Win + X) und klicken Sie auf Eingabeaufforderung (Administrator).
- Bestätigen Sie die Eingabeaufforderung für erhöhte Rechte durch Klicken auf Ja.
Starten Sie eine PowerShell-Sitzung in der Eingabeaufforderung mit erhöhten Rechten:
powershell
Laden Sie den Chrome-Browser herunter und installieren Sie ihn:
Start-BitsTransfer ` -Source 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' ` -Destination "$env:Temp\chrome_installer.exe" & $env:Temp\chrome_installer.exe
Starten Sie Chrome und rufen Sie die folgende URL auf, um das Exchange Admin Center (EAC) zu öffnen:
https://mailbox-1-a/ecp/?ExchClientVer=15
Melden Sie sich mit einem Domainnutzer an, der Mitglied der Gruppe Organisations-Admins ist.
Wählen Sie im Menü "EAC" die Option Server > Database Availability Groups aus.
Klicken Sie auf + (Pluszeichen).
Geben Sie im Dialogfeld die folgenden Einstellungen ein, um eine Database Availability Group zu erstellen:
- Database Availability Group-Name:
mailbox
- Zeugenserver:
witness
- Database Availability Group-Name:
Klicken Sie auf Speichern.
Klicken Sie auf das Symbol DAG-Mitgliedschaft verwalten.
Klicken Sie im Dialogfeld auf +, um einen Mitgliedsserver hinzuzufügen.
Wählen Sie mailbox-1-a und mailbox-1-b aus und klicken Sie auf Hinzufügen.
Klicken Sie auf OK.
Klicken Sie auf Speichern.
Optional können Sie Exchange Server-Aufgaben nach der Installation ausführen.
Load-Balancing einrichten
Damit Clients eine Verbindung zu den Postfachservern herstellen können, müssen Sie jetzt einen internen Load-Balancer als Ressource erstellen:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie eine nicht verwaltete Instanzgruppe pro Zone:
gcloud compute instance-groups unmanaged create mailbox-a --zone=$SUBNET_ZONE_1 gcloud compute instance-groups unmanaged create mailbox-b --zone=$SUBNET_ZONE_2
Fügen Sie die VM-Instanzen, die die Postfachserver ausführen, zu den Instanzgruppen hinzu:
gcloud compute instance-groups unmanaged add-instances mailbox-a \ --zone=$SUBNET_ZONE_1 \ --instances=mailbox-1-a gcloud compute instance-groups unmanaged add-instances mailbox-b \ --zone=$SUBNET_ZONE_2 \ --instances=mailbox-1-b
Erstellen Sie eine Systemdiagnose, die den HTTP-Pfad
/owa/healthcheck.htm
prüft:gcloud compute health-checks create http http-80\ --port=80 \ --request-path=/owa/healthcheck.htm
Erstellen Sie ein Load-Balancer-Backend und fügen Sie die beiden Instanzgruppen hinzu:
gcloud compute backend-services create mailbox-backend \ --load-balancing-scheme=internal \ --protocol=tcp \ --region=$SUBNET_REGION \ --health-checks=http-80 \ --session-affinity=CLIENT_IP_PORT_PROTO gcloud compute backend-services add-backend mailbox-backend \ --region=$SUBNET_REGION \ --instance-group=mailbox-a \ --instance-group-zone=$SUBNET_ZONE_1 gcloud compute backend-services add-backend mailbox-backend \ --region=$SUBNET_REGION \ --instance-group=mailbox-b \ --instance-group-zone=$SUBNET_ZONE_2
Reservieren Sie eine statische IP-Adresse für den Load-Balancer:
gcloud compute addresses create mailbox-frontend \ --region=$SUBNET_REGION \ --subnet=$SUBNET_NAME
Erstellen Sie eine Weiterleitungsregel für den Load-Balancer:
gcloud compute forwarding-rules create mailbox-frontend \ --region=$SUBNET_REGION \ --address=mailbox-frontend \ --load-balancing-scheme=internal \ --network=$VPC_NAME \ --subnet=$SUBNET_NAME \ --ip-protocol=TCP \ --ports=ALL \ --backend-service=mailbox-backend \ --backend-service-region=$SUBNET_REGION
Suchen Sie die IP-Adresse des Load-Balancers:
gcloud compute addresses describe mailbox-frontend \ --region=$SUBNET_REGION \ --format=value\(address\)
Postfachserver testen
Führen Sie die folgenden Schritte aus, um zu prüfen, ob die Postfachserver erfolgreich bereitgestellt wurden:
- Öffnen Sie Chrome auf der Verwaltungs-VM und gehen Sie zu
https://<var>IP</var>/owa/
, wobei IP die IP-Adresse des Load-Balancers ist, die Sie zuvor gesucht haben. Melden Sie sich mit einem Domainnutzer an.
Sie sollten nun die Benutzeroberfläche von Outlook Web Access sehen.
Edge-Transport-Rolle bereitstellen
Sie stellen jetzt die Edge-Transport-Server bereit. Die Edge-Transport-Server verarbeiten den gesamten eingehenden und ausgehenden E-Mail-Verkehr.
Im Gegensatz zu Postfachservern sind Edge-Transport-Server mit dem Internet verbunden. In einer lokalen Bereitstellung können Sie daher Edge-Transport-Server in einem Perimeternetzwerk bereitstellen, das durch Firewalls vom internen Netzwerk isoliert ist.
In Google Cloud ist das Bereitstellen von Edge-Transport-Servern in einer separaten VPC oder einem Subnetz nicht erforderlich. Stattdessen verwenden Sie Firewallregeln für die Mikrosegmentierung Ihres Netzwerks. Darüber hinaus schränken Sie mit Firewallregeln die Netzwerkkommunikation von und zu den Edge-Transport-Servern ein.
Im Gegensatz zu Postfachservern sind die Edge-Transport-Server keine Mitglieder Ihrer Active Directory-Domain.
Die VM-Instanzen verwenden den Maschinentyp n1-standard-8
.
Je nachdem, wie Sie die Exchange-Bereitstellung nutzen möchten, müssen Sie möglicherweise größere Maschinentypen verwenden. Eine detailliertere Analyse Ihrer Anforderungen und der entsprechenden Systemanforderungen finden Sie im Dokument Ermitteln Sie die erforderlichen Berechtigungen zum Ausführen eines Exchange-Cmdlets.
Edge-Transport-Server bereitstellen
So stellen Sie die Edge-Transport-Server bereit:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie ein Spezialisierungsskript für die VM-Instanz. Das Skript wird während der VM-Initialisierung ausgeführt und installiert die Voraussetzungen für die Installation von Edge-Transport-Servern:
cat << "EOF" > specialize-transport.ps1 # Install required Windows features Install-WindowsFeature ADLDS # Install Visual C++ Redistributable Package for Visual Studio 2012 (New-Object System.Net.WebClient).DownloadFile( 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe', "$env:Temp\vcredist_2012_x64.exe") & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default EOF
Erstellen Sie eine VM-Instanz in der ersten Zone und übergeben Sie
specialize-transport.ps1
als Spezialisierungsskript. Hängen Sie das Exchange-Installationslaufwerk im schreibgeschützten Modus an, damit Sie später die Rolle für den Exchange Server-Transport-Server installieren können:gcloud compute instances create transport-1-a \ --image-family=windows-2016 \ --image-project=windows-cloud \ --machine-type=n1-standard-8 \ --subnet=$SUBNET_NAME \ --tags exchange,exchange-transport \ --zone=$SUBNET_ZONE_1 \ --boot-disk-type pd-ssd \ --disk=name=exchange-media-1,auto-delete=no,mode=ro \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-transport.ps1
Erstellen Sie eine weitere VM-Instanz in der zweiten Zone:
gcloud compute instances create transport-1-b \ --image-family=windows-2016 \ --image-project=windows-cloud \ --machine-type=n1-standard-8 \ --subnet=$SUBNET_NAME \ --tags exchange,exchange-transport \ --zone=$SUBNET_ZONE_2 \ --boot-disk-type pd-ssd \ --disk=name=exchange-media-2,auto-delete=no,mode=ro \ --metadata-from-file=sysprep-specialize-script-ps1=specialize-transport.ps1
Überwachen Sie den Initialisierungsprozess der VM. Rufen Sie dazu die Ausgabe des seriellen Ports auf:
gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
Warten Sie etwa fünf Minuten, bis die Ausgabe
Instance setup finished
angezeigt wird, und drücken Sie dann STRG + C. Jetzt kann die VM-Instanz verwendet werden.Führen Sie für jede der beiden VM-Instanzen des Edge-Transport-Servers die folgenden Schritte aus:
- Erstellen Sie einen Nutzernamen und ein Passwort für die VM-Instanz.
- Stellen Sie mithilfe von Remote Desktop eine Verbindung zur VM her und melden Sie sich mit dem Nutzernamen und dem Passwort an, den bzw. das Sie im vorherigen Schritt erstellt haben.
- Konfigurieren Sie das primäre DNS-Suffix so, dass es dem DNS-Domainnamen entspricht, der von Ihrer Active Directory-Domain verwendet wird.
- Installieren Sie die Rolle für den Exchange Server-Edge-Transport-Server mithilfe des Einrichtungsassistenten oder über den unbeaufsichtigten Modus.
Sie finden die Exchange-Installationsmedien auf Laufwerk
D:
.
Edge-Transport-Server in DNS registrieren
Bevor Sie ein Edge-Abo für die Edge-Transport-Server einrichten können, müssen Sie dem Server DNS-Namen zuweisen. Da die Edge-Transport-Server keine Mitglieder Ihrer Active Directory-Domain sind, müssen Sie diese Namen manuell zuweisen:
- Öffnen Sie eine PowerShell-Konsole auf dem Verwaltungsserver.
Erstellen Sie einen CNAME-Eintrag für
transport-1-a
undtransport-1-b
:Add-DnsServerResourceRecordCName ` -ComputerName (Get-ADDomainController).Hostname ` -HostNameAlias "transport-1-a.REGION-a.c.PROJECT-ID.internal." ` -Name "transport-1-a" ` -ZoneName "DOMAIN" Add-DnsServerResourceRecordCName ` -ComputerName (Get-ADDomainController).Hostname ` -HostNameAlias "transport-1-b.REGION-b.c.PROJECT-ID.internal." ` -Name "transport-1-b" ` -ZoneName "DOMAIN"
Dabei gilt:
- PROJECT-ID ist die Projekt-ID des Projekts, in dem Ihre Exchange-VM-Instanzen bereitgestellt werden.
- REGION ist die Region, in der Ihre Exchange-VM-Instanzen bereitgestellt werden.
- DOMAIN ist die DNS-Domain Ihrer Active Directory-Domain.
Edge-Abos einrichten
Zum Einfügen der Active Directory-Daten in die AD LDS-Instanzen (Active Directory Lightweight Directory Services) auf dem Edge-Transport-Server richten Sie jetzt Edge-Abos ein.
- Öffnen Sie eine Exchange-Verwaltungsshell mit erhöhten Rechten. Klicken Sie dazu mit der rechten Maustaste auf Start > Exchange-Verwaltungsshell und wählen Sie Mehr > Als Administrator ausführen aus.
Erstellen Sie ein Edge-Abo:
New-EdgeSubscription -FileName "$env:UserProfile\Desktop\EdgeSubscriptionInfo-$env:computername.xml"
Die Abonnementdatei sollte nun auf dem Desktop angezeigt werden.
Exportieren Sie das Exchange AD LDS-Serverzertifikat:
- Öffnen Sie die Microsoft Management Console. Klicken Sie dazu auf Start und dann auf Ausführen, geben Sie
mmc
ein und wählen Sie OK aus. - Wählen Sie Datei und dann Snap-in hinzufügen/entfernen aus.
- Wählen Sie in der Liste der Snap-ins Zertifikate aus und klicken Sie auf Hinzufügen.
- Wählen Sie Dienstkonto aus und klicken Sie auf Weiter.
- Wählen Sie Lokaler Computer aus und klicken Sie auf Weiter.
- Wählen Sie Microsoft Exchange ADAM aus und klicken Sie dann auf Fertigstellen.
- Klicken Sie auf OK.
- Rufen Sie im linken Bereich Zertifikate > ADAM_MSExchange\Personal > Zertifikate auf.
- Klicken Sie mit der rechten Maustaste auf das Zertifikat im rechten Bereich und wählen Sie Alle Aufgaben > Exportieren aus.
- Klicken Sie auf Weiter.
- Wählen Sie Nein, privaten Schlüssel nicht exportieren aus und klicken Sie auf Weiter.
- Wählen Sie Base-64-codiert X.509 (.CER) aus und klicken Sie auf Weiter.
- Wählen Sie einen Speicherort für das Zertifikat aus und klicken Sie auf Weiter.
- Öffnen Sie die Microsoft Management Console. Klicken Sie dazu auf Start und dann auf Ausführen, geben Sie
Führen Sie für jede der beiden VM-Instanzen des Postfachservers die folgenden Schritte aus:
- Kopieren Sie das Exchange AD LDS-Serverzertifikat beider Edge-Transport-Server in einen temporären Speicherort.
- Kopieren Sie die Abodateien beider Edge-Transport-Server in einen temporären Speicherort.
- Öffnen Sie eine Exchange-Verwaltungsshell mit erhöhten Rechten. Klicken Sie dazu mit der rechten Maustaste auf Start > Exchange-Verwaltungsshell und wählen Sie Mehr > Als Administrator ausführen aus.
Importieren Sie das Exchange AD LDS-Serverzertifikat von
transport-1-a
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Ersetzen Sie PATH durch den Pfad zum Exchange-AD LDS-Serverzertifikat von
transport-1-a
.Importieren Sie das Exchange AD LDS-Serverzertifikat von
transport-1-b
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Ersetzen Sie PATH durch den Pfad zum Exchange-AD LDS-Serverzertifikat von
transport-1-b
.Importieren Sie die Edge-Abodateien von
transport-1-a
undtransport-1-b
.Starten Sie den EdgeSync-Prozess manuell auf einem Postfachserver und prüfen Sie, ob die Synchronisierung erfolgreich war.
Load-Balancing für eingehenden E-Mail-Verkehr einrichten
Damit der eingehende E-Mail-Fluss zu den Edge-Transport-Servern aktiviert wird, erstellen Sie jetzt einen Netzwerk-Load-Balancer als Ressource:
- Kehren Sie zu Ihrer bestehenden Cloud Shell-Sitzung zurück.
Erstellen Sie einen Zielpool:
gcloud compute target-pools create transport-pool --region $SUBNET_REGION
Fügen Sie dem Zielpool die VM-Instanzen des Edge-Transport-Servers hinzu:
gcloud compute target-pools add-instances transport-pool \ --instances-zone $SUBNET_ZONE_1 \ --instances transport-1-a gcloud compute target-pools add-instances transport-pool \ --instances-zone $SUBNET_ZONE_2 \ --instances transport-1-b
Reservieren Sie eine externe IP-Adresse für den Load-Balancer:
gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
Erstellen Sie eine Weiterleitungsregel:
gcloud compute forwarding-rules create www-rule \ --region $SUBNET_REGION \ --ports 25 \ --address transport-frontend \ --target-pool transport-pool
Suchen Sie die IP-Adresse des Load-Balancers:
gcloud compute addresses describe transport-frontend \ --region=$SUBNET_REGION \ --format=value\(address\)
Die Transportserver sind jetzt für den Empfang von E-Mails an Port 25 dieser IP-Adresse verfügbar und leiten eingehende E-Mails an die Postfachserver weiter.
Prüfen Sie, ob die E-Mail-Zustellung funktioniert. Befolgen Sie dazu die Anweisungen in Testen der SMTP-Kommunikation auf Exchange-Servern mithilfe von Telnet.
Führen Sie die Schritte unter Konfigurieren von Nachrichtenfluss und Clientzugriff auf Exchange-Servern aus, um die Einrichtung Ihrer Edge-Transport-Server abzuschließen.
Ausgehenden E-Mail-Verkehr mit SendGrid einrichten
Da Google Cloud keine ausgehenden Verbindungen über Port 25 zulässt, richten Sie nun einen benutzerdefinierten Sendeconnector ein, der ausgehende E-Mails verarbeitet.
- Registrieren Sie sich im Google Cloud Marketplace für den SendGrid-E-Mail-Dienst.
- Erstellen Sie auf der SendGrid-Website einen neuen API-Schlüssel.
- Fügen Sie die öffentlichen IP-Adressen der VM-Instanzen
transport-1-a
undtransport-1-b
der Liste der zulässigen IP-Adressen hinzu.
Sendeconnector erstellen
Erstellen Sie nun einen ausgehenden Sendeconnector, der SendGrid als Smarthost verwendet:
- Kehren Sie zum Exchange Admin Center (EAC) zurück.
- Wählen Sie im EAC-Menü E-Mail-Fluss > Sendeconnectors aus.
- Klicken Sie auf + (Pluszeichen).
- Geben Sie im Dialogfeld Neuer Sendeconnector die folgenden Einstellungen ein:
- Name:
SendGrid
- Typ: Internet (z. B. zum Senden von Internet-E-Mails)
- Name:
- Klicken Sie auf Weiter.
- Wählen Sie unter Netzwerkeinstellungen die Option E-Mail über Smarthosts weiterleiten aus und klicken Sie auf +.
- Geben Sie auf der Seite Smarthost hinzufügen den Wert
smtp.sendgrid.net
ein. - Klicken Sie auf Speichern.
- Klicken Sie auf Weiter.
- Wählen Sie unter Smarthostauthentifizierung die OptionStandardauthentifizierung aus.
- Geben Sie die folgenden Informationen ein:
- Benutzername:
apikey
- Kennwort: Fügen Sie den auf der SendGrid-Website erstellten API-Schlüssel ein.
- Benutzername:
- Klicken Sie auf Weiter.
- Klicken Sie unter Adressraum auf +.
- Geben Sie die folgenden Informationen ein:
- Typ:
SMTP
- Vollqualifizierter Domänenname (FQDN):
*
- Kosten:
1
- Typ:
- Klicken Sie auf Weiter.
- Klicken Sie unter Quellserver auf +.
- Wählen Sie
transport-1-a
undtransport-1-b
aus und klicken Sie auf OK. - Klicken Sie auf Beenden.
SMTP-Port ändern
Konfigurieren Sie nun den Sendeconnector so, dass ein benutzerdefinierter Port verwendet wird:
- Öffnen Sie auf einem der Postfachserver die Exchange-Verwaltungsshell, indem Sie mit der rechten Maustaste auf Start > Exchange-Verwaltungsshell klicken.
Ändern Sie den Sendeconnector so, dass Port
2525
verwendet wird:Set-SendConnector -Identity "SendGrid" -port 2525
Lösen Sie eine Edge-Synchronisierung aus, damit die Konfigurationsänderung auf alle Edge-Transport-Server übertragen wird:
Start-EdgeSynchronization -ForceFullSync
Bereinigen
Damit Ihnen nach Abschluss dieser Anleitung keine weiteren Kosten entstehen, löschen Sie die erstellten Entitäten.
Google Cloud-Projekt löschen
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Nächste Schritte
- Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center