העברה דרך רשת פרטית שמנוהלת על ידי Google

כשמעבירים נתונים מ-Amazon S3 ל-Cloud Storage, הנתונים בדרך כלל עוברים דרך קישורי פירינג ציבוריים באינטרנט, ו-AWS מחייבת עלויות סטנדרטיות של תעבורת נתונים יוצאת באינטרנט. ב-Storage Transfer Service יש אפשרות להשתמש ברשת פרטית בניהול Google להעברות מ-Amazon S3, שמאפשרת לנתונים לזרום בניתוב פרטי מאובטח ש-Google מקצה באופן אוטומטי.

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

יתרונות מרכזיים

האפשרות של רשת פרטית בניהול Google מספקת את היתרונות התפעוליים והפיננסיים הבאים להעברות מ-Amazon S3:

  • הפחתת העלויות של תעבורת הנתונים לאינטרנט: העברה מ-Amazon S3 דרך הרשת הפרטית בניהול Google עוקפת את התעריפים הרגילים של תעבורת הנתונים לאינטרנט ב-AWS. אתם לא משלמים על תעבורת נתונים לאינטרנט ב-AWS S3, אלא משלמים ל-Google Cloud תעריף צפוי מראש על עיבוד נתונים לכל GiB. פרטים נוספים מופיעים במאמר תמחור. עדיין חלים חיובים רגילים על בקשות API של AWS (כמו פעולות LIST,‏ GET ו-HEAD של Amazon S3), בהתאם ללוח התמחור של AWS.

  • ביטול החשיפה לאינטרנט הציבורי: הנתונים עוברים ישירות דרך חיבור פרטי בין AWS ל-Google Cloud, שמנוהל על ידי Google. מכיוון שהמנות אף פעם לא עוברות בטבלאות הניתוב של האינטרנט הציבורי, אתם מבטלים את הסיכון של יירוט ציבורי, ובמקביל מפשטים את התאימות לחומת האש ולמודל אבטחה של אפס אמון.

  • אין צורך בתחזוקת תשתית: בניגוד לרשת פרטית בניהול הלקוח, אתם לא צריכים להקצות, להגדיר או לשלם עמלות חוזרות על יציאות לחיבורים פיזיים (כמו Cloud Interconnect או AWS Direct Connect), שערי VPN או ניתוב DNS בהתאמה אישית. ‫Google מנהלת באופן מלא את מקבץ הרשת הפרטית מקצה לקצה.

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

שיקולים שקשורים לרוחב פס ולביצועים

כל המשימות של Storage Transfer Service בכל הפרויקטים שמשתמשים ברשת הפרטית בניהול Google, חולקות קיבולת רשת אגורה משותפת. בתקופות של שימוש גלובלי גבוה, יכול להיות שמהירויות ההעברה יוגבלו או שזמן האחזור יתארך.

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

אזורי AWS נתמכים

האפשרות של רשת פרטית בניהול Google זמינה להעברות ללא סוכן מהאזורים הבאים של Amazon S3:

ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-south-2
ap-southeast-1
ca-central-1
ca-west-1
eu-central-1
eu-central-2
eu-north-1
eu-south-1
eu-south-2
eu-west-1
eu-west-2
eu-west-3
us-east-1
us-east-2
us-west-1
us-west-2
 

אי אפשר להעביר נתונים דרך הרשת הפרטית שמנוהלת על ידי Google באזורים של AWS GovCloud.

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

לפני שיוצרים את ההעברה, צריך להגדיר את הרשאות המקור והרשאות IAM.

הגדרת הרשאות IAM

כדי לתת את ההרשאות הנדרשות ב-Google Cloud בקטגוריית היעד, פועלים לפי ההוראות במאמר הגדרת גישה ל-sink: Cloud Storage.

הגדרת הגישה לקטגוריית S3

כדי להגדיר גישה לנתונים ב-Amazon S3, פועלים לפי ההוראות במאמר הגדרת גישה למקור: Amazon S3.

יצירת העברה ברשת פרטית בניהול Google

אתם יכולים להפעיל את האפשרות של רשת פרטית בניהול Google כשאתם יוצרים משימת העברה חדשה או כשאתם מעדכנים מפרט העברה קיים של Amazon S3 באמצעות מסוף Google Cloud או ה-API בארכיטקטורת REST.

המסוף

כדי להפעיל את האפשרות של רשת פרטית בניהול Google, מסמנים את התיבה בשלב Choose settings כשיוצרים את משימת ההעברה.

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

  1. נכנסים לדף Storage Transfer Service במסוף Google Cloud .

    כניסה ל-Storage Transfer Service

  2. לוחצים על Transfer. מוצג הדף Create a transfer job.

  3. בקטע סוג המקור, בוחרים באפשרות Amazon S3.

  4. בקטע Destination type, בוחרים באפשרות Google Cloud Storage.

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

    כדי להגדיר העברה מבוססת-אירועים, פועלים לפי ההוראות במאמר העברות מבוססות-אירועים.

  6. לוחצים על השלב הבא.

  7. בשדה Bucket or folder name, מזינים את שם קטגוריית המקור.

    שם הקטגוריה הוא השם שמופיע ב-AWS Management Console.

  8. בוחרים את שיטת האימות של Amazon Web Services ‏(AWS). פרטים נוספים זמינים במאמר הגדרת גישה למקור: Amazon S3.

    • ‫Secret resource: בוחרים באפשרות הזו כדי להשתמש בפרטי כניסה של אמזון שנשמרו ב-Secret Manager. בוחרים סוד מהרשימה או מזינים אותו ידנית בפורמט projects/PROJECT_NUMBER/secrets/SECRET_NAME.

    • ‫Access key: מזינים את מפתח הגישה בשדה Access key ID ואת הסוד שמשויך למפתח הגישה בשדה Secret access key.

    • ‫AWS IAM role for identity federation: מזינים את ה-ARN בשדה AWS IAM role ARN, בתחביר הבא:

      arn:aws:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫AWS_ACCOUNT: מזהה החשבון ב-AWS, בלי מקפים.
      • ‫AWS_ROLE_NAME: שם התפקיד ב-AWS. אם בארגון שלכם משתמשים בנתיבים כדי לארגן תפקידים, צריך לכלול את הנתיב עם שם התפקיד. לדוגמה, developers/transfer_user.

      מידע נוסף על ARNs זמין במאמר IAM ARNs.

  9. אם זו העברה מבוססת-אירועים, מזינים את ה-ARN של תור Amazon SQS, בפורמט הבא:

    arn:aws:sqs:us-east-1:1234567890:event-queue
  10. אפשר גם לסנן אובייקטים לפי קידומת, לפי תאריך השינוי האחרון או לפי סוג האחסון. אם ציינתם תיקייה כמיקום המקור, מסנני הקידומת הם ביחס לתיקייה הזו. לדוגמה, אם המקור הוא my-test-bucket/path/, מסנן הכללה של file כולל את כל הקבצים שמתחילים ב-my-test-bucket/path/file.

  11. לוחצים על השלב הבא.

  12. בשדה Bucket or folder, מזינים את שם הקטגוריה ושם התיקייה (אופציונלי) של היעד, או לוחצים על Browse כדי לבחור קטגוריה מרשימת הקטגוריות הקיימות בפרויקט הנוכחי. כדי ליצור קטגוריה חדשה, לוחצים על סמל של דלי Create new bucket.

  13. לוחצים על השלב הבא.

  14. בוחרים את אפשרויות התזמון:

    הערה: השירות להעברת אחסון מציג את לוחות הזמנים של משימות ההעברה באזור הזמן המקומי, אבל מאחסן את השעות האלה לפי אזור זמן אוניברסלי מתואם (UTC). אם אתם מושפעים משעון הקיץ (DST), יכול להיות שתחוו שינוי בלוח הזמנים של משימת ההעברה כששעון הקיץ מתחיל או מסתיים.

    1. ברשימה הנפתחת Run once, בוחרים אחת מהאפשרויות הבאות:

      • ‫Run once: הפעלה של העברה אחת, החל מהשעה שבחרתם.
      • ‫Run every day: הפעלת העברה מדי יום, החל מהשעה שתבחרו.

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

      • ‫Run every week: הפעלת העברה מדי שבוע, החל מהשעה שבחרתם.
      • ‫Run with custom frequency: הפעלת העברה בתדירות שאתם בוחרים. אפשר לבחור לחזור על ההעברה במרווחי זמן קבועים של שעות, ימים או שבועות.

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

      • ‫Run on demand: לא תופעל הרצה כשמשימת ההעברה הזו נוצרת. תצטרכו להפעיל את המשימה באופן ידני.
    2. ברשימה הנפתחת Starting now, בוחרים אחת מהאפשרויות הבאות:

      • ‫Starting now: ההעברה תתחיל אחרי שתלחצו על Create.
      • ‫Starting on: ההעברה תתחיל בתאריך ובשעה שתבחרו. לוחצים על Calendar כדי להציג לוח שנה ולבחור את תאריך ההתחלה.
  15. לוחצים על השלב הבא.

  16. בוחרים את ההגדרות של משימת ההעברה.

    1. בשדה Description, מזינים תיאור של ההעברה. מומלץ להזין תיאור משמעותי וייחודי כדי שתוכלו להבדיל בין המשימות.

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

    3. בקטע Metadata options, בוחרים את סוג האחסון הרצוי ואת ההתנהגות של זמן היצירה. לפרטים נוספים, ראו שמירת מטא-נתונים.

    4. בקטע When to overwrite, בוחרים אחת מהאפשרויות הבאות:

      • ‫Never: לא מחליף קובץ יעד אם לקובץ המקור יש שם זהה. המערכת מדלגת על קובץ המקור.
      • אם שונה: החלפת קובצי היעד אם לקובץ המקור עם אותו שם יש ערכי Etag או סיכום ביקורת (checksum) שונים.
      • ‫Always: תמיד מחליף את קובצי היעד כשלמקור יש את אותו שם, גם אם הם זהים.
    5. בקטע When to delete, בוחרים אחת מהאפשרויות הבאות:

      • אף פעם: אף פעם לא למחוק קבצים מהמקור או מהיעד.
      • ‫Delete files from source after they're transferred: מחיקת הקבצים מהמקור אחרי שהם מועברים ליעד. אם קובץ מקור לא מועבר, למשל כי הוא כבר קיים ביעד, קובץ המקור לא נמחק.

        חשוב: אם אין לך גיבוי מקומי, אי אפשר לבטל את הפעולה הזו.

      • ‫Delete files from destination if they're not also at source: אם קבצים בקטגוריית היעד של Cloud Storage לא נמצאים גם במקור, מוחקים את הקבצים מקטגוריית Cloud Storage.

        האפשרות הזו מבטיחה שקטגוריית היעד של Cloud Storage תהיה זהה למקור.

    6. בחירת אפשרויות לניתוב ברשת:

      • בוחרים באפשרות שימוש ברשת פרטית מנוהלת.
    7. בקטע Logging options, בוחרים באפשרות Enable logging in Cloud Logging אם רוצים ליצור רשומה מפורטת של הפעולות שבוצעו בכל קובץ שהועבר. יכול להיות שתחויבו על השימוש ב-Cloud Logging. פרטים נוספים זמינים במאמר פעולות של העברת יומנים.

    8. אם רוצים, בוחרים באפשרות קבלת עדכוני סטטוס פעילות של העברה באמצעות התראות Cloud Pub/Sub, בוחרים את נושא Pub/Sub ובוחרים אילו אירועים יפעילו התראות. פרטים נוספים זמינים במאמר התראות Pub/Sub.

    9. בקטע Choose service account type, בוחרים את הזהות שבה רוצים להשתמש:

      • סוכן השירות של Storage Transfer Service: סוכן השירות שמוגדר כברירת מחדל ומנוהל על ידי Google מקבל באופן אוטומטי גישה לקטגוריות המקור והיעד.
      • סוכן שירות בניהול המשתמש: שימוש בחשבון שירות בהתאמה אישית שיצרתם. לפני שבוחרים באפשרות הזו, צריך לוודא שלחשבון השירות ניתנה גישה לקטגוריית המקור, לקטגוריית היעד ול-Pub/Sub. איך משתמשים בסוכן שירות שמנוהל על ידי המשתמש
  17. לוחצים על Create כדי ליצור את משימת ההעברה.

‫CLI של gcloud

ב-CLI של gcloud אין תמיכה בהגדרת העברות ברשת הפרטית שמנוהלת על ידי Google. כדי להפעיל את האפשרות הזו, משתמשים במסוף Google Cloud או ב-API בארכיטקטורת REST.

ספריות לקוח

ספריות הלקוח של Storage Transfer Service לא תומכות בהגדרת העברות דרך הרשת הפרטית שמנוהלת על ידי Google. כדי להפעיל את האפשרות הזו, משתמשים במסוףGoogle Cloud או ב-API בארכיטקטורת REST.

‫API בארכיטקטורת REST

כדי להגדיר העברה באמצעות ה-API בארכיטקטורת REST, מגדירים את השדה הבוליאני transferSpec.awsS3DataSource.managedPrivateNetwork לערך true בתוך המטען הייעודי (payload) של בקשת ה-JSON כששולחים קריאה ל-transferJobs.create או ל-transferJobs.patch.

בקשת HTTP

POST https://storagetransfer.googleapis.com/v1/transferJobs

גוף הבקשה

{
  "description": "S3 to Cloud Storage over Google-managed private network",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "awsS3DataSource": {
      "bucketName": "AWS_SOURCE_NAME",
      "managedPrivateNetwork": true,
      "awsAccessKey": {
        "accessKeyId": "AWS_ACCESS_KEY_ID",
        "secretAccessKey": "AWS_SECRET_ACCESS_KEY"
      }
    },
    "gcsDataSink": {
      "bucketName": "GCS_SINK_NAME"
    },
    "transferOptions": {
      "overwriteWhen": "DIFFERENT",
      "deleteObjectsFromSourceAfterTransfer": false
    }
  }
}

בדוגמה הזו נעשה שימוש בפרטי הכניסה של AWS לצורך אימות. במאמר הגדרת הגישה ל-Amazon S3 מוסבר איך משתמשים בזהות מאוחדת או בפרטי כניסה ב-Secret Manager.

מעקב ואימות של ניתוב ברשת פרטית

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

  1. ‫Cloud Logging: כשמפעילים את transfer-logs (--log-actions=COPY,DELETE,FAILED), בודקים את היומנים המובְנים של פעולת ההעברה. המטא-נתונים של החיבור ביומן הפעולות של COPY מאשרים שהרפליקציה בוצעה בהצלחה בנתיב של הרשת הפרטית.

  2. אימות החיוב: בודקים את לוחות הבקרה של החיוב ב-AWS וב-Google Cloud. בחשבונית של AWS, לא יופיעו חיובים על העברת נתונים (DataTransfer-Out-Bytes) מהאינטרנט הציבורי לאובייקטים שהועברו. במקום זאת, עמלת עיבוד הנתונים לכל GiB מופיעה בחשבונית של Google Cloud בקטע Storage Transfer Service.

אפשרויות ניתוב חלופיות ברשת

אם הרשת הפרטית שמנוהלת על ידי Google לא עונה על הדרישות של עומס העבודה, Storage Transfer Service תומך בכמה אפשרויות אחרות לניתוב רשת ב-Amazon S3:

  • ניתוב באינטרנט הציבורי: העברת נתונים דרך קישורים רגילים בין רשתות שכנות (peering) באינטרנט הציבורי, בין Amazon S3 ל-Google Cloud. כל פקודות ה-API, כותרות האימות וזרמי הנתונים של האובייקטים מוצפנים מקצה לקצה בזמן ההעברה באמצעות HTTPS עם Transport Layer Security ‏(TLS 1.3). יחולו תעריפי AWS הרגילים על תעבורת נתונים יוצאת באינטרנט. למידע נוסף, קראו את המאמר העברה מ-Amazon S3.

  • רשת פרטית בניהול הלקוח: הנתונים עוברים דרך תשתית הקישוריות ההיברידית שהגדרתם מראש (כמו Cloud Interconnect,‏ Cloud VPN או AWS Direct Connect) באמצעות כתובות IP פרטיות. האפשרות הזו נותנת לכם שליטה מלאה על הארכיטקטורה ורוחב פס ייעודי וצפוי ברשת. לפרטים נוספים, קראו את המאמר העברות דרך רשת פרטית בניהול הלקוח.

  • ניתוב Amazon CloudFront CDN: הנתונים מאוחזרים דרך הפצה של Amazon CloudFront לפני קטגוריית S3. בהתאם לרמת התמחור של AWS CloudFront ולנפח הנתונים, הפעולה הזו יכולה להפחית את החיובים על תעבורת נתונים לאינטרנט בהשוואה להורדות ציבוריות ישירות מ-S3. פרטים נוספים זמינים במאמר העברה מ-S3 באמצעות CloudFront.