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

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

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

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

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

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

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

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

  • פריסה מיידית ללא זמן אספקה: הגדרת מעגלים ייעודיים של Interconnect יכולה להימשך שבועות. אם יש לכם רשת פרטית שמנוהלת על ידי 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
 

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

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

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

פועלים לפי ההוראות שבמאמר הרשאות להעברה ללא סוכן כדי להעניק את ההרשאות הנדרשות ב-Google Cloud.

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

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

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

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

המסוף

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

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

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

    מעבר אל Storage Transfer Service

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

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

  4. בקטע סוג היעד, בוחרים באפשרות Google Cloud Storage.

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

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

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

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

    שם ה-bucket הוא השם שמופיע במסוף הניהול של AWS.

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

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

    • מפתח גישה: מזינים את מפתח הגישה בשדה מזהה מפתח הגישה ואת הסוד שמשויך למפתח הגישה בשדה מפתח גישה סודי.

    • תפקיד AWS IAM לאיחוד שירותי אימות הזהות: מזינים את ה-ARN בשדה AWS IAM role ARN, עם התחביר הבא:

      • אזורים רגילים של AWS:

        arn:aws:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME
      • אזורי AWS GovCloud:

        arn:aws-us-gov:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME

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

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

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

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

    • אזורי AWS רגילים:

      arn:aws:sqs:us-east-1:1234567890:event-queue
    • אזורי AWS GovCloud:

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

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

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

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

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

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

    1. ברשימה הנפתחת הפעלה חד-פעמית, בוחרים אחת מהאפשרויות הבאות:

      • הפעלה חד-פעמית: הפעלה של העברה אחת, החל מזמן שתבחרו.
      • הפעלה בכל יום: ההעברה תפעל מדי יום, החל משעה שתבחרו.

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

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

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

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

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

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

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

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

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

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

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

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

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

      • מחיקת קבצים מהיעד אם הם לא נמצאים גם במקור: אם קבצים בקטגוריית היעד ב-Cloud Storage לא נמצאים גם במקור, הקבצים יימחקו מקטגוריית Cloud Storage.

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

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

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

    8. אפשר גם לבחור באפשרות Get transfer operation status updates via Cloud Pub/Sub notifications (קבלת עדכונים על סטטוס פעולת ההעברה באמצעות התראות 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

כדי להגדיר העברה באמצעות REST API, צריך להגדיר את השדה הבוליאני transferSpec.awsS3DataSource.managedPrivateNetwork לערך true בתוך מטען ה-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 לצורך אימות. פרטים על שימוש בזהות מאוחדת או בפרטי כניסה ב-Secret Manager מופיעים במאמר הגדרת גישה ל-Amazon S3.

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

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