פריסת Microsoft Exchange Server 2016 ב-Compute Engine

במדריך הזה מוסבר איך לפרוס את Microsoft Exchange Server 2016 ב-Compute Engine ולהגדיר אותו לזמינות גבוהה ועמידות האתר.

פריסת Exchange תתפרס על פני שני אזורים באזור יחיד. בכל אזור, תפרסו שרת תיבות דואר ושרת Edge Transport. שרתי תיבות הדואר יהיו חלק מקבוצת זמינות של מסד נתונים, כך שתיצור רפליקה של נתוני תיבות הדואר בין אזורים.

התרשים הבא מדגים את הפריסה:

פריסה של Microsoft Exchange

במאמר הזה אנחנו מניחים שכבר פרסתם את Active Directory ב-Cloud de Confiance by S3NS ושיש לכם ידע בסיסי ב-Exchange Server 2016, ב-Active Directory וב-Compute Engine.

מטרות

  • מגדירים פרויקט ורשת VPC ומכינים אותם לפריסה של Exchange Server 2016.
  • פורסים שרתי תיבות דואר של Exchange בשני אזורים ויוצרים קבוצת זמינות של מסדי נתונים.
  • פריסת שרתי Exchange edge transport בשני אזורים.
  • הגדרת איזון עומסים וכללים לחומת אש.

עלויות

במדריך הזה נעשה שימוש ברכיבים של Cloud de Confiance by S3NSשחלים עליהם חיובים, כולל:

אפשר להשתמש במחשבון עלויות כדי ליצור הערכת עלויות בהתאם לשימוש החזוי.

לפני שמתחילים

כדי להשלים את המדריך הזה, אתם צריכים:

  • דומיין קיים של Active Directory עם בקר דומיין אחד לפחות. בדומיין Active Directory צריך להשתמש בשם דומיין DNS תקף שניתן לניתוב באופן ציבורי. אי אפשר להשתמש בשמות דומיין מקומיים כמו corp.local או בשמות דומיין שמורים כמו example.com.

    לפרטים נוספים על פריסת סביבת Active Directory ב-Compute Engine, אפשר לעיין במאמר בנושא פריסת סביבת Microsoft Active Directory עם עמידות בפני תקלות.

  • אזור העברה פרטי של DNS לשם הדומיין של Active Directory, שמעביר שאילתות DNS לבקרי הדומיין.

  • הרשאת אדמין בדומיין Active Directory.

  • פרויקט Cloud de Confiance ו-VPC עם קישוריות לבקרי הדומיין של Active Directory.

  • תת-רשת לשימוש במכונות הווירטואליות של Exchange. רשת המשנה חייבת לכלול לפחות שני אזורים.

לפני שמתחילים בהטמעה, חשוב לעיין בדרישות הזמינות הגבוהה והחוסן של האתר עבור Exchange Server.

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.

הכנת הפרויקט והרשת

כדי להכין את פרויקט Cloud de Confiance ה-VPC לפריסה של Exchange Server, צריך לבצע את הפעולות הבאות:

  1. עוברים לפרויקט במסוף Cloud de Confiance ופותחים את Cloud Shell.

    פתיחת Cloud Shell

  2. מאתחלים את המשתנים הבאים:

    VPC_NAME=VPC_NAME
    SUBNET_NAME=SUBNET_NAME
    SUBNET_REGION=SUBNET_REGION
    SUBNET_ZONE_1=$SUBNET_REGION-a
    SUBNET_ZONE_2=$SUBNET_REGION-b
    

    כאשר:

    • VPC_NAME הוא השם של ה-VPC.
    • SUBNET_NAME הוא השם של רשת המשנה.
    • SUBNET_REGION הוא האזור של רשת המשנה.
  3. מגדירים את מזהה הפרויקט שמוגדר כברירת מחדל:

    gcloud config set project PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט ב- Cloud de Confiance .

יצירת דיסק התקנה

עכשיו יוצרים דיסק שמכיל את אמצעי ההתקנה של Exchange Server. אם יוצרים דיסק שאפשר לצרף לכמה מופעים של מכונות וירטואליות, לא צריך להוריד את מדיום ההתקנה לכל מופע של מכונה וירטואלית בנפרד.

  1. פועלים לפי ההוראות במאמר יצירת תמונה מקובץ ISO. משתמשים בכתובת ה-URL הבאה ככתובת URL להורדה:

    https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
    
  2. משתמשים בתמונה החדשה כדי ליצור דיסק באזור הראשון:

    gcloud compute disks create exchange-media-1 \
      --zone=$SUBNET_ZONE_1 \
      --image-project=$GOOGLE_CLOUD_PROJECT \
      --image=IMAGE
    

    מחליפים את IMAGE בשם של קובץ האימג' שיצרתם בשלב הקודם.

  3. יוצרים דיסק באזור השני:

    gcloud compute disks create exchange-media-2 \
      --zone=$SUBNET_ZONE_2 \
      --image-project=$GOOGLE_CLOUD_PROJECT \
      --image=IMAGE
    

    מחליפים את IMAGE בשם של האימג' שיצרתם בשלב הראשון.

יצירת כללים לחומת האש

כדי לאפשר ללקוחות להתחבר ל-Exchange ולאפשר תקשורת בין שרתי Exchange, צריך ליצור כמה כללים של חומת אש. כדי לפשט את יצירת כללי חומת האש האלה, משתמשים בתגי רשת:

  • שרתי Edge transport מסומנים בתג exchange-transport.
  • שרתי תיבות דואר מסומנים בתג exchange-mailbox.
  • שרת העד מסומן בתג exchange-witness.
  • כל השרתים מתויגים בתג exchange.

יוצרים כללים לחומת האש שמשתמשים בתגי הרשת האלה:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים כללים לחומת האש עבור שרתי תיבות הדואר:

    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
    
  3. יוצרים כלל לחומת האש עבור שרת התעבורה של Edge:

    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
    

הפרויקט וה-VPC מוכנים עכשיו לפריסה של Exchange Server.

פריסת תפקיד תיבת הדואר

עכשיו פורסים את שרתי תיבות הדואר ואת שרת הניהול שמשמש לניהול Exchange.

המכונות הווירטואליות ישתמשו בn1-standard-8 סוג המכונה. לניתוח מפורט יותר של הצרכים שלכם ודרישות המערכת שלהם, אפשר לעיין במאמר איך מוצאים את ההרשאות שנדרשות להפעלת cmdlet של Exchange.

פריסת שרת הניהול

כדי ליצור מופע של מכונה וירטואלית שמשמש כשרת ניהול:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים סקריפט התמחות למכונה הווירטואלית. הסקריפט פועל במהלך האתחול של מכונת ה-VM ומתקין את הדרישות המוקדמות של הלקוח לשימוש בכלי הניהול של Exchange 2016:

    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
    
  3. יוצרים מכונה וירטואלית שמשתמשת ב-specialize-admin.ps1 כסקריפט מיוחד ומצרפים את דיסק ההתקנה של Exchange כדיסק משני. תשתמשו בדיסק המשני בהמשך כדי להתקין את כלי הניהול של Exchange:

    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
    
  4. כדי לעקוב אחרי תהליך האתחול של המכונה הווירטואלית, צופים בפלט של היציאה הטורית:

    gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
    

    ממתינים כ-5 דקות עד שרואים את הפלט Instance setup finished, ואז לוחצים על Ctrl+C. בשלב הזה, מופע המכונה הווירטואלית מוכן לשימוש.

  5. יוצרים שם משתמש וסיסמה למכונה הווירטואלית

  6. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות שם המשתמש והסיסמה שנוצרו בשלב הקודם.

  7. לוחצים לחיצה ימנית על הלחצן Start (או מקישים על Win+X) ואז לוחצים על Command Prompt (Admin).

  8. לוחצים על כן כדי לאשר את ההודעה על העלאת הרשאות.

  9. בשורת הפקודה עם הרשאות אדמין, מתחילים סשן של PowerShell:

    powershell
    
  10. מצטרפים עם המחשב לדומיין של Active Directory:

    Add-Computer -Domain DOMAIN
    

    מחליפים את DOMAIN בשם ה-DNS של דומיין Active Directory.

  11. מפעילים מחדש את המחשב:

    Restart-Computer
    

    ממתינים כדקה עד שההפעלה מחדש תסתיים.

  12. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות משתמש בדומיין שמשתייך לקבוצה Enterprise Admins.

  13. פועלים לפי ההוראות להכנת הסכימה והדומיינים של Active Directory ל-Exchange Server. אפשר למצוא את מדיום ההתקנה של Exchange בכונן D:.

  14. פועלים לפי ההוראות כדי להתקין את כלי הניהול של Exchange.

פריסת שרתי תיבות הדואר

עכשיו אפשר לפרוס את המכונות הווירטואליות שמשמשות כשרתי תיבות דואר:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים סקריפט מיוחד עבור מופע ה-VM. הסקריפט פועל במהלך האתחול של ה-VM ומתקין את הדרישות המוקדמות להתקנת שרתי תיבות דואר:

    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
    
  3. יוצרים מכונה וירטואלית באזור הראשון ומעבירים את specialize-mailbox.ps1 כסקריפט ההתאמה. מחברים את דיסק ההתקנה של Exchange כדיסק משני. תשתמשו בדיסק המשני בהמשך כדי להתקין את תפקיד תיבת הדואר של Exchange Server:

    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
    
  4. יוצרים עוד מכונה וירטואלית באזור השני:

    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
    
  5. כדי לעקוב אחרי תהליך האתחול של המכונה הווירטואלית, צופים בפלט של היציאה הטורית:

    gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
    

    מחכים כ-5 דקות עד שרואים את הפלט Instance setup finished ואז מקישים על Ctrl+C. בשלב הזה, מופע המכונה הווירטואלית מוכן לשימוש.

  6. לכל אחד משני מופעי מכונות וירטואליות, מבצעים את השלבים הבאים:

    1. יוצרים שם משתמש וסיסמה למכונה הווירטואלית
    2. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות שם המשתמש והסיסמה שנוצרו בשלב הקודם.
    3. לוחצים לחיצה ימנית על הלחצן Start (או מקישים על Win+X) ואז לוחצים על Command Prompt (Admin).
    4. לוחצים על כן כדי לאשר את ההודעה על העלאת הרשאות.
    5. בשורת הפקודה עם הרשאות אדמין, מתחילים סשן של PowerShell:

      powershell
      
    6. מצטרפים עם המחשב לדומיין של Active Directory:

      Add-Computer -Domain DOMAIN
      

      מחליפים את DOMAIN בשם ה-DNS של דומיין Active Directory.

    7. מפעילים מחדש את המחשב:

      Restart-Computer
      

      ממתינים כדקה עד שההפעלה מחדש תסתיים.

    8. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות משתמש בדומיין שמשתייך לקבוצה Enterprise Admins.

    9. מתקינים את תפקיד תיבת הדואר של Exchange Server באמצעות אשף ההגדרה או מצב אוטומטי. אפשר למצוא את מדיום ההתקנה של Exchange בכונן D:.

פריסת שרת העדות

כדי להגדיר קבוצת זמינות של מסד נתונים (DAG) לשני שרתי תיבות הדואר, צריך מכונה וירטואלית נוספת שתשמש כשרת עדים. כדי לפרוס את שרת העד, פועלים לפי השלבים הבאים:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים שרת עֵד באזור הראשון:

    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"
    
  3. כדי לעקוב אחרי תהליך האתחול של המכונה הווירטואלית, צופים בפלט של היציאה הטורית:

    gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
    

    מחכים כ-3 דקות עד שרואים את הפלט Instance setup finished, ואז מקישים על Ctrl+C. בשלב הזה, מופע המכונה הווירטואלית מוכן לשימוש.

  4. יוצרים שם משתמש וסיסמה למכונה הווירטואלית

  5. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות שם המשתמש והסיסמה שנוצרו בשלב הקודם.

  6. לוחצים לחיצה ימנית על הלחצן Start (או מקישים על Win+X) ואז לוחצים על Command Prompt (Admin).

  7. לוחצים על כן כדי לאשר את ההודעה על העלאת הרשאות.

  8. בשורת הפקודה עם הרשאות אדמין, מתחילים סשן של PowerShell:

    powershell
    
  9. מצטרפים עם המחשב לדומיין של Active Directory:

    Add-Computer -Domain DOMAIN
    

    מחליפים את DOMAIN בשם ה-DNS של דומיין Active Directory.

  10. מפעילים מחדש את המחשב:

    Restart-Computer
    

    ממתינים כדקה עד שההפעלה מחדש תסתיים.

  11. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות משתמש בדומיין שמשתייך לקבוצה Enterprise Admins.

  12. לוחצים לחיצה ימנית על הלחצן Start (או מקישים על Win+X) ואז לוחצים על Command Prompt (Admin).

  13. לוחצים על כן כדי לאשר את ההודעה על העלאת הרשאות.

  14. בשורת הפקודה עם הרשאות אדמין, מתחילים סשן של PowerShell:

    powershell
    
  15. מוסיפים את קבוצת האבטחה האוניברסלית Exchange Trusted Subsystem לקבוצה Administrators המקומית:

    Add-LocalGroupMember -Group Administrators -Member "DOMAIN\Exchange Trusted Subsystem"
    

    מחליפים את DOMAIN בשם NetBIOS של דומיין Active Directory.

שני שרתי תיבות הדואר ושרת העד עדיין לא נפרסו באופן מלא, ולכן צריך להוסיף אותם לקבוצת זמינות של מסד נתונים.

יצירה של קבוצת זמינות של מסד נתונים

כדי ליצור DAG, פועלים לפי השלבים הבאים:

  1. מתחברים למכונה הווירטואלית לניהול באמצעות Remote Desktop ומתחברים באמצעות משתמש בדומיין שמשתייך לקבוצה Enterprise Admins.
  2. לוחצים לחיצה ימנית על הלחצן Start (או מקישים על Win+X) ואז לוחצים על Command Prompt (Admin).
  3. לוחצים על כן כדי לאשר את ההודעה על העלאת הרשאות.
  4. בשורת הפקודה עם הרשאות אדמין, מתחילים סשן של PowerShell:

    powershell
    
  5. הורדה והתקנה של דפדפן Chrome:

    Start-BitsTransfer `
        -Source 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' `
        -Destination "$env:Temp\chrome_installer.exe"
    & $env:Temp\chrome_installer.exe
    
  6. כדי לפתוח את מרכז הניהול של Exchange‏ (EAC), מפעילים את Chrome ועוברים לכתובת ה-URL הבאה:

    https://mailbox-1-a/ecp/?ExchClientVer=15
    
  7. נכנסים באמצעות משתמש בדומיין שחבר בקבוצה Enterprise Admins.

  8. בתפריט EAC, בוחרים באפשרות servers > database availability groups (שרתים > קבוצות זמינות של מסדי נתונים).

  9. לוחצים על +.

  10. בתיבת הדו-שיח, מזינים את ההגדרות הבאות כדי ליצור קבוצת זמינות של מסד נתונים:

    1. שם קבוצת הזמינות של מסד הנתונים: mailbox
    2. שרת עדים: witness
  11. לוחצים על Save.

  12. לוחצים על הסמל ניהול החברות בקבוצת DAG.

  13. בתיבת הדו-שיח, לוחצים על + כדי להוסיף שרת חבר.

  14. בוחרים את mailbox-1-a ואת mailbox-1-b ולוחצים על הוספה.

  15. לוחצים על אישור.

  16. לוחצים על Save.

אפשר גם לבצע משימות אחרי ההתקנה של Exchange Server.

הגדרת איזון עומסים

כדי לאפשר ללקוחות להתחבר לשרתי תיבות הדואר, צריך ליצור עכשיו משאב של מאזן עומסים פנימי:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים קבוצה אחת של מופעי מכונה לא מנוהלים לכל אזור:

    gcloud compute instance-groups unmanaged create mailbox-a --zone=$SUBNET_ZONE_1
    gcloud compute instance-groups unmanaged create mailbox-b --zone=$SUBNET_ZONE_2
    
  3. מוסיפים את מופעי ה-VM שבהם פועלים שרתי תיבות הדואר לקבוצות המופעים:

    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
    
  4. יוצרים בדיקת תקינות שבודקת את נתיב ה-HTTP‏ /owa/healthcheck.htm:

    gcloud compute health-checks create http http-80\
      --port=80 \
      --request-path=/owa/healthcheck.htm
    
  5. יוצרים קצה עורפי של מאזן עומסים ומוסיפים את שתי קבוצות המופעים:

    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
    
  6. שומרים כתובת IP סטטית למאזן העומסים:

    gcloud compute addresses create mailbox-frontend \
      --region=$SUBNET_REGION \
      --subnet=$SUBNET_NAME
    
  7. יוצרים כלל העברה למאזן העומסים:

    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
    
  8. מחפשים את כתובת ה-IP של מאזן העומסים:

    gcloud compute addresses describe mailbox-frontend  \
      --region=$SUBNET_REGION \
      --format=value\(address\)
    

בדיקת שרתי תיבות הדואר

כדי לוודא ששרתי תיבות הדואר נפרסו בהצלחה, מבצעים את הפעולות הבאות:

  1. במכונה הווירטואלית לניהול, פותחים את Chrome ועוברים אל https://<var>IP</var>/owa/, כאשר IP היא כתובת ה-IP של מאזן העומסים שחיפשתם קודם.
  2. נכנסים באמצעות משתמש בדומיין.

    עכשיו יוצג ממשק המשתמש של Outlook Web Access.

פריסת תפקיד התעבורה של ה-Edge

עכשיו פורסים את שרתי התעבורה של Edge. שרתי התעבורה של Edge מטפלים בכל זרימת הדואר הנכנס והיוצא.

בניגוד לשרתי דואר, שרתי Edge Transport חשופים לאינטרנט. לכן, בפריסה מקומית, יכול להיות שתפרסו שרתי תעבורה בקצה ברשת היקפית שמבודדת מהרשת הפנימית באמצעות חומות אש.

ב- Cloud de Confiance, אין צורך לפרוס שרתי תעבורה של קצה הרשת ב-VPC או ברשת משנה נפרדים. במקום זאת, אתם משתמשים בכללי חומת אש כדי לבצע מיקרו-סגמנטציה של הרשת ולהגביל את התקשורת ברשת משרתי התעבורה של Edge ואליהם.

בניגוד לשרתי תיבות דואר, שרתי התעבורה של Edge לא שייכים לדומיין שלכם ב-Active Directory.

המכונות הווירטואליות ישתמשו בn1-standard-8 סוג המכונה. בהתאם לאופן שבו אתם מתכננים להשתמש בפריסת Exchange, יכול להיות שתצטרכו להשתמש בסוגי מכונות גדולים יותר. כדי לקבל ניתוח מפורט יותר של הצרכים שלכם ושל דרישות המערכת שלהם, אפשר לעיין במאמר איך מוצאים את ההרשאות שנדרשות להפעלת כל cmdlet של Exchange.

פריסת שרתי הובלה של קצה הרשת

כדי לפרוס את שרתי התעבורה של Edge, צריך לפעול לפי השלבים הבאים:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים סקריפט התמחות למכונה הווירטואלית. הסקריפט פועל במהלך האתחול של המכונה הווירטואלית ומתקין את הדרישות המוקדמות להתקנת שרתי תעבורה של Edge:

    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
    
  3. יוצרים מכונה וירטואלית באזור הראשון ומעבירים את specialize-transport.ps1 כסקריפט ההתאמה. מצרפים את דיסק ההתקנה של Exchange במצב קריאה בלבד כדי שתוכלו להתקין בהמשך את תפקיד שרת התעבורה של Exchange Server:

    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
    
  4. יוצרים עוד מכונה וירטואלית באזור השני:

    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
    
  5. כדי לעקוב אחרי תהליך האתחול של המכונה הווירטואלית, צופים בפלט של היציאה הטורית:

    gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
    

    מחכים כ-5 דקות עד שמופיע הפלט Instance setup finished, ואז מקישים על Ctrl+C. בשלב הזה, מופע המכונה הווירטואלית מוכן לשימוש.

  6. מבצעים את השלבים הבאים לכל אחת משתי המכונות הווירטואליות של שרת התעבורה של Edge:

    1. יוצרים שם משתמש וסיסמה למכונה הווירטואלית.
    2. מתחברים ל-VM באמצעות Remote Desktop ומתחברים באמצעות שם המשתמש והסיסמה שנוצרו בשלב הקודם.
    3. מגדירים את הסיומת הראשית של ה-DNS כך שתתאים לשם דומיין ה-DNS שבו משתמש דומיין Active Directory.
    4. מתקינים את תפקיד השרת של שרת התעבורה של Exchange Server באמצעות אשף ההתקנה או מצב אוטומטי. אפשר למצוא את מדיום ההתקנה של Exchange בכונן D:.

רישום שרתי התעבורה של Edge ב-DNS

כדי להגדיר מינוי Edge לשרתי התעבורה של Edge, צריך להקצות שמות DNS לשרת. מכיוון ששרתי התעבורה של Edge לא שייכים לדומיין Active Directory, צריך להקצות את השמות האלה באופן ידני:

  1. בשרת הניהול, פותחים את מסוף PowerShell.
  2. יוצרים רשומת CNAME לדומיין transport-1-a ולדומיין transport-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"
    

    כאשר:

    • PROJECT-ID הוא מזהה הפרויקט שבו נפרסו מכונות וירטואליות של Exchange.
    • REGION הוא האזור שבו נפרסו המכונות הווירטואליות של Exchange.
    • DOMAIN הוא דומיין ה-DNS של דומיין Active Directory.

הגדרת מינויים ל-Edge

כדי לאכלס את המופעים של Active Directory Lightweight Directory Services ‏ (AD LDS) בשרת התעבורה של Edge בנתונים של Active Directory, צריך להגדיר מינויים של Edge.

  1. פותחים את מעטפת הניהול של Exchange עם הרשאות אדמין. לשם כך, לוחצים באמצעות לחצן העכבר הימני על התחל > מעטפת הניהול של Exchange ובוחרים באפשרות עוד > הפעלה כמנהל מערכת.
  2. יצירת מינוי Edge:

    New-EdgeSubscription -FileName "$env:UserProfile\Desktop\EdgeSubscriptionInfo-$env:computername.xml"
    

    עכשיו קובץ המינוי אמור להופיע בשולחן העבודה.

  3. מייצאים את אישור השרת Exchange AD LDS:

    1. פותחים את Microsoft Management Console (מסוף הניהול של מיקרוסופט) על ידי לחיצה על התחל > הפעלה, הקלדת mmc ובחירה באפשרות אישור.
    2. בוחרים באפשרות קובץ > הוספה או הסרה של רכיב Snap-in.
    3. ברשימת התוספים, בוחרים באפשרות אישורים ולוחצים על הוספה.
    4. בוחרים באפשרות חשבון שירות ולוחצים על הבא.
    5. בוחרים באפשרות מחשב מקומי ולוחצים על הבא.
    6. בוחרים באפשרות Microsoft Exchange ADAM ולוחצים על סיום.
    7. לוחצים על OK.
    8. בחלונית הימנית, עוברים אל Certificates (אישורים) > ADAM_MSExchange\Personal (אישי) > Certificates (אישורים).
    9. לוחצים לחיצה ימנית על האישור בחלונית השמאלית ובוחרים באפשרות כל המשימות > ייצוא.
    10. לוחצים על הבא.
    11. בוחרים באפשרות לא, אל תייצא את המפתח הפרטי ולוחצים על הבא.
    12. בוחרים באפשרות Base-64 encoded X.509 (.cer) (אישור X.509 בקידוד Base-64) ולוחצים על הבא.
    13. בוחרים מיקום לשמירת האישור ולוחצים על הבא.
  4. מבצעים את השלבים הבאים לכל אחת משתי המכונות הווירטואליות של שרת תיבת הדואר:

    1. מעתיקים את אישור השרת Exchange AD LDS של שני שרתי התעבורה של Edge למיקום זמני.
    2. מעתיקים את קובצי המינוי של שני שרתי התעבורה של Edge למיקום זמני.
    3. פותחים את מעטפת הניהול של Exchange עם הרשאות אדמין. לשם כך, לוחצים באמצעות לחצן העכבר הימני על התחל > מעטפת הניהול של Exchange ובוחרים באפשרות עוד > הפעלה כמנהל מערכת.
    4. מייבאים את אישור השרת Exchange AD LDS של transport-1-a:

      Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
      

      מחליפים את PATH בנתיב של אישור שרת Exchange AD LDS של transport-1-a.

    5. מייבאים את אישור השרת Exchange AD LDS של transport-1-b:

      Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
      

      מחליפים את PATH בנתיב של אישור שרת Exchange AD LDS של transport-1-b.

    6. ייבוא קובצי המינוי של Edge של transport-1-a ושל transport-1-b.

    7. מתחילים ידנית את תהליך EdgeSync בשרת תיבת דואר ומוודאים שהסנכרון הצליח.

הגדרת איזון עומסים לתעבורת דואר נכנסת

כדי להפעיל את זרימת האימיילים הנכנסים לשרתי התעבורה של Edge, צריך ליצור עכשיו משאב של מאזן עומסים ברשת:

  1. חוזרים לסשן הקיים של Cloud Shell.
  2. יוצרים מאגר של יעדים:

    gcloud compute target-pools create transport-pool --region $SUBNET_REGION
    
  3. מוסיפים את המכונות הווירטואליות של שרת התעבורה של Edge למאגר היעד:

    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
    
  4. שומרים כתובת IP חיצונית למאזן העומסים:

    gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
    
  5. כדי ליצור כלל העברה:

    gcloud compute forwarding-rules create www-rule \
      --region $SUBNET_REGION \
      --ports 25 \
      --address transport-frontend \
      --target-pool transport-pool
    
  6. מחפשים את כתובת ה-IP של מאזן העומסים:

    gcloud compute addresses describe transport-frontend  \
      --region=$SUBNET_REGION \
      --format=value\(address\)
    

    שרתי התעבורה זמינים עכשיו לקבלת אימייל ביציאה 25 של כתובת ה-IP הזו, והם יעבירו את האימייל הנכנס לשרתי תיבות הדואר.

  7. כדי לוודא ששליחת האימיילים פועלת, פועלים לפי ההוראות במאמר שימוש ב-Telnet לבדיקת תקשורת SMTP בשרתי Exchange.

  8. כדי להשלים את ההגדרה של שרתי התעבורה של Edge, פועלים לפי השלבים במאמר בנושא הגדרה של זרימת אימייל וגישת לקוח בשרתי Exchange.

הגדרת זרימת אימייל יוצא באמצעות SendGrid

מכיוון ש Cloud de Confiance לא מאפשר חיבורים יוצאים ביציאה 25, צריך להגדיר מחבר שליחה מותאם אישית כדי לטפל באימייל יוצא.

  1. משתמשים ב-Google Cloud Marketplace כדי להירשם לשירות האימייל SendGrid.
  2. באתר SendGrid, יוצרים מפתח API חדש.
  3. מוסיפים את כתובות ה-IP הציבוריות של המכונות הווירטואליות transport-1-a ו-transport-1-b לרשימת כתובות ה-IP המורשות.

יצירת מחבר שליחה

עכשיו יוצרים מחבר לשליחה שמשתמש ב-SendGrid כמארח חכם:

  1. חוזרים אל מרכז הניהול של Exchange‏ (EAC).
  2. בתפריט EAC, בוחרים באפשרות mail flow > send connectors.
  3. לוחצים על +.
  4. בתיבת הדו-שיח New send connector (מחבר שליחה חדש), מזינים את ההגדרות הבאות:
    • Name (שם): SendGrid
    • סוג: אינטרנט (לדוגמה, כדי לשלוח אימייל באינטרנט)
  5. לוחצים על הבא.
  6. בקטע Network settings (הגדרות רשת), בוחרים באפשרות Route mail through smart hosts (ניתוב אימייל דרך מארחים חכמים) ולוחצים על +.
  7. בדף Add smart host (הוספת מארח חכם), מזינים את smtp.sendgrid.net.
  8. לוחצים על Save.
  9. לוחצים על הבא.
  10. בקטע Smart host authentication (אימות של מארח חכם), בוחרים באפשרות Basic authentication (אימות בסיסי).
  11. מזינים את הפרטים הבאים:
    • שם משתמש: apikey
    • סיסמה: מדביקים את מפתח ה-API שנוצר באתר SendGrid
  12. לוחצים על הבא.
  13. בקטע מרחב כתובות, לוחצים על +.
  14. מזינים את הפרטים הבאים:
    • סוג: SMTP
    • שם דומיין מוגדר במלואו (FQDN): *
    • עלות: 1
  15. לוחצים על הבא.
  16. בקטע Source server (שרת המקור), לוחצים על +.
  17. בוחרים באפשרויות transport-1-a ו-transport-1-b ולוחצים על אישור.
  18. לוחצים על סיום.

שינוי יציאת ה-SMTP

עכשיו מגדירים את מחבר השליחה לשימוש ביציאה מותאמת אישית:

  1. באחד משרתי תיבות הדואר, פותחים את Exchange Management Shell על ידי לחיצה ימנית על התחל > Exchange Management Shell.
  2. משנים את מחבר השליחה כך שישתמש ביציאה 2525:

    Set-SendConnector -Identity "SendGrid" -port 2525
    
  3. מפעילים סנכרון קצה כדי לוודא שהשינוי בהגדרות מועבר לכל שרתי התעבורה של הקצה:

    Start-EdgeSynchronization -ForceFullSync
    

הסרת המשאבים

כדי להימנע מחיובים נוספים אחרי שמסיימים את המדריך הזה, צריך למחוק את הישויות שיצרתם.

מחיקת הפרויקט Cloud de Confiance

  1. In the Cloud de Confiance console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

המאמרים הבאים

  • כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.