לפני שיוצרים עבודת העברה של מערכת קבצים, צריך להפעיל את ממשקי ה-API הנדרשים ולהתקין את Docker.
אם מופיעות שגיאות במהלך ההגדרה הראשונית, צריך לוודא שלמשתמש שאיתו נכנסתם לחשבון יש את ההרשאות הנדרשות לביצוע שלבי ההגדרה. במקרים רבים, ההרשאות האלה לא זמינות לכל המשתמשים, ויכול להיות שתצטרכו לפנות לאדמין של הפרויקט כדי לקבל עזרה.
דרישות מערכת
כדי להשתמש ב-Storage Transfer Service להעברות של מערכות קבצים, צריך:
מקור ו/או יעד שתואמים ל-POSIX.
קטגוריה של Cloud Storage ללא מדיניות שמירת נתונים. כדי להעביר לקטגוריה עם מדיניות שמירת נתונים, ראו העברה לקטגוריה עם מדיניות שמירת נתונים.
יציאת TCP 443 (HTTPS) פתוחה לחיבורים יוצאים.
בהמשך מפורטות הדרישות לגבי המכונה של סוכן ההעברה:
שרת 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
-
מפעילים את Google Storage Transfer API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
התקנת 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
מה השלב הבא?
- הגדרת הרשאות ב-Google Cloud
- יצירת מאגר נציגים
- התקנת סוכני העברה
- יצירת עבודת העברה
- איך משפרים את הביצועים של סוכן ההעברה