יצירת מכונה
מכונה של Bigtable משמשת כקונטיינר ברמה העליונה של האשכולות והטבלאות, ומאפשרת להגדיר אחסון ורפליקציה ב-8 אזורים לכל היותר כדי להבטיח זמינות גבוהה. אפשר ליצור ולהגדיר מכונה באמצעות מסוף Google Cloud , ה-CLI של Google Cloud, ה-CLI של cbt או ספריות הלקוח של Cloud Bigtable.
לפני שמתחילים
חשוב לוודא שאתם מכירים את הסקירה הכללית של Bigtable ואת המכונות, האשכולות והצמתים.
הכנת הסביבה:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Bigtable API, Cloud Bigtable Admin API APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - מריצים את הפקודה הבאה כדי להתקין את ה-CLI של
cbt:gcloud components install cbt
תכנון ההגדרות האישיות:
אופציונלי: אם אתם מתכננים להפעיל רפליקציה, בצעו את הפעולות הבאות:
- כדאי להקדיש כמה דקות לקריאת הסקירה הכללית על רפליקציה.
- מזהים את תרחיש השימוש שלכם לרפליקציה.
- קובעים את האזור או האזורים שבהם המכונה צריכה להיות, בהתאם לתרחיש לדוגמה ולמיקום של האפליקציה והתנועה.
- מחליטים איך להשתמש בפרופילי אפליקציות כדי לנתב בקשות נכנסות.
אופציונלי: אם אתם רוצים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) במקום בהצפנה שמוגדרת כברירת מחדל ומנוהלת על ידי Google, ודאו שמזהה מפתח ה-CMEK מוכן לפני שאתם יוצרים את המכונה החדשה. אי אפשר להוסיף הגנת CMEK למכונה אחרי שהיא נוצרה, ואי אפשר לשנות או להחליף את מפתח ה-CMEK אחרי שהמכונה נוצרה. מידע נוסף מופיע במאמר שימוש במפתחות הצפנה בניהול הלקוח (CMEK).
יצירת מכונה
כדי ליצור מכונה של Bigtable:
המסוף
נכנסים לדף Create instance במסוף Google Cloud .
נותנים שם למכונה.
השם הזה מופיע במסוף Google Cloud כדי לזהות את המכונה.
צריך להזין מזהה מכונה.
מזהה המכונה הוא מזהה קבוע של המכונה.
לוחצים על Continue.
בקטע Select your edition, בוחרים מהדורה של Bigtable.
כדי להשוות בין המפרטים של המהדורות, לוחצים על השוואה בין מהדורות. מידע נוסף זמין במאמר סקירה כללית על מהדורות.
לוחצים על Continue.
בוחרים אם להשתמש בדיסק SSD או HDD לאשכולות. ברוב המקרים, SSD הוא האפשרות הטובה ביותר. אם רוצים להפעיל את השכבה בזיכרון, בוחרים באפשרות SSD. הבחירה הזו היא סופית.
לוחצים על Continue.
מזינים מזהה לאשכול הראשון.
מזהה האשכול הוא מזהה קבוע של האשכול.
בוחרים את האזור והתחום שבהם האשכול הראשון יפעל.
אופציונלי: כדי להגדיר את האשכול כך שתמיד יתבצע שינוי קנה מידה במרווחים של שני צמתים, בוחרים באפשרות Enable 2x node scaling. אי אפשר להגדיל את הצומת פי 2 בכל האזורים. במהדורת Enterprise Plus, האפשרות שמוגדרת כברירת מחדל היא הגדלת מספר הצמתים פי 2. מידע נוסף זמין במאמר גורם לקביעת קנה מידה של צומת.
אופציונלי: כדי להשתמש בשכבה בזיכרון ברמת האשכול, בוחרים באפשרות Enable in-memory.
בוחרים מצב התאמה לעומס (scaling) של צומת באשכול. ברוב המקרים, כדאי לבחור בהתאמה אוטומטית לעומס. הנחיות בנושא התאמה לעומס (scaling) מפורטות במאמר התאמה אוטומטית לעומס (automatic scaling).
- בקטע Manual node allocation, מזינים את מספר הצמתים של Bigtable באשכול הראשון. אם אתם לא בטוחים כמה צמתים אתם צריכים, השתמשו בברירת המחדל. אפשר להוסיף עוד צמתים בהמשך.
- בשדה Autoscaling, מזינים ערכים בשדות הבאים:
- מספר הצמתים המינימלי
- מספר הצמתים המקסימלי
- יעד ניצול המעבד (CPU)
- יעד ניצול נפח האחסון
אופציונלי: כדי להגן על המכונה באמצעות CMEK במקום ההצפנה שמוגדרת כברירת מחדל ומנוהלת על ידי Google, מבצעים את הפעולות הבאות:
- לוחצים על הצגת אפשרויות ההצפנה.
- בוחרים באפשרות Cloud KMS key.
- בשדה Key management type, בוחרים אחת מהאפשרויות הבאות:
- אם רוצים ליצור מפתחות Cloud KMS באופן אוטומטי, בוחרים באפשרות Cloud KMS with Autokey ולוחצים על Request a key. תופיע הודעה כשהמפתח נוצר בהצלחה ומוכן לשימוש.
- אם רוצים להוסיף מפתח באופן ידני, בוחרים באפשרות Cloud KMS. בוחרים או מזינים את שם המשאב של מפתח ה-CMEK שבו רוצים להשתמש באשכול. אי אפשר להוסיף את זה אחר כך. אם מוצגת בקשה לתת הרשאה לחשבון השירות של מפתח ה-CMEK, לוחצים על Grant. כדי לבצע את המשימה הזו, צריך להקצות לחשבון המשתמש את התפקיד "אדמין ב-Cloud KMS". לוחצים על Save.
אופציונלי: כדי להפעיל את הרפליקציה עכשיו, מבצעים את השלבים הנוספים הבאים:
- לוחצים על הצגת אפשרויות מתקדמות.
- לוחצים על Add cluster, מזינים את ההגדרות של האשכול ולוחצים על Add. חוזרים על השלב הזה כדי ליצור עוד אשכולות במכונה. אפשר גם להפעיל את הרפליקציה מאוחר יותר על ידי הוספת אשכול.
כל אזור בתחום יכול להכיל רק אשכול אחד. אם הלחצן Add cluster מושבת, צריך לשנות את האזור של האשכול הראשון.
כדי ליצור מכונה עם יותר משישה אשכולות, קודם יוצרים מכונה עם שישה אשכולות ואז מוסיפים לה עוד אשכולות.
לוחצים על Create כדי ליצור את המכונה.
בודקים את הגדרות הרפליקציה בפרופיל ברירת המחדל של האפליקציה כדי לראות אם הן מתאימות לתרחיש לדוגמה של הרפליקציה. יכול להיות שתצטרכו לעדכן את פרופיל ברירת המחדל של האפליקציה או ליצור פרופילים בהתאמה אישית לאפליקציה.
gcloud
משתמשים בפקודה
bigtable instances createכדי ליצור מכונה:gcloud bigtable instances create INSTANCE_ID \ --display-name=DISPLAY_NAME \ [--edition=EDITION] \ [--cluster-storage-type=CLUSTER_STORAGE_TYPE] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ nodes=NODES] \ [--cluster-config=id=CLUSTER_ID,zone=CLUSTER_ZONE, \ autoscaling-min-nodes=AUTOSCALING_MIN_NODES, \ autoscaling-max-nodes=AUTOSCALING_MAX_NODES, \ autoscaling-cpu-target=AUTOSCALING_CPU_TARGET, \ autoscaling-storage-target=AUTOSCALING_STORAGE_TARGET, \ kms-key=KMS_KEY], \ [node-scaling-factor=NODE_SCALING_FACTOR]מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_ID: המזהה הקבוע של המכונה-
DISPLAY_NAME: שם קריא לאנשים שמזהה את המכונה במסוף Google Cloud . CLUSTER_ID: המזהה הקבוע של האשכול-
CLUSTER_ZONE: האזור שבו פועל האשכול.
צריך להגדיר לפחות אשכול אחד למכונה, באמצעות הדגל
--cluster-config. כדי ליצור מכונה עם כמה אשכולות, חוזרים על הדגל--cluster-configלכל אשכול.בהקצאת צמתים ידנית, הגדרת
nodesבדגל--cluster-configהיא אופציונלית. אם לא מגדירים ערך, Bigtable מקצה צמתים לאשכול באופן אוטומטי על סמך טביעת הרגל של הנתונים, ומבצע אופטימיזציה לניצול של 50% מהאחסון. להקצאה האוטומטית הזו של צמתים יש השפעה על התמחור. אם רוצים לשלוט במספר הצמתים באשכול, מחליפים אתNODESבמספר הצמתים שרוצים באשכול. מידע נוסף על צמתיםברוב המקרים, כדאי לבחור בהתאמה לעומס (autoscaling) במקום בהקצאת צמתים ידנית. ב-autoscaling, צריך לספק אפשרויות של
autoscaling-בדגל--cluster-config(autoscaling-storage-targetהוא אופציונלי) ולא להשתמש ב-nodes. במאמר התאמה אוטומטית לעומס מוסבר איך לבחור את הערכים של הגדרות ההתאמה האוטומטית לעומס. מחליפים את הערכים הבאים במקשי האפשרויות שלcluster-config:-
AUTOSCALING_MIN_NODES: המספר המינימלי של צמתים באשכול. -
AUTOSCALING_MAX_NODES: המספר המקסימלי של צמתים באשכול. -
AUTOSCALING_CPU_TARGET: אחוז היעד של ניצול המעבד (CPU) באשכול. הערך צריך להיות בין 10 ל-80. -
AUTOSCALING_STORAGE_TARGET: (אופציונלי) יעד ניצול האחסון ב-GiB ש-Bigtable שומר על ידי הוספה או הסרה של צמתים. KMS_KEY: מפתח ה-CMEK של האשכול.
צריך להגדיר את הערך KMS_KEY בפורמט הבא:
projects/PROJECT/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEYמחליפים את מה שכתוב בשדות הבאים:
- PROJECT: המזהה הקבוע של הפרויקט
- LOCATION: המיקום של האשכול
- KEYRING: השם של אוסף המפתחות שמכיל את המפתח
- KEY: השם של המפתח
לדוגמה:
projects/examplestore.com:dev/locations/us-east1/keyRings/devt-cmek-2/cryptoKeys/key2אם המכונה מוגנת באמצעות CMEK, כל אשכול חייב להיות באותו אזור של מפתח ה-CMEK שלו. אפשר להוסיף אשכולות CMEK רק למכונות שכבר מוגנות באמצעות CMEK.
הפקודה מקבלת את הדגלים האופציונליים הבאים:
-
--edition=EDITION: המהדורה של המכונה שיוצרים. הערכים הקבילים הםENTERPRISEו-ENTERPRISE_PLUS. ערך ברירת המחדל הואENTERPRISE.
--cluster-storage-type=CLUSTER_STORAGE_TYPE: סוג האחסון שבו משתמשים במכונה. ערך ברירת המחדל הואSSD. ברוב המקרים, ערך ברירת המחדל הוא הטוב ביותר. הבחירה הזו היא סופית. מידע נוסף
--project=PROJECT: הפרויקט שבו רוצים ליצור את האשכול, אם הוא שונה מהפרויקט הנוכחי.
node-scaling-factor=NODE_SCALING_FACTOR: דגל שמפעיל שינוי קנה מידה של צומת פי 2. אפשר להפעיל את התכונה הזו גם עם התאמה ידנית וגם עם התאמה אוטומטית לעומס. הערכים הקבילים הםnode-scaling-factor-2xאוnode-scaling-factor-1x.במגבלות של גורם קביעת קנה המידה של צמתים מפורטת רשימה של אזורי Bigtable שבהם אי אפשר להגדיל את קנה המידה של הצמתים פי 2.
--tags=TAGKEY_NAME=TAGVALUE_NAME: דגל שמוסיף תגים למכונה חדשה. אפשר לציין גם את מפתח התג וגם את ערך התג לפי המזהה הקבוע או השם שלהם במרחב השמות. אפשר לציין כמה תגים ברשימה מופרדת בפסיקים, לדוגמה:- שימוש במזהים קבועים:
--tags=tagKeys/984321798431=tagValues/567890123456,
tagKeys/123456789012=tagValues/098765432109 - שימוש בשמות ממרחבי שמות:
--tags=123456789012/environment=123456789012/environment/prod,
123456789012/costcenter=123456789012/costcenter/marketing
- שימוש במזהים קבועים:
בודקים את הגדרות הרפליקציה בפרופיל ברירת המחדל של האפליקציה כדי לראות אם הן מתאימות לתרחיש לדוגמה של הרפליקציה. יכול להיות שתצטרכו לעדכן את פרופיל ברירת המחדל של האפליקציה או ליצור פרופילים בהתאמה אישית לאפליקציה.
cbt
קודם כל יוצרים מכונה עם אשכול אחד. משתמשים בפקודה
createinstanceכדי ליצור מכונה:cbt createinstance INSTANCE_ID \ DISPLAY_NAME \ CLUSTER_ID \ CLUSTER_ZONE \ CLUSTER_NUM_NODES \ CLUSTER_STORAGE_TYPEמזינים את הפרטים הבאים:
INSTANCE_ID: המזהה הקבוע של המכונה-
DISPLAY_NAME: שם קריא לאנשים שמזהה את המכונה במסוף Google Cloud . CLUSTER_ID: המזהה הקבוע של האשכול-
CLUSTER_ZONE: האזור שבו פועל האשכול. -
CLUSTER_NUM_NODES: השדה הזה הוא אופציונלי. אם לא מגדירים ערך, Bigtable מקצה צמתים באופן אוטומטי על סמך נפח הנתונים ומבצע אופטימיזציה לניצול של 50% מהאחסון. כדי לשלוט במספר הצמתים באשכול, מעדכנים את הערך שלCLUSTER_NUM_NODES. מוודאים שמספר הצמתים מוגדר לערך שאינו אפס. מידע נוסף על צמתים -
CLUSTER_STORAGE_TYPE: סוג האחסון שבו משתמשים באשכול. כל אשכול במכונה חייב להשתמש באותו סוג אחסון. אפשר להזין את הערכיםSSDו-HDD. ברוב המקרים,SSDהיא האפשרות הטובה ביותר. הבחירה הזו היא סופית. מידע נוסף
כדי להפעיל את הרפליקציה, משתמשים בפקודה
createclusterכדי להוסיף אשכול:cbt -instance=INSTANCE_ID \ createcluster CLUSTER_ID \ ZONE \ NUM_NODES \ STORAGE_TYPEמזינים את הפרטים הבאים:
-
INSTANCE_ID: המזהה הקבוע של המכונה שיצרתם CLUSTER_ID: המזהה הקבוע של האשכול
ZONE: האזור שבו פועל האשכול.כל אזור בתחום יכול להכיל רק אשכול אחד. לדוגמה, אם למכונה יש אשכול ב-
us-east1-b, אתם יכולים להוסיף אשכול באזור אחר באותו מחוז, כמוus-east1-c, או באזור במחוז נפרד, כמוeurope-west2-a.NUM_NODES: השדה הזה הוא אופציונלי. אם לא מגדירים ערך, Bigtable מקצה צמתים באופן אוטומטי על סמך נפח הנתונים ומבצע אופטימיזציה לניצול של 50% מהאחסון. כדי לשלוט במספר הצמתים באשכול, מעדכנים את הערך שלNUM_NODES. מוודאים שמספר הצמתים מוגדר לערך שאינו אפס.במקרים רבים, לכל אשכול במכונה צריך להיות אותו מספר של צמתים, אבל יש חריגים. מידע על צמתים ורפליקציה
STORAGE_TYPE: סוג האחסון שבו משתמשים באשכול. כל אשכול במכונה חייב להשתמש באותו סוג אחסון. אפשר להזין את הערכיםSSDו-HDD.
-
(אופציונלי) בודקים את הגדרות הרפליקציה בפרופיל ברירת המחדל של האפליקציה כדי לראות אם הן מתאימות לתרחיש לדוגמה של הרפליקציה. יכול להיות שתצטרכו לעדכן את פרופיל ברירת המחדל של האפליקציה או ליצור פרופילים בהתאמה אישית לאפליקציה.
C++
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
C#
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
PHP
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
במאמר ספריות הלקוח של Bigtable מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Bigtable.
כדי לבצע אימות ב-Bigtable, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.