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


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

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

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

פריסה של Microsoft Exchange

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

מטרות

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

עלויות

המדריך הזה משתמש ברכיבים של Trusted Cloud by S3NSשכרוך בהם תשלום, כולל:

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

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

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

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

    במאמר פריסה של סביבה עמידת בכשלים של Microsoft Active Directory מוסבר בהרחבה איך לפרוס סביבה של Active Directory ב-Compute Engine.

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

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

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

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

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

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

    Go to project selector

  2. Make sure that billing is enabled for your Trusted Cloud project.

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

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

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

  1. עוברים לפרויקט במסוף Trusted Cloud ופותחים את 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 במזהה של Trusted Cloud הפרויקט.

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

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

    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.

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

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

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

  1. חוזרים לסשן הקיים ב-Cloud Shell.
  2. יוצרים סקריפט מותאם למכונה הווירטואלית. הסקריפט פועל במהלך האינטליגנציה של המכונה הווירטואלית ומתקין את הדרישות המוקדמות של הלקוח לכלים לניהול של 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. כדי לעקוב אחרי תהליך האיפוס של המכונה הווירטואלית, בודקים את הפלט של serial port:

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

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

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

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

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

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

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

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

    Add-Computer -Domain DOMAIN
    

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

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

    Restart-Computer
    

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

  12. מתחברים למכונה הווירטואלית באמצעות Remote Desktop ומתחברים באמצעות משתמש דומיין שהוא חבר בקבוצה Enterprise Admins.

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

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

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

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

  1. חוזרים לסשן הקיים ב-Cloud Shell.
  2. יוצרים סקריפט מותאם אישית למכונה הווירטואלית. הסקריפט פועל במהלך האינטליגנציה של ה-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. יוצרים מכונה וירטואלית (VM) באזור הראשון ומעבירים את 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. כדי לעקוב אחרי תהליך האיפוס של המכונה הווירטואלית, בודקים את הפלט של יציאת ה-serial:

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

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

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

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

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

      Add-Computer -Domain DOMAIN
      

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

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

      Restart-Computer
      

      ממתינים בערך דקה עד שההפעלה מחדש תסתיים.

    8. מתחברים למכונה הווירטואלית באמצעות Remote Desktop ומתחברים באמצעות משתמש דומיין שהוא חבר בקבוצה Enterprise Admins.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Add-Computer -Domain DOMAIN
    

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

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

    Restart-Computer
    

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

  11. מתחברים למכונה הווירטואלית באמצעות Remote Desktop ומתחברים באמצעות משתמש דומיין שהוא חבר בקבוצה Enterprise Admins.

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

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

  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. לוחצים על Yes כדי לאשר את ההודעה על העלאת הרשאות.
  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 Admin Center‏ (EAC), פותחים את Chrome ועוברים לכתובת ה-URL הבאה:

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

  8. בתפריט EAC, בוחרים באפשרות servers > database availability groups.

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

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

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

  12. לוחצים על הסמל Managed DAG membership.

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

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

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

  16. לוחצים על שמירה.

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

    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.

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

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

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

ב- Trusted Cloud, אין צורך לפרוס שרתי תעבורה לקצה (edge) ב-VPC או ברשת משנה נפרדת. במקום זאת, משתמשים בכללי חומת אש כדי לבצע מיקרו-פילוח של הרשת ולהגביל את התקשורת ברשת משרתי התעבורה בקצה אליהם ומהם.

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

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

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

כדי לפרוס את שרתי התעבורה הקצה:

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

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

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

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

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

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

רישום שרתי התעבורה הקצה ב-DNS

לפני שמגדירים מינוי לקצה (edge) לשרתים של תעבורת הקצה, צריך להקצות לשרת שמות DNS. מכיוון ששרתי התעבורה הקצה הם לא חברים בדומיין 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.

הגדרת מינויים לקצה

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

  1. כדי לפתוח מעטפת ניהול של Exchange ברמת אדמין, לוחצים לחיצה ימנית על Start (התחלה) > Exchange Management Shell (מעטפת ניהול של Exchange) ובוחרים באפשרות More (עוד) > Run as Administrator (הפעלה כמנהל).
  2. יוצרים מינוי לקצה:

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

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

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

    1. פותחים את Microsoft Management Console בלחיצה על Start (התחלה) > Run (הפעלה), מזינים mmc ובוחרים באפשרות OK (אישור).
    2. בוחרים באפשרות קובץ > הוספה/הסרה של הצמד.
    3. ברשימת ה-snap-ins, בוחרים באפשרות Certificates ולוחצים על Add.
    4. בוחרים באפשרות Service account ולוחצים על Next.
    5. בוחרים באפשרות מחשב מקומי ולוחצים על הבא.
    6. בוחרים באפשרות Microsoft Exchange ADAM ולוחצים על סיום.
    7. לוחצים על OK.
    8. בחלונית הימנית, עוברים אל Certificates‏ > ADAM_MSExchange\Personal‏ > Certificates.
    9. לוחצים לחיצה ימנית על האישור בחלונית השמאלית ובוחרים באפשרות All tasks (כל המשימות) > Export (ייצוא).
    10. לוחצים על הבא.
    11. בוחרים באפשרות לא, לא לייצא את המפתח הפרטי ולוחצים על הבא.
    12. בוחרים באפשרות אישור X.509 בקידוד base64 (‎.cer) ולוחצים על הבא.
    13. בוחרים מיקום לשמירת האישור ולוחצים על הבא.
  4. בכל אחת משתי המכונות הווירטואליות של שרת תיבת הדואר, מבצעים את השלבים הבאים:

    1. מעתיקים את אישור השרת של Exchange AD LDS משני שרתי התעבורה הקצה למיקום זמני.
    2. מעתיקים את קובצי המינוי של שני שרתי התעבורה הקצה למיקום זמני.
    3. כדי לפתוח מעטפת ניהול של Exchange ברמת אדמין, לוחצים לחיצה ימנית על Start (התחלה) > Exchange Management Shell (מעטפת ניהול של Exchange) ובוחרים באפשרות More (עוד) > Run as Administrator (הפעלה כמנהל).
    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 בשרת תיבת הדואר ומוודאים שהסנכרון הצליח.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Start-EdgeSynchronization -ForceFullSync
    

הסרת המשאבים

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

מוחקים את הפרויקט Trusted Cloud

  1. In the Trusted Cloud 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.