דרישות להעברות של מערכת קבצים

לפני שיוצרים עבודת העברה של מערכת קבצים, צריך להפעיל את ממשקי ה-API הנדרשים ולהתקין את Docker.

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

דרישות מערכת

כדי להשתמש ב-Storage Transfer Service להעברות של מערכות קבצים, צריך:

בהמשך מפורטות הדרישות לגבי המכונה של סוכן ההעברה:

  • שרת Linux ב-64 ביט או מכונה וירטואלית שתומכים ב-Docker ויכולים לגשת לנתונים שאתם מתכננים להעביר. ‫Docker Community Edition תומך במערכות הפעלה CentOs,‏ Debian,‏ Fedora ו-Ubuntu.

    כדי להשתמש במערכות הפעלה אחרות של Linux, אפשר לעיין במאמר בנושא Docker Enterprise.

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

  • כל אילוץ ברמת המערכת או ברמת המשתמש על מספר מזהי התהליכים המותרים, כמו אילוץ שהוגדר באמצעות ulimit -u, צריך להתחשב במספר הסוכנים שאתם מתכננים להפעיל. כל תהליך של סוכן יכול ליצור עד כמה מאות שרשורים. מומלץ להסיר את המגבלות על מזהי תהליכים כשמפעילים סוכני העברה.

    לקוחות שמשתמשים ב-Podman כדי ליצור קונטיינרים של סוכנים צריכים לציין ערך --pids-limit גבוה מספיק כדי להכיל את השרשורים של סוכן Storage Transfer Service. ערך ברירת המחדל --pids-limit הוא 2048, וזה עלול לגרום לבעיות כשמריצים יותר מסוכן אחד. מומלץ להגדיר את --pids-limit=-1 כך שיהיה אפשר להשתמש במספר בלתי מוגבל של מזהי תהליכים לכל מאגר.

נקודות קצה נדרשות

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

נקודות קצה של Google

רשימת נקודות הקצה הנדרשות הזו עשויה להשתנות. כדי למנוע שיבושים בהעברה, מומלץ לאפשר את דומיין הבסיס googleapis.com ואת gcr.io, בתנאי שכללי המדיניות בנושא אבטחה בארגון מאפשרים זאת.

נקודת קצה (endpoint) שירות מטרה
storagetransfer.googleapis.com Storage Transfer Service הסוכן משתמש בה כדי להתחבר ל-Storage Transfer Service, לקבל משימות העברה ולדווח על מצב התקינות שלו.
storage.googleapis.com Cloud Storage ההרשאה הזו משמשת לביצוע פעולות ליבה של העברת נתונים, כולל רישום, קריאה וכתיבה של אובייקטים בקטגוריות של Cloud Storage.
www.googleapis.com Google APIs משמש להורדת עדכוני גרסה של סוכן ההעברה.
monitoring.googleapis.com Cloud Monitoring משמש לייצוא של מדדי ביצועים של העברות ומדדי תקינות של נציגים.
logging.googleapis.com Cloud Logging משמש לפרסום יומני פעילות ומערכת של נציגים.
oauth2.googleapis.com ‫Google OAuth 2.0 משמש להחלפה מאובטחת של פרטי כניסה ולאחזור אסימוני גישה לטווח קצר לצורך הרשאה ל-API.
iamcredentials.googleapis.com IAM Service Account Credentials האפשרות הזו משמשת ליצירת פרטי כניסה זמניים כשהסוכן מוגדר להתחזות לחשבון שירות ספציפי.
cloudresourcemanager.googleapis.com מנהל המשאבים הכלי משמש במהלך ההתקנה וההגדרה של הסוכן כדי לאמת את הגדרת הפרויקט וההרשאות.
gcr.io Container Registry הפקודה משמשת להורדת קובץ האימג' של קונטיינר של סוכן שירות Storage Transfer Service במהלך ההתקנה.

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

נקודות קצה אזוריות

אם הגדרתם את הסוכנים שלכם להשתמש בנקודות קצה אזוריות (לדוגמה, storage.REGION.rep.googleapis.com), צריך לאפשר את שמות הדומיין הספציפיים האלה בכללי ה-proxy או חומת האש, במקום נקודת הקצה הרגילה storage.googleapis.com.

נקודות קצה של אחסון במקור וביעד

הסוכן גם צריך גישה לרשת למערכות האחסון הספציפיות של המקור והיעד, כמו ממשקי API שתואמים ל-S3, אשכולות HDFS או NFS ל-POSIX.

הגבלות על התאמה לעומס (scaling) של משימות וסוכנים

ל-Storage Transfer Service יש מגבלות על גודל העברות ועל מספר הסוכנים:

  • פחות ממיליארד קבצים לכל משימה
  • מכסת רוחב הפס צריכה להיות יותר מ-1MBps
  • עד 100 סוכנים בכל מאגר סוכנים
  • עד 800 מאגרי סוכנים לכל פרויקט

הפעלת ממשקי ה-API

  1. מפעילים את Google Storage Transfer API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

התקנת Docker

אם אתם משתמשים ב-Google Cloud CLI או ב-Docker כדי להתקין ולהפעיל סוכני העברה, אתם צריכים להתקין את Docker Engine במכונת Linux פיזית או וירטואלית.

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

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

אם נתקלתם בשגיאת התקנה, תוכלו להיעזר בקטע פתרון בעיות.

אישור אימות של Docker

כדי לאפשר לקונטיינר Docker לעבור אימות באמצעות פרטי הכניסה שמוגדרים כברירת מחדל ב-gcloud, מריצים את הפקודה הבאה כדי ליצור נפח Docker שמכיל קובץ עם פרטי הכניסה שמוגדרים כברירת מחדל באפליקציה:

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

מה השלב הבא?