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

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

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

יש שלוש שיטות שונות שאפשר להשתמש בהן לשירותים מנוהלים של מסדי נתונים של 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.

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

כדי להשתמש בחיבור מבודד עם מקורות Oracle שמנוהלים בענן, צריך להגדיר Cloud VPN או Cloud Interconnect באותה רשת VPC שבה רוצים ליצור את הגדרת החיבור המבודד ל-Database Migration Service. אם אתם לא יכולים ליצור את הגדרת החיבור המבודד ברשת ה-VPC שבה נמצאים Cloud VPN או Cloud Interconnect, תצטרכו גם מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי ליצור את החיבור.

אם אתם לא יכולים להשתמש ב-Cloud VPN או ב-Cloud Interconnect, מומלץ להשתמש בשיטות הקישוריות מנהרת SSH להעברה או רשימת היתרים של כתובות IP.

כדי להשתמש בחיבור מבודד עם קישור בין רשתות VPC שכנות (peering) ו-Cloud VPN:

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