Créer des instances de VM SQL Server


Microsoft SQL Server est un système de base de données qui s'exécute sur Windows Server et certaines distributions Linux. Vous pouvez utiliser SQL Server sur Compute Engine dans le backend pour vos applications, en tant qu'environnement flexible de test et de développement, ou en plus de vos systèmes sur site pour la sauvegarde et la reprise après sinistre.

Compute Engine fournit des images avec Microsoft SQL Server préinstallé sur Windows Server. Pour ces images SQL Server, Compute Engine gère la licence pour Windows Server et SQL Server et inclut ces frais dans votre facturation mensuelle. Créez des VM avec SQL Server, et faites-les évoluer vers de larges configurations multinœuds lorsque vous en avez besoin.

Compute Engine stocke vos données sur des disques persistants durables avec une redondance automatique et un chiffrement automatique au repos. Utilisez ces disques persistants pour stocker vos données SQL Server sans avoir à vous soucier de leur durabilité ou sécurité. Pour des performances supplémentaires, créez vos VM avec un disque SSD local en tant que cache fournissant des performances et des IOPS supplémentaires pour les requêtes SQL Server.

Vous pouvez créer des instances de machines virtuelles (VM) Compute Engine qui exécutent SQL Server comme suit :

Pour obtenir la liste complète des images disponibles avec SQL Server préinstallé, consultez la section Détails des systèmes d'exploitation.

Exigences de type de machine pour les images SQL Server

SQL Server Standard

Vous pouvez exécuter SQL Server Standard sur des VM avec n'importe quel type de machine, mais les types de machines à cœur partagé ne s'exécuteront pas de manière optimale. Nous vous recommandons d'utiliser des instances avec au moins un processeur virtuel pour exécuter SQL Server Standard.

SQL Server Enterprise

Les VM qui exécutent SQL Server Enterprise doivent avoir au moins quatre processeurs virtuels. Pour des performances optimales, nous vous recommandons d'exécuter SQL Server Enterprise sur des VM disposant de plus grandes capacités de mémoire. En fonction de votre charge de travail, vous devez utiliser des types de machines à haute capacité de mémoire avec au moins huit processeurs virtuels. Ces types de machines optimisent le ratio de mémoire entre chaque processeur virtuel disponible sur Compute Engine, ce qui est idéal pour les VM SQL Server Enterprise.

Vous pouvez également utiliser SQL Server Enterprise sur Compute Engine pour créer des groupes de disponibilité SQL Server.

Composants par défaut

Les images SQL Server incluent plusieurs composants par défaut. Les composants par défaut varient en fonction de l'édition de SQL Server que vous avez sélectionnée.

Pour en savoir plus sur les composants par défaut inclus dans votre version de SQL Server, consultez la section Éditions et fonctionnalités compatibles de SQL Server 2019.

Pour en savoir plus sur la modification des composants SQL Server, consultez l'article Ajouter des fonctionnalités à une VM SQL Server.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Pour en savoir plus, consultez Set up authentication for a local development environment.

      REST

      Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Créer une instance SQL Server

Pour créer une instance SQL Server, définissez la famille d'images pour la version spécifique de SQL Server dont vous avez besoin. Pour obtenir la liste des familles d'images SQL Server, reportez-vous à la section Détails des systèmes d'exploitation.

Pour des performances optimales, les plates-formes du serveur de base de données nécessitent des types de machines comportant davantage de processeurs virtuels et de mémoire. Lorsque vous exécutez des instances SQL Server, Google vous recommande d'utiliser des types de machines avec au moins deux processeurs virtuels et 4 Go de mémoire. Vous pouvez utiliser des types de machines personnalisés pour configurer des instances SQL Server afin de répondre aux exigences de performances de votre charge de travail. De plus, vous pouvez utiliser des disques persistants plus volumineux et des disques persistants SSD plus rapides pour améliorer les performances de vos applications.

En outre, vous devez définir des règles de pare-feu spécifiques pour autoriser le trafic SQL Server sur le réseau ou le sous-réseau VPC dont votre VM fait partie. Pour plus d'informations, consultez la section Bonnes pratiques pour SQL Server.

Console

Pour créer une instance SQL Server, procédez comme suit :

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Spécifiez les détails de la VM.

  3. Dans la section Disque de démarrage, cliquez sur Modifier, puis procédez comme suit :

    1. Dans l'onglet Images publiques, cliquez sur la liste Système d'exploitation, puis sélectionnez SQL Server sur Windows Server.
    2. Dans la liste Version, sélectionnez une version.
    3. Dans la liste Type de disque de démarrage, sélectionnez un type de disque de démarrage.
    4. Dans le champ Taille (Go), définissez la taille du disque de démarrage.
    5. Facultatif : pour modifier la configuration avancée du disque de démarrage, cliquez sur Afficher la configuration avancée, puis spécifiez vos paramètres.
    6. Pour enregistrer la configuration du disque de démarrage, cliquez sur Sélectionner.
  4. Cliquez sur Create (Créer).

Après avoir créé la VM, définissez une règle de pare-feu pour autoriser l'accès à SQL Server sur votre VM. Le port SQL Server par défaut est le port 1433.

  1. Dans la console Google Cloud, accédez à la page Règles de pare-feu.

    Accéder à la page "Règles de pare-feu"

  2. En haut de la page, cliquez sur Créer une règle de pare-feu pour créer une règle.

  3. Définissez les détails de cette règle de pare-feu.

    • Dans le champ Nom, définissez un nom pour la règle de pare-feu.
    • Dans le champ Réseau VPC, sélectionnez le réseau VPC où se trouve votre instance SQL Server.
    • Pour le champ Sens du trafic, sélectionnez "Entrée".
    • Dans le champ Filtre source, sélectionnez la plage d'adresses IP à laquelle vous souhaitez autoriser l'accès sur ce port. Pour cet exemple, vous pouvez sélectionner Autoriser depuis toutes les sources.
    • Dans la section Protocoles et ports autorisés, saisissez le port utilisé par SQL Server. Pour cet exemple, spécifiez tcp:1433;, le port par défaut.
  4. Cliquez sur Créer pour créer cette règle de pare-feu et autoriser l'accès à votre instance SQL Server sur le port 1433.

Si vous devez ajouter des règles de pare-feu à votre instance, consultez la documentation sur les règles de pare-feu.

gcloud

Exécutez la commande compute images list pour afficher la liste des images SQL Server disponibles :

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

Exécutez la commande compute instances create pour créer une VM et spécifier la famille d'images pour l'une des images publiques de Windows Server ou 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

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle instance
  • IMAGE_FAMILY : l'une des familles d'images publiques pour les images Windows Server ou SQL Server
  • MACHINE_TYPE : l'un des types de machines disponibles
  • BOOT_DISK_SIZE : taille du disque de démarrage en Go Les disques persistants plus volumineux présentent un débit plus élevé.
  • BOOT_DISK_TYPE : type du disque de démarrage pour votre instance. Par exemple, pd-balanced.

Après avoir créé la VM, définissez une règle de pare-feu pour autoriser l'accès à SQL Server sur votre VM. Le port SQL Server par défaut est le port 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 est le nom du réseau VPC où se trouve votre VM.

Si vous devez ajouter des règles de pare-feu à votre instance, consultez la documentation sur les règles de pare-feu.

Terraform

Pour créer les instances de VM SQL Server, utilisez la ressource 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
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

REST

Pour créer une VM avec l'API, incluez la propriété initializeParams dans votre requête de création d'instance, puis spécifiez une image Windows.

POST https://compute.googleapis.com/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
  }]
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • ZONE : zone de cette instance
  • VM_NAME : nom de la nouvelle VM
  • MACHINE_TYPE : types de machines disponibles
  • IMAGE_PROJECT : windows-cloud pour les images Windows Server ou windows-sql-cloud pour les images Windows Server avec SQL Server préinstallé
  • IMAGE_FAMILY : familles d'images publiques pour les images Windows Server ou SQL Server
  • BOOT_DISK_SIZE : taille du disque de démarrage en Go Les disques persistants plus volumineux présentent un débit plus élevé.
  • BOOT_DISK_TYPE : type de disque de démarrage de votre VM Par exemple, pd-ssd.

Après avoir créé la VM, définissez une règle de pare-feu pour autoriser l'accès à SQL Server sur votre VM. Le port SQL Server par défaut est le port 1433.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls

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

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • NETWORK : nom du réseau VPC où se trouve votre VM

Après avoir créé votre instance SQL Server, définissez le mot de passe initial de la VM afin de pouvoir vous y connecter via le protocole RDP. Exécutez ensuite SQL Server Management Studio en tant qu'administrateur pour gérer les bases de données sur votre instance SQL Server.

En outre, vous pouvez améliorer l'installation de SQL Server avec un ou plusieurs des éléments suivants :

Gérer les bases de données SQL Server

Exécutez SQL Server Management Studio en tant qu'administrateur pour configurer des bases de données SQL Server. Vous pouvez télécharger et installer SQL Server Management Studio sur votre poste de travail local, et l'utiliser pour vous connecter à distance au moteur de base de données de votre VM.

Si vous ne pouvez pas installer Management Studio sur votre poste de travail local, connectez-vous à la VM via le protocole RDP et exécutez Management Studio sur la VM elle-même. SQL Server 2012 et SQL Server 2014 incluent tous deux SQL Server Management Studio par défaut. Pour SQL Server 2016, vous devez télécharger SQL Server Management Studio à partir du site Web de Microsoft et l'installer sur la VM.

Par défaut, SQL Server utilise le mode d'authentification Windows pour contrôler l'accès distant à SQL Server lui-même. Si vous devez utiliser le mode d'authentification SQL Server, modifiez le mode d'authentification.

Mettre à jour manuellement les noms d'instances SQL Server

Si vous renommez une VM qui héberge SQL Server, vous devez mettre à jour le nom de l'instance SQL Server. Pour en savoir plus, consultez la page Renommer un ordinateur qui héberge une instance autonome de SQL Server.

Étape suivante