GDC Sandbox מספק את שירות מסד הנתונים לבדיקה ולניהול של אשכולות מסד נתונים.
יצירת מסד נתונים
במאמר יצירה וניהול של אשכול מסדי נתונים מוסבר איך יוצרים ומנהלים אשכול מסדי נתונים.
מנועי מסדי נתונים זמינים
ארגז החול של GDC תומך רק ב-PostgreSQL וב-AlloyDB.
כדי ליצור אשכולות של מסדי נתונים, משתמשים במסוף GDC או ב-Distributed Cloud CLI:
המסוף
- בתפריט הראשי, בוחרים באפשרות Database Service (שירות מסד נתונים).
- לוחצים על יצירת אשכול מסדי נתונים.
בתיבת הדו-שיח Choose a database engine (בחירת מנוע מסד נתונים), בוחרים מנוע מסד נתונים.
בתיבת הדו-שיח Configure your cluster (הגדרת האשכול), מציינים את מזהה האשכול, הסיסמה וגרסת מסד הנתונים. אתם יכולים להפעיל גיבויים ולהגדיר את תקופת השמירה של הגיבוי.
בתיבת הדו-שיח Configure your primary instance (הגדרת המכונה הראשית), מציינים את המעבד, הזיכרון וקיבולת האחסון של המכונה הראשית באשכול מסד הנתונים. מומלץ לבחור נפח זיכרון שיספיק להכיל את הטבלה הכי גדולה.
לוחצים על יצירה. יצירת אשכול מסדי הנתונים יכולה להימשך כמה דקות. בודקים את סטטוס האשכול בדף סקירה כללית של האשכול. הסטטוס ישתנה מיצירה למוכן כשהאשכול יהיה מוכן.
gdcloud
לפני שמשתמשים ב-Distributed Cloud CLI, צריך להתקין ולהפעיל אותו. לאחר מכן, מאמתים את החשבון באמצעות הארגון.
מריצים את הפקודה הבאה כדי ליצור אשכול מסדי נתונים:
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORDמחליפים את המשתנים הבאים:
-
CLUSTER_NAMEבשם של האשכול החדש. -
DB_VERSIONעם מחרוזת הגרסה של האשכול החדש. לדוגמה,POSTGRESQL_13אוALLOYDBOMNI_15 -
ADMIN_PASSWORDמחליפים בסיסמת האדמין של האשכול החדש.
-
למידע נוסף על הגדרת משאבי המעבד, הזיכרון והאחסון של אשכול מסד הנתונים, על הגדרת גיבוי, על הפעלת זמינות גבוהה ועל אפשרויות אחרות שזמינות, מריצים את הפקודה:
gdcloud database clusters create --help
API
יצירת קובץ
db-cluster-create.yamlעם תוכןapiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD" --- apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1 kind: DBCluster metadata: name: DBCLUSTER_NAME namespace: USER_PROJECT spec: primarySpec: adminUser: passwordRef: name: db-pw-DBCLUSTER_NAME version: "DB_VERSION" resources: memory: DB_MEMORY cpu: DB_CPU disks: - name: DataDisk size: DB_DATA_DISKמחליפים את המשתנים הבאים:
-
DBCLUSTER_NAME, השם של אשכול מסד הנתונים. -
USER_PROJECT, השם של פרויקט המשתמש שבו ייווצר אשכול מסד הנתונים. -
BASE64_PASSWORD, קידוד base64 של סיסמת האדמין של מסד הנתונים. -
DBENGINE_NAME, השם של המנוע של מסד הנתונים. זה אחד מהערכיםalloydbomniאוpostgresql. -
DB_VERSION, הגרסה של המנוע של מסד הנתונים. -
DB_MEMORY, כמות הזיכרון שהוקצתה לאשכול מסד הנתונים, לדוגמה5Gi. -
DB_CPU, כמות המעבדים שהוקצו לאשכול מסד הנתונים, לדוגמה2. -
DB_DATA_DISK, כמות המקום שהוקצה לאשכול מסד הנתונים, לדוגמה10 Gi.
-
kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
התחברות למסד הנתונים
כברירת מחדל, אשכול מסד נתונים מאפשר חיבור רק מתוך אשכול המשתמשים ומאותו פרויקט.
כדי להפעיל חיבורים לכל אשכולות מסדי הנתונים בפרויקט מפרויקט אחר, אפשר לעיין במאמר בנושא הפעלת חיבורים בין פרויקטים.
כדי להתחבר למסד הנתונים מכתובות IP מחוץ לארגון GDC Sandbox, פועלים לפי ההוראות במאמר חיבור לאשכול מסדי נתונים כדי להפעיל את החיבורים החיצוניים.
אתם יכולים להשתמש ב-sshuttle כדי להתחבר למסד הנתונים שלכם באמצעות לקוח מסד נתונים מקומי כמו psql:
עוברים לקטע Connectivity בדף Database Service של אשכול מסד הנתונים. הדף הזה כולל:
- הסיסמה של חשבון האדמין (שם המשתמש הוא
dbsadmin) - שם המארח ומספר היציאה של נקודת הקצה הראשית של אשכול מסד הנתונים
- פקודת
psqlלחיבור לאשכול (לאשכולות של מסדי נתונים ב-PostgreSQL וב-AlloyDB Omni) - קישור להורדת אישור רשות האישורים (CA) של אשכול מסדי הנתונים
- הסיסמה של חשבון האדמין (שם המשתמש הוא
מורידים את אישור ה-CA ממסוף GDC בקטע Connectivity בדף Database Service של אשכול מסד הנתונים.
מגדירים את הלקוח כך שישתמש באישור ה-CA כדי לאמת את מסד הנתונים. במקרה של לקוחות
psql, מגדירים את משתנה הסביבהPGSSLROOTCERTלנתיב של קובץ האישור ואת משתנה הסביבהPGSSLMODEלהעדפה שלכם:export PGSSLROOTCERT=path/to/accounts_cert.pem export PGSSLMODE="verify-full"יוצרים מנהרה מאובטחת. אם יש לכם מופע פעיל של
sshuttleכמו שמתואר במאמר חיבור למופע, צריך להפסיק את התהליך הזה.sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \ --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \ 10.200.0.0/16 --dnsמחליפים את הערכים הבאים בערכים שקיבלתם מצוות GDC Sandbox:
-
GDC_SANDBOX_INSTANCE_NAME: השם של מכונת ה-Sandbox של GDC. -
PROJECT_NAME: הפרויקט שמכיל את סביבת ה-Sandbox של GDC. -
ZONE: האזור שמכיל את סביבת ה-Sandbox של GDC.
-
בזמן שהמנהרה פעילה, מריצים את הפקודה באמצעות
psqlבמסוף אחר.PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgresמחליפים את המשתנים הבאים:
-
DB_PASSWORD: הסיסמה מממשק המשתמש של המסוף. -
DB_HOSTNAME: שם המארח של מסד הנתונים מהמסוף. -
DB_PORT: מספר היציאה של מסד הנתונים מהמסוף. DB_USERNAME: שם המשתמש במסד הנתונים מהמסוף.
-