בדף הזה מוסבר איך להגדיר קישוריות רשת למקורות של Amazon RDS ל-Oracle, לצורך העברות הטרוגניות מ-Oracle ל-Cloud SQL ל-PostgreSQL באמצעות Database Migration Service.
יש שלוש שיטות שונות להגדרת הקישוריות הנדרשת לרשת לצורך העברות ממקורות של Amazon RDS for Oracle:
- רשימת היתרים של כתובות IP ציבוריות
- מנהרת SSH להעברה
- קישוריות IP פרטית. השיטות האלה דורשות Cloud VPN או Cloud Interconnect:
סקירה כללית על שיטות רישות של מקורות
הגדרת קישוריות לרשימת ההיתרים של כתובות ה-IP
כדי להשתמש בשיטת הקישוריות של רשימת ההיתרים של כתובות IP ציבוריות, פועלים לפי השלבים הבאים:
- ב-AWS Management Console, מבצעים את הפעולות הבאות:
- מוודאים שמסד הנתונים של Amazon RDS מוגדר לחיבורים של כתובות IP ציבוריות.
- מזהים את שם נקודת הקצה ומספר היציאה. צריך להזין את הערכים האלה כשיוצרים את פרופיל החיבור.
מידע נוסף על הכנת המכונה של Amazon RDS ל-Oracle זמין במאמר Connecting to your Oracle DB instance במסמכי התיעוד של Amazon RDS.
יוצרים קבוצת אבטחה שמאפשרת תעבורת נתונים מ-Database Migration Service ל-Amazon RDS VPC. איך נותנים גישה למכונה של מסד הנתונים ב-VPC באמצעות יצירת קבוצת אבטחה
חשוב לוודא שאתם מאפשרים את כל כתובות ה-IP הציבוריות של Database Migration Service באזור שבו אתם יוצרים את משימת ההעברה.
- בשלב מאוחר יותר, כש
יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
- בקטע Define connection details, משתמשים בשם נקודת הקצה של המכונה בתור כתובת ה-IP של מסד הנתונים של המקור.
- בקטע Define connectivity method, בוחרים באפשרות IP allowlist.
הגדרת קישוריות דרך מנהרת SSH להעברה
כדי להתחבר למסד הנתונים של המקור באמצעות מנהרת Secure Shell (SSH):
-
מפעילים מכונת Amazon EC2 שתשמש כמנהרת SSH ייעודית להעברה. חשוב לוודא שהגדרתם אותו באותו Amazon VPC שבו נמצא מקור Amazon RDS ל-Oracle.
מידע נוסף זמין במאמר Get started with Amazon EC2 במסמכי התיעוד של אמזון.
-
מתחברים למכונת ה-EC2 ומגדירים את מנהרת ה-SSH.
כך עושים את זה:
- יוצרים חשבון משתמש ייעודי ונפרד ל-Database Migration Service כדי להתחבר בתור:
adduser TUNNEL_ACCOUNT_USERNAME - כדי לשפר את האבטחה, הגבילו את הגישה של המעטפת לחשבון Database Migration Service:
usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
בוחרים את שיטת האימות שבה Database Migration Service ישתמש כדי להתחבר למנהרה.
אתם יכולים להשתמש בסיסמה פשוטה, או ליצור מפתחות SSH בפורמט
PEMשאותם תוכלו להעלות מאוחר יותר ל-Database Migration Service כשתיצרו את פרופיל החיבור של המקור.- אם רוצים להשתמש בסיסמה, לא צריך להגדיר שום דבר נוסף. זכרו את הסיסמה שיצרתם לחשבון TUNNEL_ACCOUNT_USERNAME.
- אם רוצים להשתמש באימות מבוסס-מפתח, צריך ליצור זוג מפתחות פרטיים-ציבוריים. לדוגמה, אפשר להשתמש בכלי
ssh-keygen:- יוצרים את זוג המפתחות:
ssh-keygen -m PEM -f YOUR_KEY_NAME
- מעתיקים את המפתח הציבורי (
YOUR_KEY_NAME.pub) לספרייה~/.ssh/בשרת המנהרה. - שומרים את המפתח הפרטי. צריך להעלות אותו בהמשך ל-Database Migration Service כשיוצרים את פרופיל החיבור של המקור.
- יוצרים את זוג המפתחות:
- עורכים את הקובץ
/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
- מריצים את הפקודה
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
- יוצרים חשבון משתמש ייעודי ונפרד ל-Database Migration Service כדי להתחבר בתור:
- בשלב מאוחר יותר, כש
יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
- בקטע Define connection details, משתמשים בשם נקודת הקצה של המכונה בתור כתובת ה-IP של מסד הנתונים של המקור.
- בקטע Define connectivity method, בוחרים באפשרות Forward-SSH tunnel.
- מזינים את כתובת ה-IP הציבורית או את שם המארח של שרת ה-SSH.
- מציינים את היציאה שהקציתם לחיבורי ה-SSH בשרת המנהרה.
- מזינים את שם המשתמש של המשתמש שיצרתם כדי ש-Database Migration Service יתחבר בתור המשתמש הזה (כלומר, הערך של TUNNEL_ACCOUNT_USERNAME).
- בתפריט הנפתח Authentication method, בוחרים את שיטת האימות שבה רוצים להשתמש ב-TUNNEL_ACCOUNT_USERNAME:
- אם רוצים להשתמש בסיסמת המשתמש, בוחרים באפשרות סיסמה ומזינים את הסיסמה של TUNNEL_ACCOUNT_USERNAME בטופס.
- אם הגדרתם את שרת ה-SSH כך שישתמש באימות מבוסס-מפתח, בוחרים באפשרות זוג מפתחות פרטי/ציבורי ומעלים את המפתח הפרטי
שיצרתם באמצעות הפקודה
ssh-keygen.
הגדרת חיבור מבודד באמצעות ממשקי Private Service Connect
שיטת הקישוריות הזו מאפשרת להתחבר לכתובת ה-IP הפרטית של מסד הנתונים במקור בלי לצרוך מכסת קישור בין רשתות VPC שכנות (peering). ממשקי Private Service Connect הם השיטה המומלצת לקישור דרך IP פרטית.
כדי להשתמש בשיטה הזו, צריך להגדיר Cloud VPN או Cloud Interconnect באותה רשת VPC שבה רוצים ליצור את חיבור הרשת. אם אתם לא יכולים ליצור את מחבר הרשת ברשת ה-VPC שבה נמצאים Cloud VPN או Cloud Interconnect, אתם צריכים גם מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי ליצור את החיבור.
אם אתם לא יכולים להשתמש ב-Cloud VPN או ב-Cloud Interconnect, מומלץ להשתמש בשיטות הקישוריות מנהרת SSH להעברה או רשימת היתרים של כתובות IP.
כדי לקבל את ההרשאות שנדרשות להגדרת ממשקי Private Service Connect, בקשו מהאדמין להקצות את תפקידי ה-IAM הנדרשים בפרויקט לחשבונות הבאים שמעורבים בתהליך ההעברה:
- חשבון המשתמש שמבצע את ההעברה:
- כדי ליצור ולנהל חיבורי רשת:
Compute Network Admin (
roles/compute.networkAdmin) - כדי ליצור ולנהל הגדרות של חיבור מבודד:
Database Migration Admin (
roles/datamigration.admin)
- כדי ליצור ולנהל חיבורי רשת:
Compute Network Admin (
אם אתם צריכים ליצור חיבור רשת או את רשת המשנה הבסיסית שלו בפרויקט אחר מ-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.createcompute.networkAttachments.getcompute.networkAttachments.listcompute.networkAttachments.updatecompute.networkAttachments.delete
- חשבון השירות של Database Migration Service:
compute.networkAttachments.getcompute.networkAttachments.updatecompute.subnetworks.getcompute.subnetworks.list
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
כדי להשתמש בקישוריות של ממשק Private Service Connect:
-
מגדירים קישוריות ישירה באמצעות Cloud VPN למכונה של Amazon RDS ל-PostgreSQL.
מידע נוסף זמין במאמר יצירת חיבורי HA VPN בין Google Cloud ל-AWS במסמכי התיעוד של Cloud VPN.
- אופציונלי: אם אתם לא יכולים ליצור את מחבר הרשת באותה רשת VPC שבה נמצא Cloud VPN, צרו מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי להעביר את החיבורים בין רשתות ה-VPC.
- יוצרים חיבור רשת ב-VPC שבו נמצא Cloud VPN. כך עושים את זה:
- נכנסים לדף מחברי רשת במסוף Google Cloud .
- לוחצים על יצירת מחבר רשת.
- נותנים שם לקובץ המצורף.
- בתפריט Network, בוחרים את ה-VPC שבו נמצא המקור.
-
באזור, משתמשים באותו אזור שבו מתכננים ליצור את מסד הנתונים של היעד.
Database Migration Service הוא מוצר אזורי לחלוטין, כלומר כל הישויות שקשורות להעברה (פרופילי חיבור של מקור ויעד, משימות העברה, מסדי נתונים של יעד, סביבות עבודה להמרת מסדי נתונים) חייבות להישמר באזור אחד.
- בתפריט Subnetwork, בוחרים תת-רשת שבה יש לפחות 6 כתובות IP פנויות לשימוש של Database Migration Service (כלומר, טווח
/29). -
בקטע Connection preference, בוחרים באפשרות Accept connections for selected projects.
Database Migration Service מוסיף באופן אוטומטי את פרויקט המפיק לרשימה Accepted projects כש יוצרים את הגדרת החיבור המבודד.
- אל תוסיפו פרויקטים שאושרו או פרויקטים שנדחו.
- לוחצים על יצירת מחבר רשת.
- ב-Database Migration Service, יוצרים הגדרת חיבור מבודד לממשקי Private Service Connect.
- בשלב מאוחר יותר, כש
יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
- בקטע Define connection details, מזינים את כתובת ה-IP הפרטית של מכונת המקור ב-Amazon RDS.
- בקטע Define connectivity method, בוחרים באפשרות Private connectivity.
- בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.
הגדרת חיבור מבודד באמצעות קישור בין רשתות VPC שכנות (peering)
כדי להשתמש בחיבור מבודד עם מקורות של Amazon RDS for 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:
-
מגדירים קישוריות ישירה באמצעות Cloud VPN למכונה של Amazon RDS ל-PostgreSQL.
מידע נוסף זמין במאמר יצירת חיבורי HA VPN בין Google Cloud ל-AWS במסמכי התיעוד של Cloud VPN.
- אופציונלי: אם אתם לא יכולים ליצור את הגדרת הקישוריות הפרטית באותה רשת VPC שבה נמצא Cloud VPN, צרו מכונה וירטואלית (VM) של שרת proxy הפוך ב-Compute Engine כדי להעביר את החיבורים בין רשתות ה-VPC.
- ב-Database Migration Service, יוצרים הגדרת חיבור מבודד כדי לקשר בין רשתות שכנות (peering) לרשת ה-VPC שבה נמצא Cloud VPN.
- בשלב מאוחר יותר, כש
יוצרים את פרופיל החיבור של המקור, מבצעים את הפעולות הבאות:
- בקטע Define connection details, מזינים את כתובת ה-IP הפרטית של מכונת המקור ב-Amazon RDS.
- בקטע Define connectivity method, בוחרים באפשרות Private connectivity.
- בתפריט הנפתח, בוחרים את הגדרת החיבור המבודד שיצרתם בשלב הקודם.