יצירת מכונות וירטואליות של SQL Server

‫Microsoft SQL Server היא מערכת מסדי נתונים שפועלת ב-Windows Server ובחלק מהפצות Linux. אתם יכולים להשתמש ב-SQL Server ב-Compute Engine כחלק מהקצה העורפי של האפליקציות שלכם, כסביבת פיתוח ובדיקה גמישה, או בנוסף למערכות המקומיות שלכם לגיבוי ולהתאוששות מאסון.

‫Compute Engine מספק תמונות עם Microsoft SQL Server שמותקן מראש ב-Windows Server. במקרה של תמונות SQL Server, ‏ Compute Engine מנהל את הרישיון גם ל-Windows Server וגם ל-SQL Server, והעלות כלולה בחשבון החודשי. יצירת מכונות וירטואליות (VM) עם SQL Server והרחבת קנה המידה להגדרות גדולות של כמה צמתים כשצריך.

‫Compute Engine מאחסן את הנתונים שלכם בדיסקים של אחסון בלוקים עמידים עם יתירות אוטומטית והצפנה במנוחה אוטומטית. אפשר להשתמש בדיסקים האלה כדי לאחסן את הנתונים של SQL Server, ולא צריך לדאוג לגבי העמידות או האבטחה של הנתונים. כדי לשפר את הביצועים, כדאי ליצור את מכונות ה-VM עם SSD מקומי כמטמון שמספק IOPS וביצועים נוספים לשאילתות SQL Server.

אפשר ליצור מכונות וירטואליות של Compute Engine שמופעל בהן SQL Server בדרכים הבאות:

רשימה מלאה של התמונות הזמינות שכוללות SQL Server שהותקן מראש מופיעה במאמר פרטים על מערכת ההפעלה.

דרישות לגבי סוגי מכונות לתמונות של SQL Server

סוג המכונה המתאים ביותר ל-SQL Server תלוי במהדורה של SQL Server שאתם מריצים.

SQL Server Standard

אפשר להריץ SQL Server Standard על מכונות וירטואליות שנוצרו עם כל סוג של מכונה, אבל סוגי מכונות עם ליבות משותפות לא מספקים ביצועים אופטימליים. ‫Google ממליצה להשתמש במופעי מכונה וירטואלית עם לפחות מעבד וירטואלי אחד כדי להפעיל את SQL Server Standard.

SQL Server Enterprise

למכונות וירטואליות שמופעל בהן SQL Server Enterprise צריכים להיות לפחות 4 מעבדים וירטואליים. כדי להשיג ביצועים אופטימליים, Google ממליצה להפעיל את SQL Server Enterprise על מכונות וירטואליות עם קיבולות זיכרון גדולות יותר. בהתאם לעומס העבודה, מומלץ להשתמש בסוגי מכונות עם קונפיגורציה מוגדרת (predefined) עם 8 ליבות vCPU או יותר, כמו N2.highmem highmem סוגי המכונות שמוגדרים מראש ממקסמים את היחס בין הזיכרון לכל vCPU שזמין ב-Compute Engine, וזה אופטימלי למכונות וירטואליות של SQL Server Enterprise.

אתם יכולים להשתמש ב-SQL Server Enterprise ב-Compute Engine כדי ליצור קבוצות זמינות של SQL Server.

רכיבי ברירת המחדל

תמונות של SQL Server כוללות כמה רכיבים כברירת מחדל. רכיבי ברירת המחדל תלויים במהדורה של SQL Server שבחרתם.

למידע על רכיבי ברירת המחדל שכלולים בגרסה של SQL Server, אפשר לעיין במאמר בנושא מהדורות ותכונות נתמכות של SQL Server 2019.

מידע על שינוי רכיבי SQL Server זמין במאמר הוספת תכונות למופע של SQL Server.

לפני שמתחילים

יצירת מכונה של SQL Server

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

כדי להשיג ביצועים אופטימליים, פלטפורמות של שרתי מסדי נתונים דורשות סוגי מכונות עם יותר מעבדים וירטואליים וכמויות גדולות יותר של זיכרון. ‫Google ממליצה להשתמש בסוגי מכונות עם לפחות 2 vCPU ולפחות 4 GB של זיכרון כשמפעילים מכונות של SQL Server. אתם יכולים להשתמש בסוגי מכונות בהתאמה אישית כדי להגדיר מופעים של SQL Server בהתאם לדרישות הביצועים של עומס העבודה. כדי לשפר את הביצועים של האפליקציות, אפשר להשתמש בדיסקים גדולים יותר או בסוגי דיסקים מהירים יותר.

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

המסוף

כדי ליצור מופע של SQL Server, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Create an instance במסוף Cloud de Confiance .

    כניסה לדף Create an instance

  2. מציינים את פרטי מופע ה-VM.

  3. לוחצים על הכרטיסייה מערכת הפעלה ואחסון.

  4. לוחצים על שינוי ומבצעים את הפעולות הבאות:

    1. בכרטיסייה תמונות ציבוריות, לוחצים על הרשימה מערכת הפעלה ובוחרים באפשרות SQL Server on Windows Server.
    2. ברשימה Version, בוחרים גרסה.
    3. ברשימה Boot disk type (סוג דיסק האתחול), בוחרים סוג של דיסק אתחול.
    4. בשדה Size (GB) מגדירים את גודל דיסק האתחול.
    5. אופציונלי: כדי לשנות את ההגדרות המתקדמות של דיסק האתחול, לוחצים על הצגת הגדרות מתקדמות ומציינים את ההגדרות הרצויות.
    6. כדי לשמור את ההגדרות של דיסק האתחול, לוחצים על Select.
  5. בחלון Create an instance, לוחצים על Create.

אחרי שיוצרים את המכונה הווירטואלית, יוצרים כלל חומת אש כדי לאפשר גישה ל-SQL Server במכונה. יציאת ברירת המחדל של SQL Server היא 1433.

  1. נכנסים לדף Firewall Rules במסוף Cloud de Confiance .

    מעבר אל Firewall Rules

  2. בראש הדף, לוחצים על יצירת כלל חומת אש.

  3. מגדירים את הפרטים של כלל חומת האש.

    • בשדה שם, מציינים שם לכלל חומת האש.
    • בשדה Network (רשת), בוחרים את רשת ה-VPC שבה נמצא מופע SQL Server.
    • בשדה כיוון התנועה, בוחרים באפשרות 'תנועה נכנסת'.
    • בשדה Targets (יעדים), בוחרים את היעדים של כלל חומת האש. היעדים יכולים להיות כל המופעים, או תגי יעד או חשבונות שירות ספציפיים. לדוגמה, אפשר לבחור באפשרות כל המקרים ברשת. אם הגדרתם תג או חשבון שירות למופע של SQL Server, תוכלו להגביל את כלל חומת האש לתג או לחשבון השירות הספציפיים.
    • בשדה Source filter (מסנן מקור), בוחרים את טווח כתובות ה-IP שרוצים לאפשר להן גישה ליציאה הזו. עבור כלל תעבורה נכנסת, אפשר לבחור טווחי IPv4 של מקורות, טווחי IPv6 של מקורות, תגי מקור או חשבונות שירות. משתמשים בשדות אחרי מסנן מקור כדי לספק מידע נוסף על הבחירה.
    • בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו) ומזינים את היציאה שבה SQL Server משתמש. בדוגמה הזו, בוחרים באפשרות TCP ומזינים את היציאה 1433, שהיא יציאת ברירת המחדל.
  4. לוחצים על יצירה כדי ליצור את כלל חומת האש הזה ולאפשר גישה למופע של SQL Server דרך היציאה שצוינה.

אם אתם צריכים להוסיף עוד כללים לחומת האש של מכונת ה-VM, תוכלו לעיין במסמכי התיעוד בנושא כללים לחומת האש.

gcloud

משתמשים בפקודה compute images list כדי לראות רשימה של תמונות SQL Server זמינות:

gcloud compute images list --project windows-sql-cloud --no-standard-images

משתמשים בפקודה compute instances create כדי ליצור מכונה וירטואלית חדשה ולציין את משפחת האימג' לאחד מהאימג'ים הציבוריים של Windows Server או SQL Server.

gcloud compute instances create VM_NAME \
    --image-project windows-sql-cloud \
    --image-family IMAGE_FAMILY \
    --machine-type MACHINE_TYPE \
    --boot-disk-size BOOT_DISK_SIZE \
    --boot-disk-type BOOT_DISK_TYPE

מחליפים את מה שכתוב בשדות הבאים:

אחרי שיוצרים את המכונה הווירטואלית, צריך ליצור כלל בחומת האש כדי לאפשר גישה ל-SQL Server במכונה הווירטואלית. יציאת ברירת המחדל של SQL Server היא 1433.

gcloud compute firewall-rules create sql-server-1433 \
    --description "Allow SQL Server access from all sources on port 1433." \
    --allow tcp:1433 --network NETWORK

כאשר NETWORK הוא השם של רשת ה-VPC שבה נמצאת המכונה הווירטואלית.

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

Terraform

כדי ליצור את המכונות הווירטואליות של SQL Server, משתמשים במשאב google_compute_instance.

resource "google_compute_instance" "sqlserver_vm" {
  provider = google-beta
  name     = "sqlserver-vm"
  boot_disk {
    auto_delete = true
    device_name = "persistent-disk-0"
    initialize_params {
      image = "windows-sql-cloud/sql-std-2019-win-2022"
      size  = 50
      type  = "pd-balanced"
    }
    mode = "READ_WRITE"
  }
  machine_type = "n1-standard-4"
  zone         = "europe-west1-b"
  network_interface {
    access_config {
      network_tier = "PREMIUM"
    }
    network    = google_compute_network.default.id
    stack_type = "IPV4_ONLY"
    subnetwork = google_compute_subnetwork.default.id
  }
}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

REST

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

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

instance = {
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [{
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
         "diskName": "DISK_NAME",
         "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY",
         "diskSizeGb": "BOOT_DISK_SIZE",
         "diskType": "BOOT_DISK_TYPE",
       }
    }],
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
     }],
    "network": "global/networks/default"
  }],
  "serviceAccounts": [{
       "email": DEFAULT_SERVICE_EMAIL,
       "scopes": DEFAULT_SCOPES
  }]
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: המזהה של הפרויקט.
  • ZONE: האזור של המכונה הזו.
  • VM_NAME: השם של מכונת ה-VM החדשה.
  • MACHINE_TYPE: סוגי המכונות הזמינים.
  • IMAGE_PROJECT: ‏windows-cloud לתמונות של Windows Server או windows-sql-cloud לתמונות של Windows Server עם SQL Server שהותקן מראש.
  • IMAGE_FAMILY: משפחות של תמונות ציבוריות של תמונות Windows Server או SQL Server.
  • BOOT_DISK_SIZE: גודל דיסק האתחול ב-GB. לדיסקים מתמידים גדולים יותר יש תפוקה גבוהה יותר.
  • BOOT_DISK_TYPE: הסוג של דיסק האתחול של ה-VM. לדוגמה, pd-ssd.

אחרי שיוצרים את המכונה הווירטואלית, משתמשים ב-method‏ firewalls.insert כדי ליצור כלל בחומת האש שמאפשר גישה ל-SQL Server במכונה הווירטואלית. יציאת ברירת המחדל של SQL Server היא 1433.

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/firewalls

{
 "name": "sql-server-1433",
 "network": "global/networks/NETWORK",
 "allowed": [
  {
   "IPProtocol": "tcp",
   "ports": [
    "1433"
   ]
  }
 ]
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: המזהה של הפרויקט.
  • NETWORK: השם של רשת ה-VPC שבה נמצאת המכונה הווירטואלית.

אחרי שיוצרים את מופע SQL Server, צריך להגדיר את הסיסמה הראשונית ל-VM כדי שיהיה אפשר להתחבר ל-VM באמצעות RDP. מריצים את SQL Server Management Studio כאדמין כדי לנהל מסדי נתונים במופע של SQL Server.

אפשר לשפר את ההתקנה של SQL Server באמצעות אחד או יותר מהפריטים הבאים:

ניהול מסדי נתונים של SQL Server

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

אם אתם לא יכולים להתקין את Management Studio בתחנת העבודה המקומית, אתם יכולים להתחבר למכונות וירטואליות של Windows באמצעות RDP ולהריץ את Management Studio במכונה הווירטואלית עצמה. ‫SQL Server 2012 ו-SQL Server 2014 כוללים את SQL Server Management Studio כברירת מחדל. ב-SQL Server 2016, צריך להוריד את SQL Server Management Studio מאתר מיקרוסופט ולהתקין אותו במכונה הווירטואלית.

כברירת מחדל, SQL Server משתמש במצב אימות של Windows כדי לשלוט בגישה ל-SQL Server עצמו. כדי להשתמש במצב אימות של SQL Server, אפשר לשנות את מצב האימות.

עדכון שמות של מכונות SQL Server

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

המאמרים הבאים