הגדרת קישוריות לרשת למקורות Oracle באירוח עצמי

בדף הזה מוסבר איך להגדיר קישוריות רשת למקורות Oracle באירוח עצמי, לצורך העברות הטרוגניות מ-Oracle ל-AlloyDB ל-PostgreSQL באמצעות Database Migration Service.

יש שלוש שיטות שונות להגדרת הקישוריות הנדרשת לרשת לצורך העברות ממקורות Oracle באירוח עצמי:

הגדרת קישוריות לרשימת ההיתרים של כתובות ה-IP

כדי להשתמש בשיטת הקישוריות של רשימת ההיתרים של כתובות IP ציבוריות, פועלים לפי השלבים הבאים:

  1. מוודאים שלמסד הנתונים של המקור יש כתובת IP שאפשר להגיע אליה מהאינטרנט הציבורי. לא צריך להשתמש בכתובת ה-IP כדי להתחבר. אם יש לכם רשומת DNS שמשויכת לכתובת ה-IP, אתם יכולים להשתמש בה במקום זאת.
  2. יוצרים כלל חומת אש לתעבורה נכנסת בשרת של מסד הנתונים במקור, כדי לאשר חיבורים מ-Database Migration Service. משתמשים בהגדרות הבאות:
    1. לסוג הכלל, משתמשים ב-port.
    2. בטווח כתובות ה-IP המותרות, מוסיפים את כל כתובות ה-IP הציבוריות של Database Migration Service לאזור שבו יוצרים את משימת ההעברה.
    3. מגדירים את הפרוטוקול ל-TCP.
    4. מגדירים את מספר היציאה שמשויך לכלל ליציאה שבה מסד הנתונים של המקור מאזין לחיבורים נכנסים. זהו מספר היציאה שצריך להזין בפרופיל החיבור של המקור.

      כברירת מחדל, שרת Oracle משתמש ביציאה 1521.

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

  3. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, בקטע Define connectivity method בוחרים באפשרות IP allowlist.

הגדרת קישוריות דרך מנהרת SSH להעברה

כדי להתחבר למסד הנתונים של המקור באמצעות מנהרת Secure Shell‏ (SSH):

  1. יוצרים מכונה וירטואלית (VM) שיכולה לפתוח את המנהרה בין Database Migration Service לבין מסד הנתונים של המקור. שרת המנהרה יכול להיות כל מארח Unix/Linux ש:
    • אפשר לגשת אליהם מהאינטרנט הציבורי באמצעות SSH.
    • יכול לגשת לכתובת ה-IP הפרטית של מסד הנתונים של המקור.
  2. בשרת ה-SSH, יוצרים חשבון משתמש ש-Database Migration Service יוכל להשתמש בו כדי להתחבר למנהרת ה-SSH.

    לדוגמה, במערכת Ubuntu, אפשר להשתמש בפקודות הבאות:

    1. יצירה של חשבון משתמש:
      adduser TUNNEL_ACCOUNT_USERNAME
    2. כדי לשפר את האבטחה, הגבילו את הגישה של המעטפת לחשבון המשתמש:
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
  3. בוחרים את שיטת האימות שבה Database Migration Service ישתמש כדי להתחבר למנהרה.

    אפשר להשתמש בסיסמה או ליצור מפתחות SSH בפורמט PEM, שאותם אפשר להעלות מאוחר יותר ל-Database Migration Service כשיוצרים את פרופיל החיבור של המקור.

    • אם רוצים להשתמש בסיסמה, לא צריך להגדיר שום דבר נוסף. זכרו את הסיסמה שיצרתם לחשבון TUNNEL_ACCOUNT_USERNAME.
    • אם אתם רוצים להשתמש באימות מבוסס-מפתח, אתם צריכים ליצור זוג מפתחות ציבורי-פרטי. לדוגמה, אפשר להשתמש בכלי ssh-keygen:
      1. יוצרים את זוג המפתחות:
        ssh-keygen -m PEM -f YOUR_KEY_NAME
      2. מעתיקים את המפתח הציבורי (YOUR_KEY_NAME.pub) לספרייה ~/.ssh/ בשרת המנהרה.
      3. שומרים את המפתח הפרטי. צריך להעלות אותו בהמשך ל-Database Migration Service כשיוצרים את פרופיל החיבור של המקור.
  4. עורכים את הקובץ /etc/ssh/sshd_config כדי להגדיר את מנהרת ה-SSH להעברה בהתאם לדרישות של הארגון. מומלץ להשתמש בהגדרות הבאות:
    # Only allow the Database Migration Service user to connect.
    AllowUsers TUNNEL_ACCOUNT_USERNAME
    
    # Send keep-alive packets every 60 seconds to ensure that
    # the tunnel doesn't close during the migration
    ServerAliveInterval=60
    
    # Optional: Force key-based authentication
    PasswordAuthentication no
    
    # Enables Database Migration Service to connect from a different host
    PermitTunnel yes
    GatewayPorts yes
  5. מריצים את הפקודה ssh כדי להפעיל את המנהרה.

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

    • ‫TUNNEL_SERVER_SSH_PORT במספר היציאה שבה השרת מאזין לחיבורי SSH.
    • SOURCE_DATABASE_PRIVATE_IP בכתובת ה-IP הפרטית של מסד הנתונים במקור. לשרת ה-SSH צריכה להיות גישה לכתובת ה-IP הזו.
    • ‫SOURCE_DATABASE_PORT עם מספר היציאה שבה מסד הנתונים של המקור מאזין לחיבורים. מספר היציאה שמוגדר כברירת מחדל לחיבורי TCP ב-Oracle הוא 1433.
    • ‫USERNAME בשם של חשבון המשתמש שיפעיל את המנהרה. זה חשבון נפרד מ-TUNNEL_ACCOUNT_USERNAME.
    • ‫TUNNEL_SERVER_PUBLIC_IP בכתובת ה-IP הציבורית של שרת מנהרת ה-SSH.
    ssh -N -L \
    TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \
    USERNAME@TUNNEL_SERVER_PUBLIC_IP
  6. יוצרים כלל של חומת אש לתעבורה נכנסת במנהרת ה-SSH, כדי לאשר חיבורים מ כתובות ה-IP הציבוריות של Database Migration Service באזור שבו יוצרים את משימת ההעברה.
  7. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
    1. בקטע Define connection details, מזינים את כתובת ה-IP הפרטית של מכונת המקור של Oracle.
    2. בקטע Define connectivity method, בוחרים באפשרות Forward-SSH tunnel.
    3. מזינים את כתובת ה-IP הציבורית או את שם המארח של שרת ה-SSH.
    4. מציינים את היציאה שהקציתם לחיבורי ה-SSH בשרת המנהרה.
    5. מזינים את שם המשתמש של המשתמש שיצרתם כדי ש-Database Migration Service יתחבר בתור המשתמש הזה (כלומר, הערך של TUNNEL_ACCOUNT_USERNAME).
    6. בתפריט הנפתח Authentication method, בוחרים את שיטת האימות שבה רוצים להשתמש עם המשתמש TUNNEL_ACCOUNT_USERNAME:
      • אם רוצים להשתמש בסיסמת המשתמש, בוחרים באפשרות סיסמה ומזינים את הסיסמה של TUNNEL_ACCOUNT_USERNAME בטופס.
      • אם הגדרתם את שרת ה-SSH כך שישתמש באימות מבוסס-מפתח, בוחרים באפשרות זוג מפתחות פרטי/ציבורי ומעלים את המפתח הפרטי שיצרתם באמצעות הפקודה ssh-keygen.

הגדרת ממשקי Private Service Connect לחיבור מבודד

שיטת הקישוריות הזו מאפשרת להתחבר לכתובת ה-IP הפרטית של מסד הנתונים של המקור בלי לצרוך מכסת קישור בין רשתות VPC שכנות (peering). ממשקי Private Service Connect הם השיטה המומלצת לקישור דרך IP פרטית.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להגדרת ממשקי Private Service Connect, בקשו מהאדמין להקצות את תפקידי ה-IAM הנדרשים בפרויקט ל חשבונות הבאים שמעורבים בתהליך ההעברה:

  • חשבון המשתמש שמבצע את ההעברה:
  • אם אתם צריכים ליצור חיבור רשת או את רשת המשנה הבסיסית שלו בפרויקט אחר מ-Database Migration Service (לדוגמה, אם אתם משתמשים בפרויקט מארח של VPC משותף), אתם צריכים להקצות את התפקיד הבא לחשבון השירות של Database Migration Service ‏(service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com): צפייה ברשת Compute ‏(roles/compute.networkViewer)

מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה.

התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לבצע העברות הומוגניות של SQL Server באמצעות Database Migration Service. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required permissions:

ההרשאות הנדרשות

כדי לבצע העברות הומוגניות של SQL Server באמצעות Database Migration Service, נדרשות ההרשאות הבאות:

  • חשבון המשתמש שמבצע את ההעברה:
    • datamigration.*
    • compute.networkAttachments.create
    • compute.networkAttachments.get
    • compute.networkAttachments.list
    • compute.networkAttachments.update
    • compute.networkAttachments.delete
  • חשבון השירות של Database Migration Service:
    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.subnetworks.get
    • compute.subnetworks.list

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

למקורות באירוח עצמי ב- Google Cloud

כדי להשתמש בחיבור מבודד עם ממשקי Private Service Connect למסד נתונים של Oracle שמתארח ב-VM של Compute Engine, צריך לבצע את השלבים הבאים:

  1. יוצרים חיבור לרשת ב-VPC שבו נמצא המקור באירוח עצמי. כך עושים את זה:
    1. נכנסים לדף מחברי רשת במסוף Google Cloud .

      כניסה לדף Network attachments

    2. לוחצים על יצירת מחבר רשת.
    3. נותנים שם לקובץ המצורף.
    4. בתפריט Network, בוחרים את ה-VPC שבו נמצא המקור באירוח עצמי.
    5. באזור, משתמשים באותו אזור שבו מתכננים ליצור את מסד הנתונים של היעד.

      ‫Database Migration Service הוא מוצר אזורי לחלוטין, כלומר כל הישויות שקשורות להעברה (פרופילי חיבור של מקור ויעד, משימות העברה, מסדי נתונים של יעד, סביבות עבודה להמרת מסדי נתונים) חייבות להישמר באזור אחד.

    6. בקטע Connection preference, בוחרים באפשרות Accept connections for selected projects.

      ‫Database Migration Service מוסיף באופן אוטומטי את פרויקט המפיק לרשימה Accepted projects כש יוצרים את הגדרת החיבור המבודד.

    7. אל תוסיפו את Accepted projects או את Rejected projects.
    8. לוחצים על יצירת מחבר רשת.
  2. ב-Database Migration Service, יוצרים הגדרת חיבור מבודד לממשקי Private Service Connect.
  3. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
    1. בקטע Define connection details, מזינים את כתובת ה-IP של המכונה הווירטואלית ב-Compute Engine שבה מארחים את מסד הנתונים של Oracle.

      אפשר לראות את כתובת ה-IP של ה-VM במסוף Google Cloud .

    2. בקטע Define connectivity method, בוחרים באפשרות Private connectivity.
    3. בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.

למקורות באירוח עצמי מחוץ ל- Google Cloud

כדי להשתמש בקישוריות פרטית עם ממשקי Private Service Connect למסד נתונים של Oracle באירוח עצמי שנמצא ברשת מחוץ ל-Google Cloud, צריך לבצע את השלבים הבאים:

  1. מגדירים קישוריות ישירה עם Cloud VPN למקור Oracle.

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

  2. אופציונלי: אם אתם לא יכולים ליצור את הגדרת הקישוריות הפרטית באותה רשת VPC שבה נמצא Cloud VPN, צרו מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי להעביר את החיבורים בין רשתות ה-VPC.
  3. יוצרים מחבר רשת ב-VPC שבו נמצא ה-Cloud VPN. כך עושים את זה:
    1. נכנסים לדף מחברי רשת במסוף Google Cloud .

      כניסה לדף Network attachments

    2. לוחצים על יצירת מחבר רשת.
    3. נותנים שם לקובץ המצורף.
    4. בתפריט Network, בוחרים את ה-VPC שבו נמצא המקור באירוח עצמי.
    5. באזור, משתמשים באותו אזור שבו מתכננים ליצור את מסד הנתונים של היעד.

      ‫Database Migration Service הוא מוצר אזורי לחלוטין, כלומר כל הישויות שקשורות להעברה (פרופילי חיבור של מקור ויעד, משימות העברה, מסדי נתונים של יעד, סביבות עבודה להמרת מסדי נתונים) חייבות להישמר באזור אחד.

    6. בתפריט Subnetwork, בוחרים תת-רשת שבה יש לפחות 6 כתובות IP פנויות לשימוש של Database Migration Service (כלומר, טווח /29).
    7. בקטע Connection preference, בוחרים באפשרות Accept connections for selected projects.

      ‫Database Migration Service מוסיף באופן אוטומטי את פרויקט המפיק לרשימה Accepted projects כש יוצרים את הגדרת החיבור המבודד.

    8. אל תוסיפו את Accepted projects או את Rejected projects.
    9. לוחצים על יצירת מחבר רשת.
  4. ב-Database Migration Service, יוצרים הגדרת חיבור מבודד לממשקי Private Service Connect.
  5. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
    1. בקטע Define connection details, מזינים את כתובת ה-IP הפרטית של מקור Oracle.
    2. בקטע Define connectivity method, בוחרים באפשרות Private connectivity.
    3. בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.

הגדרת חיבור מבודד באמצעות קישור בין רשתות VPC שכנות (peering)

כדי להשתמש בשיטת הקישוריות הזו, צריך שתהיה אפשרות להגיע לכתובת ה-IP או לשם המארח של מסד הנתונים של המקור מ-VPC של Google Cloud . אם המקורות באירוח עצמי נמצאים ברשתות מחוץ ל- Google Cloud, יכול להיות שתצטרכו להשתמש ברכיבי רשת נוספים כמו Cloud VPN או Cloud Interconnect.

למקורות באירוח עצמי ב- Google Cloud

כדי להשתמש בחיבור מבודד עם קישור בין רשתות VPC שכנות (peering) למסד נתונים של Oracle שמתארח במכונה וירטואלית של Compute Engine, בצעו את השלבים הבאים:

  1. מוודאים שרשת הענן הווירטואלי הפרטי (VPC) שבה למכונה הווירטואלית מוקצית כתובת IP מוגדרת לגישה לשירותים פרטיים. מידע נוסף זמין במאמר הגדרת גישה לשירותים פרטיים.
  2. ב-Database Migration Service, יוצרים הגדרה של חיבור מבודד כדי לקשר בין רשתות שכנות (peering) לרשת ה-VPC שבה מארחים את מסד הנתונים של Oracle במכונה וירטואלית של Compute Engine.
  3. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
    1. בקטע Define connection details, מזינים את כתובת ה-IP של המכונה הווירטואלית ב-Compute Engine שבה מארחים את מסד הנתונים של Oracle.

      אפשר לראות את כתובת ה-IP של ה-VM במסוף Google Cloud .

    2. בקטע Define connectivity method, בוחרים באפשרות Private connectivity (VPC peering).
    3. בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.

למקורות באירוח עצמי מחוץ ל- Google Cloud

כדי להשתמש בקישוריות פרטית עם קישור בין רשתות VPC למסד נתונים של Oracle באירוח עצמי שנמצא ברשת מחוץ ל-Google Cloud, מבצעים את השלבים הבאים:

  1. מגדירים קישוריות ישירה עם Cloud VPN למקור Oracle.

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

  2. אופציונלי: אם אתם לא יכולים ליצור את הגדרת הקישוריות הפרטית באותה רשת VPC שבה נמצא Cloud VPN, צרו מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי להעביר את החיבורים בין רשתות ה-VPC.
  3. ב-Database Migration Service, יוצרים הגדרת חיבור מבודד כדי לקשר בין רשתות שכנות (peering) לרשת ה-VPC שבה נמצא Cloud VPN.
  4. בשלב מאוחר יותר, כש יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
    1. בקטע Define connection details, מזינים את כתובת ה-IP הפרטית של מקור Oracle.
    2. בקטע Define connectivity method, בוחרים באפשרות Private connectivity (VPC peering).
    3. בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.

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