ניהול מסדי נתונים

‫GDC Sandbox מספק את שירות מסד הנתונים לבדיקה ולניהול של אשכולות מסד נתונים.

יצירת מסד נתונים

במאמר יצירה וניהול של אשכול מסדי נתונים מוסבר איך יוצרים ומנהלים אשכול מסדי נתונים.

מנועי מסדי נתונים זמינים

ארגז החול של GDC תומך רק ב-PostgreSQL וב-AlloyDB.

כדי ליצור אשכולות של מסדי נתונים, משתמשים במסוף GDC או ב-Distributed Cloud CLI:

המסוף

  1. בתפריט הראשי, בוחרים באפשרות Database Service (שירות מסד נתונים).
  2. לוחצים על יצירת אשכול מסדי נתונים.
  3. בתיבת הדו-שיח Choose a database engine (בחירת מנוע מסד נתונים), בוחרים מנוע מסד נתונים.

  4. בתיבת הדו-שיח Configure your cluster (הגדרת האשכול), מציינים את מזהה האשכול, הסיסמה וגרסת מסד הנתונים. אתם יכולים להפעיל גיבויים ולהגדיר את תקופת השמירה של הגיבוי.

  5. בתיבת הדו-שיח Configure your primary instance (הגדרת המכונה הראשית), מציינים את המעבד, הזיכרון וקיבולת האחסון של המכונה הראשית באשכול מסד הנתונים. מומלץ לבחור נפח זיכרון שיספיק להכיל את הטבלה הכי גדולה.

  6. לוחצים על יצירה. יצירת אשכול מסדי הנתונים יכולה להימשך כמה דקות. בודקים את סטטוס האשכול בדף סקירה כללית של האשכול. הסטטוס ישתנה מיצירה למוכן כשהאשכול יהיה מוכן.

gdcloud

  1. לפני שמשתמשים ב-Distributed Cloud CLI, צריך להתקין ולהפעיל אותו. לאחר מכן, מאמתים את החשבון באמצעות הארגון.

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

    gdcloud database clusters create CLUSTER_NAME \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    מחליפים את המשתנים הבאים:

    • CLUSTER_NAME בשם של האשכול החדש.
    • DB_VERSION עם מחרוזת הגרסה של האשכול החדש. לדוגמה, POSTGRESQL_13 או ALLOYDBOMNI_15
    • ADMIN_PASSWORD מחליפים בסיסמת האדמין של האשכול החדש.
  3. למידע נוסף על הגדרת משאבי המעבד, הזיכרון והאחסון של אשכול מסד הנתונים, על הגדרת גיבוי, על הפעלת זמינות גבוהה ועל אפשרויות אחרות שזמינות, מריצים את הפקודה:

    gdcloud database clusters create --help
    

API

  1. יצירת קובץ 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.
  2. kubectl --kubeconfig MANAGEMENT_API apply -f db-cluster-create.yaml
    

התחברות למסד הנתונים

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

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

כדי להתחבר למסד הנתונים מכתובות IP מחוץ לארגון GDC Sandbox, פועלים לפי ההוראות במאמר חיבור לאשכול מסדי נתונים כדי להפעיל את החיבורים החיצוניים.

אתם יכולים להשתמש ב-sshuttle כדי להתחבר למסד הנתונים שלכם באמצעות לקוח מסד נתונים מקומי כמו psql:

  1. עוברים לקטע Connectivity בדף Database Service של אשכול מסד הנתונים. הדף הזה כולל:

    • הסיסמה של חשבון האדמין (שם המשתמש הוא dbsadmin)
    • שם המארח ומספר היציאה של נקודת הקצה הראשית של אשכול מסד הנתונים
    • פקודת psql לחיבור לאשכול (לאשכולות של מסדי נתונים ב-PostgreSQL וב-AlloyDB Omni)
    • קישור להורדת אישור רשות האישורים (CA) של אשכול מסדי הנתונים
  2. מורידים את אישור ה-CA ממסוף GDC בקטע Connectivity בדף Database Service של אשכול מסד הנתונים.

  3. מגדירים את הלקוח כך שישתמש באישור ה-CA כדי לאמת את מסד הנתונים. במקרה של לקוחות psql, מגדירים את משתנה הסביבה PGSSLROOTCERT לנתיב של קובץ האישור ואת משתנה הסביבה PGSSLMODE להעדפה שלכם:

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. יוצרים מנהרה מאובטחת. אם יש לכם מופע פעיל של 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.
  5. בזמן שהמנהרה פעילה, מריצים את הפקודה באמצעות psql במסוף אחר.

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    מחליפים את המשתנים הבאים:

    • DB_PASSWORD: הסיסמה מממשק המשתמש של המסוף.
    • DB_HOSTNAME: שם המארח של מסד הנתונים מהמסוף.
    • DB_PORT: מספר היציאה של מסד הנתונים מהמסוף.
    • DB_USERNAME: שם המשתמש במסד הנתונים מהמסוף.