Terraform : guide de déploiement à évolutivité verticale SAP HANA

Ce guide de déploiement explique comment déployer un système SAP HANA sur Google Cloud à l'aide de Terraform et d'un fichier de configuration pour définir votre installation. Ce guide vous aide à configurer les machines virtuelles (VM) et les disques persistants Compute Engine, ainsi que le système d'exploitation Linux, pour optimiser les performances de votre système SAP HANA. Le fichier de configuration Terraform intègre les bonnes pratiques de Compute Engine et de SAP.

Ce guide vous permet de déployer un système SAP HANA à hôte unique à évolutivité verticale ou multi-hôte à évolutivité horizontale qui n'inclut pas d'hôtes de secours.

Si vous devez inclure le basculement automatique de l'hôte SAP HANA, utilisez plutôt le Guide de déploiement du système SAP HANA à évolutivité horizontale avec basculement automatique des hôtes.

Si vous devez déployer SAP HANA dans un cluster Linux haute disponibilité, utilisez l'un des guides suivants :

Prérequis

Avant de commencer, assurez-vous de remplir les conditions préalables suivantes :

  • Vous avez lu le guide de planification de SAP HANA.
  • Vous disposez d'un compte et d'un projet Google Cloud.
  • Si vous souhaitez que votre charge de travail SAP s'exécute conformément aux exigences liées à la résidence des données, au contrôle des accès, au personnel d'assistance ou à la réglementation, vous devez créer le dossier Assured Workloads requis. Pour en savoir plus, consultez la page Contrôles de conformité et de souveraineté pour SAP sur Google Cloud.
  • La mise en réseau du cloud privé virtuel est configurée avec des règles de pare-feu ou d'autres méthodes pour contrôler l'accès à vos VM.
  • Vous avez accès au support d'installation de SAP HANA.

  • Si OS Login est activé dans les métadonnées de votre projet et que vous déployez des nœuds à évolutivité horizontale, vous devrez désactiver temporairement OS Login jusqu'à la fin de votre déploiement. Pour le déploiement, cette procédure configure les clés SSH dans les métadonnées d'instance. Lorsque OS Login est activé, les configurations de clé SSH basées sur les métadonnées sont désactivées et le déploiement échoue. Une fois le déploiement terminé, vous pouvez réactiver OS Login.

    Pour en savoir plus, consultez les pages suivantes :

Configurer votre compte Google

Il est nécessaire d'avoir un compte Google pour travailler avec Google Cloud.

  1. Créez un compte Google si vous n'en possédez pas.
  2. (Facultatif) Si vous souhaitez que votre charge de travail SAP s'exécute conformément aux exigences liées à la résidence des données, au contrôle des accès, au personnel d'assistance ou à la réglementation, vous devez créer le dossier Assured Workloads requis. Pour en savoir plus, consultez la page Contrôles de conformité et de souveraineté pour SAP sur Google Cloud.
  3. Connectez-vous à Google Cloud Console et créez un projet.
  4. Activez votre compte de facturation.
  5. Configurez des clés SSH afin de pouvoir vous connecter en SSH à vos instances de VM Compute Engine. Utilisez Google Cloud CLI pour créer une clé SSH.
  6. Utilisez gcloud CLI ou la console Google Cloud pour ajouter les clés SSH aux métadonnées de votre projet. Cela vous permet d'accéder à toutes les instances de VM Compute Engine du projet, à l'exception des instances qui désactivent explicitement les clés SSH à l'échelle du projet.

Créer un réseau

Pour des raisons de sécurité, nous vous recommandons de créer un réseau, dont vous contrôlez les accès en ajoutant des règles de pare-feu ou toute autre méthode.

Si votre projet dispose d'un réseau VPC par défaut, ne l'utilisez pas. À la place, créez votre propre réseau VPC afin que les seules règles de pare-feu appliquées soient celles que vous créez explicitement.

Lors du déploiement, les instances de VM nécessitent généralement un accès à Internet pour télécharger l'agent Google Cloud pour SAP. Si vous utilisez l'une des images Linux certifiées SAP disponibles dans Google Cloud, l'instance de VM requiert également l'accès à Internet pour enregistrer la licence et accéder aux dépôts des fournisseurs d'OS. Une configuration comprenant une passerelle NAT et des tags réseau de VM permet aux VM cibles d'accéder à Internet même si elles ne possèdent pas d'adresses IP externes.

Pour créer un réseau VPC pour votre projet, procédez comme suit :

  1. Créez un réseau en mode personnalisé. Pour plus d'informations, consultez la section Créer un réseau en mode personnalisé.

  2. Créez un sous-réseau, puis spécifiez la région et la plage d'adresses IP. Pour plus d'informations, consultez la section Ajouter des sous-réseaux.

Configurer une passerelle NAT

Si vous avez besoin de créer une ou plusieurs VM sans adresse IP publique, vous devez utiliser la traduction d'adresse réseau (NAT) pour permettre aux VM d'accéder à Internet. Utilisez Cloud NAT, un service géré distribué et défini par logiciel de Google Cloud, qui permet aux VM d'envoyer des paquets sortants vers Internet et de recevoir tous les paquets de réponses entrants établis correspondants. Vous pouvez également configurer une VM distincte en tant que passerelle NAT.

Pour créer une instance Cloud NAT pour votre projet, consultez la page Utiliser Cloud NAT.

Une fois que vous avez configuré Cloud NAT pour votre projet, vos instances de VM peuvent accéder en toute sécurité à Internet sans adresse IP publique.

Ajouter des règles de pare-feu

Par défaut, une règle de pare-feu implicite bloque les connexions entrantes provenant de l'extérieur de votre réseau VPC (Virtual Private Cloud, cloud privé virtuel). Pour autoriser les connexions entrantes, configurez une règle de pare-feu pour votre VM. Une fois qu'une connexion entrante est établie avec une VM, le trafic est autorisé dans les deux sens via cette connexion.

Vous pouvez également créer une règle de pare-feu pour autoriser l'accès externe à des ports spécifiés ou pour limiter l'accès entre plusieurs VM d'un même réseau. Si le type de réseau VPC default est utilisé, d'autres règles par défaut s'appliquent également, telles que la règle default-allow-internal, qui permet la connectivité entre les VM d'un même réseau sur tous les ports.

En fonction de la stratégie informatique applicable à votre environnement, vous devrez peut-être isoler votre hôte de base de données, ou en restreindre la connectivité, en créant des règles de pare-feu.

Selon votre scénario, vous pouvez créer des règles de pare-feu afin d'autoriser l'accès pour ce qui suit :

  • Ports SAP par défaut répertoriés dans le tableau listant les ports TCP/IP de tous les produits SAP.
  • Connexions à partir de votre ordinateur ou de votre environnement de réseau d'entreprise à votre instance de VM Compute Engine. Si vous ne savez pas quelle adresse IP utiliser, contactez l'administrateur réseau de votre entreprise.
  • Communication entre VM sur le sous-réseau SAP HANA, y compris la communication entre les nœuds d'un système à évolutivité horizontale SAP HANA ou la communication entre le serveur de base de données et les serveurs d'applications dans une architecture à trois niveaux. Pour activer la communication entre VM, vous pouvez créer une règle de pare-feu autorisant le trafic provenant du sous-réseau.
  • Connexions SSH à votre instance de VM, y compris les connexions SSH dans le navigateur.
  • Connexion à votre VM à l'aide d'un outil tiers sous Linux. Créez une règle autorisant l'accès de l'outil via votre pare-feu.

Consultez la section Créer des règles de pare-feu pour savoir comment créer des règles de pare-feu.

Créer un bucket Cloud Storage pour les fichiers d'installation de SAP HANA

Avant d'utiliser Terraform pour installer SAP HANA sur votre VM Compute Engine, vous devez importer les fichiers d'installation contenant les binaires SAP HANA dans un bucket Cloud Storage.

Terraform attend les fichiers d'installation de SAP HANA aux formats fournis par SAP. Selon votre version de SAP HANA, le format de fichier peut être ZIP, EXE ou RAR.

Pour télécharger les fichiers d'installation de SAP HANA, vous devez créer un bucket Cloud Storage, puis y importer les fichiers comme suit :

  1. Téléchargez les fichiers d'installation de base pour la version SAP HANA requise :

    1. Accédez au portail d'assistance SAP.
    2. Cliquez sur Téléchargements de logiciels.
    3. Sous l'onglet Installations et mises à niveau, cliquez sur Par index alphabétique (A-Z) >> SAP HANA Platform Edition > SAP HANA Platform Edition 2.0.
    4. Cliquez sur Installation.
    5. Pour le service pack requis, sélectionnez la distribution Linux x86_64, puis cliquez sur Download Basket.

    Si vous ne pouvez pas accéder au logiciel depuis votre compte sur le portail d'assistance SAP, et que vous pensez qu'il s'agit d'une erreur, contactez le centre d'interaction client de l'assistance technique SAP mondiale.

  2. Téléchargez les fichiers requis pour mettre à niveau la base de données SAP HANA vers la version requise. Ces fichiers sont au format SAR et leurs noms commencent par IMDB_SERVER, IMDB_CLIENT et IMDB_AFL.

    1. Accédez au portail d'assistance SAP.

    2. Cliquez sur Téléchargements de logiciels.

    3. Accédez à l'onglet Packages et correctifs de support.

    4. Cliquez sur Par index alphabétique (A-Z) >> SAP HANA Platform Edition > SAP HANA Platform Edition 2.0.

    5. Cliquez sur le composant requis. Par exemple, SAP HANA Database 2.0, SAP HANA Client 2.0 ou SAP HANA AFL 2.0.

    6. Sélectionnez le fichier requis, puis cliquez sur Télécharger le panier.

  3. Dans votre projet Google Cloud, créez un bucket Cloud Storage. Pour obtenir des instructions, reportez-vous à la section Créer des buckets.

    Le nom du bucket doit être unique dans Google Cloud. Lors de la création du bucket, choisissez Standard pour la classe de stockage.

  4. Configurez les autorisations du bucket. Par défaut, en tant que propriétaire, vous disposez d'un accès en lecture-écriture sur le bucket. Pour accorder l'accès à d'autres comptes principaux, consultez la page Utiliser des autorisations IAM.

  5. Importez les binaires SAP HANA téléchargés dans le bucket Cloud Storage ou dans un dossier du bucket. Pour obtenir des instructions, consultez la page Importer des objets à partir d'un système de fichiers.

  6. Assurez-vous que votre bucket ou dossier ne contient qu'un seul fichier d'installation pour chaque type de fichier. Exemple :

    510056441.ZIP
    IMDB_SERVER20_059_11-80002031.SAR
    IMDB_CLIENT20_005_111-80002082.SAR
    IMDB_AFL20_059_11-80002031.SAR
    
  7. Notez le nom du bucket et du dossier dans lesquels vous avez importé les fichiers binaires SAP. Vous en aurez besoin lorsque vous installerez SAP HANA.

Créer une VM avec SAP HANA installé

Les instructions suivantes font appel à Terraform pour installer SAP HANA sur une ou plusieurs instances de VM avec tous les disques persistants requis par SAP HANA. Vous définissez les valeurs nécessaires à l'installation dans un fichier de configuration Terraform.

Les instructions suivantes utilisent Cloud Shell, mais sont généralement applicables à Google Cloud CLI.

  1. Vérifiez que vos quotas actuels pour les ressources telles que les disques persistants et les processeurs sont suffisants pour le système SAP HANA que vous allez installer. Si les quotas sont insuffisants, le déploiement échoue. Pour connaître les exigences en matière de quotas de SAP HANA, consultez la section Remarques relatives aux tarifs et aux quotas applicables à SAP HANA.

    Accéder à la section "Quotas"

  2. Ouvrez Cloud Shell ou, si vous avez installé Google Cloud SDK sur votre poste de travail local, ouvrez un terminal.

    Ouvrir Cloud Shell

  3. Téléchargez le fichier de configuration sap_hana.tf dans votre répertoire de travail en exécutant la commande suivante dans Cloud Shell ou dans votre terminal :

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/terraform/sap_hana.tf
  4. Ouvrez le fichier sap_hana.tf dans l'éditeur de code Cloud Shell ou, si vous utilisez le terminal, dans l'éditeur de texte de votre choix.

    Pour ce faire, cliquez sur l'icône en forme de crayon située dans l'angle supérieur droit de la fenêtre du terminal Cloud Shell.

  5. Dans le fichier sap_hana.tf, mettez à jour les valeurs d'arguments suivantes en remplaçant les crochets et leur contenu par les valeurs de votre installation.

    Certaines valeurs d'argument que vous spécifiez pour le système SAP HANA, telles que sap_hana_sid, sap_hana_sidadm_password ou sap_hana_system_password, sont soumises à des règles définies par SAP. Pour en savoir plus, consultez la section sur la référence des paramètres dans le guide d'installation et de mise à jour du serveur SAP HANA.

    Pour spécifier des mots de passe dans le fichier de configuration, vous devez utiliser des secrets ou spécifier des mots de passe en texte brut. Pour en savoir plus, consultez la section Gestion des mots de passe.

    Si vous souhaitez créer une instance de VM sans installer SAP HANA, supprimez toutes les lignes commençant par sap_hana_.

    Argument Data type Description
    source String

    Spécifie l'emplacement et la version du module Terraform à utiliser lors du déploiement.

    Le fichier de configuration sap_hana.tf comprend deux instances de l'argument source : l'une active et l'autre incluse en tant que commentaire. L'argument source actif par défaut spécifie latest comme version de module. La deuxième instance de l'argument source, qui est désactivée par défaut par un caractère # de début, spécifie un horodatage qui identifie une version de module.

    Si vous avez besoin que tous vos déploiements utilisent la même version de module, supprimez le caractère # de début de l'argument source qui spécifie l'horodatage de la version, puis ajoutez-le à l'argument source spécifiant latest.

    project_id String Indiquez l'ID de votre projet Google Cloud dans lequel vous déployez ce système. Par exemple, my-project-x.
    instance_name Chaîne Spécifiez un nom pour l'instance de VM hôte. Le nom peut contenir des lettres minuscules, des chiffres et des traits d'union. Les instances de VM des hôtes de calcul et de secours utilisent le même nom, auquel sont ajoutés la lettre w et le numéro d'hôte.
    machine_type String Spécifiez le type de machine virtuelle (VM) Compute Engine sur lequel vous devez exécuter votre système SAP. Si vous avez besoin d'un type de VM personnalisé, spécifiez un type de VM prédéfini avec un nombre de processeurs virtuels le plus proche possible de la quantité dont vous avez besoin tout en étant légèrement supérieur. Une fois le déploiement terminé, modifiez le nombre de processeurs virtuels et la quantité de mémoire.

    Par exemple, n1-highmem-32.

    zone Chaîne

    Spécifiez la zone dans laquelle vous déployez votre système SAP. Cette zone doit se trouver dans la même région que celle que vous avez sélectionnée pour votre sous-réseau.

    Par exemple, si votre sous-réseau est déployé dans la région us-central1, vous pouvez spécifier une zone telle que us-central1-a.

    subnetwork Chaîne Spécifiez le nom du sous-réseau que vous avez créé à une étape précédente. Si vous procédez au déploiement sur un VPC partagé, spécifiez cette valeur en tant que SHARED_VPC_PROJECT_ID/SUBNETWORK. Exemple : myproject/network1.
    linux_image String Indiquez le nom de l'image du système d'exploitation Linux sur laquelle vous souhaitez déployer votre système SAP. Par exemple, rhel-9-2-sap-ha ou sles-15-sp5-sap. Pour obtenir la liste des images de système d'exploitation disponibles, consultez la page Images dans la console Google Cloud.
    linux_image_project String Spécifiez le projet Google Cloud qui contient l'image que vous avez spécifiée pour l'argument linux_image. Ce projet peut être votre propre projet ou un projet d'image Google Cloud. Pour une image Compute Engine, spécifiez rhel-sap-cloud ou suse-sap-cloud. Pour trouver le projet d'image correspondant à votre système d'exploitation, consultez la page Détails des systèmes d'exploitation.
    sap_hana_deployment_bucket String Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez le chemin du bucket Cloud Storage contenant les fichiers d'installation de SAP HANA. N'incluez pas gs:// dans le chemin. Incluez uniquement le nom du bucket et celui des dossiers. Exemple : my-bucket-name/my-folder.

    Le bucket Cloud Storage doit exister dans le projet Google Cloud que vous spécifiez pour l'argument project_id.

    sap_hana_sid String Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez l'ID système SAP HANA. L'ID doit comporter trois caractères alphanumériques et commencer par une lettre. Toutes les lettres doivent être en majuscules. Par exemple, ED1.
    sap_hana_sidadm_uid Integer Facultatif. Spécifiez une valeur pour remplacer la valeur par défaut de l'ID de l'utilisateur administrateur SID_LC. La valeur par défaut est 900. Vous pouvez la remplacer par une autre valeur pour garantir la cohérence dans votre environnement SAP.
    sap_hana_instance_number Integer Facultatif. Spécifiez le numéro d'instance (0 à 99) du système SAP HANA. La valeur par défaut est 0.
    sap_hana_sidadm_password String Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez un mot de passe SIDadm temporaire pour les scripts d'installation à utiliser lors du déploiement. Le mot de passe doit contenir au moins huit caractères et inclure au moins une lettre majuscule, une lettre minuscule et un chiffre.

    Au lieu de spécifier le mot de passe en texte brut, nous vous recommandons d'utiliser un secret. Pour en savoir plus, consultez la section Gestion des mots de passe.

    sap_hana_sidadm_password_secret String Facultatif. Si vous utilisez Secret Manager pour stocker le mot de passe SIDadm, spécifiez le nom du secret correspondant à ce mot de passe.

    Dans Secret Manager, assurez-vous que la valeur du secret, qui correspond au mot de passe, contient au moins huit caractères et au moins une lettre majuscule, une lettre minuscule et un chiffre.

    Pour en savoir plus, consultez la section Gestion des mots de passe.

    sap_hana_system_password String Pour installer automatiquement SAP HANA sur les VM déployées, spécifiez le mot de passe temporaire d'un super-utilisateur de base de données pour les scripts d'installation à utiliser lors du déploiement. Le mot de passe doit contenir au moins huit caractères et inclure au moins une lettre majuscule, une lettre minuscule et un chiffre.

    Au lieu de spécifier le mot de passe en texte brut, nous vous recommandons d'utiliser un secret. Pour en savoir plus, consultez la section Gestion des mots de passe.

    sap_hana_system_password_secret String Facultatif. Si vous utilisez Secret Manager pour stocker le mot de passe du super-utilisateur de la base de données, spécifiez le nom du secret correspondant à ce mot de passe.

    Dans Secret Manager, assurez-vous que la valeur du secret, qui correspond au mot de passe, contient au moins huit caractères et au moins une lettre majuscule, une lettre minuscule et un chiffre.

    Pour en savoir plus, consultez la section Gestion des mots de passe.

    sap_hana_scaleout_nodes Integer Spécifiez le nombre d'hôtes de calcul dont vous avez besoin dans votre système à évolutivité horizontale. Pour déployer un système à évolutivité horizontale, vous devez disposer d'au moins un hôte de calcul.

    Terraform crée les hôtes de calcul en plus de l'instance SAP HANA principale. Par exemple, si vous spécifiez 3, quatre instances SAP HANA sont déployées dans votre système à évolutivité horizontale.

    sap_hana_shared_nfs String Facultatif. Pour un déploiement multi-hôtes à évolutivité horizontale qui utilise une solution NFS pour partager le volume /hana/shared avec les hôtes de calcul, spécifiez le point d'installation NFS de ce volume. Exemple : 10.151.91.122:/hana_shared_nfs

    Pour plus d'informations, consultez la page Solutions de partage de fichiers pour les déploiements multi-hôtes à évolutivité horizontale.

    Cet argument est disponible dans la version 202302060649, ou ultérieure, du module sap_hana.
    sap_hana_backup_nfs String Facultatif. Pour un déploiement multi-hôtes à évolutivité horizontale qui utilise une solution NFS pour partager le volume /hanabackup avec les hôtes de calcul, spécifiez le point d'installation NFS de ce volume. Exemple : 10.216.41.122:/hana_backup_nfs

    Pour plus d'informations, consultez la page Solutions de partage de fichiers pour les déploiements multi-hôtes à évolutivité horizontale.

    Cet argument est disponible dans la version 202302060649, ou ultérieure, du module sap_hana.
    sap_hana_shared_nfs_resource Carte/objet Facultatif. Pour déployer une instance Filestore qui partage le volume /hana/shared/ avec les hôtes de votre système SAP HANA multi-hôtes à évolutivité horizontale, spécifiez le nom du partage de fichiers que vous avez défini dans la définition de votre ressource google_filestore_instance. Pour voir un exemple, consultez l'exemple de configuration dans ce guide.

    Pour plus d'informations, consultez la page Solutions de partage de fichiers pour les déploiements multi-hôtes.

    Cet argument est disponible dans la version 202302060649, ou ultérieure, du module sap_hana.
    sap_hana_backup_nfs_resource Carte/objet Facultatif. Pour déployer une instance Filestore qui partage le volume /hanabackup avec les hôtes de votre système SAP HANA multi-hôtes à évolutivité horizontale, spécifiez le nom du partage de fichiers que vous avez défini dans la définition de votre ressource google_filestore_instance. Pour voir un exemple, consultez l'exemple de configuration dans ce guide.

    Pour plus d'informations, consultez la page Solutions de partage de fichiers pour les déploiements multi-hôtes.

    Cet argument est disponible dans la version 202302060649, ou ultérieure, du module sap_hana.
    sap_hana_backup_size Integer Facultatif. Spécifiez la taille du volume /hanabackup en Go. Si vous ne spécifiez pas cet argument ou si vous le définissez sur 0, le script d'installation provisionne l'instance Compute Engine avec un volume de sauvegarde HANA de deux fois la mémoire totale.

    sap_hana_backup_size est ignoré lorsque vous spécifiez une valeur pour sap_hana_backup_nfs ou sap_hana_backup_nfs_resource.

    sap_hana_sapsys_gid Integer Facultatif. Remplace l'ID de groupe par défaut défini pour sapsys. La valeur par défaut est 79.
    network_tags String Facultatif. Spécifiez un ou plusieurs tags réseau séparés par une virgule que vous souhaitez associer à vos instances de VM à des fins de routage ou de pare-feu.

    Si vous spécifiez public_ip = false et ne spécifiez pas de tag réseau, veillez à fournir un autre moyen d'accès à Internet.

    nic_type String Facultatif. Spécifie l'interface réseau à utiliser avec l'instance de VM. Vous pouvez spécifier la valeur GVNIC ou VIRTIO_NET. Pour utiliser une carte d'interface réseau virtuelle Google (gVNIC), vous devez spécifier une image de l'OS compatible avec gVNIC comme valeur de l'argument linux_image. Pour obtenir la liste des images de l'OS, consultez la section Détails des systèmes d'exploitation.

    Si vous ne spécifiez pas de valeur pour cet argument, l'interface réseau est automatiquement sélectionnée en fonction du type de machine que vous spécifiez pour l'argument machine_type.

    Cet argument est disponible dans la version 202302060649, ou ultérieure, du module sap_hana.
    disk_type String Facultatif. Spécifiez le type de volume de disque persistant ou d'hyperdisque par défaut que vous souhaitez déployer pour les volumes de données et de journaux SAP de votre déploiement. Pour en savoir plus sur le déploiement de disque par défaut effectué par les configurations Terraform fournies par Google Cloud, consultez la section Déploiement de disque par Terraform.

    Voici des valeurs valides pour cet argument : pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced et pd-extreme. Dans les déploiements SAP HANA avec scaling à la hausse, un disque persistant avec équilibrage distinct est également déployé pour le répertoire /hana/shared.

    Vous pouvez remplacer ce type de disque par défaut, ainsi que la taille de disque par défaut et les IOPS par défaut à l'aide de certains arguments avancés. Pour en savoir plus, accédez à votre répertoire de travail, exécutez la commande terraform init, puis consultez le fichier /.terraform/modules/sap_hana/variables.tf. Avant d'utiliser ces arguments en production, veillez à les tester dans un environnement hors production.

    use_single_shared_data_log_disk Booléen Facultatif. La valeur par défaut est false, qui indique à Terraform de déployer un disque persistant ou un hyperdisque distinct pour chacun des volumes SAP suivants : /hana/data ,/hana/log ,/hana/shared et/usr/sap. Pour installer ces volumes SAP sur le même disque persistant ou hyperdisque, spécifiez true.
    include_backup_disk Booléen Facultatif. Cet argument s'applique aux déploiements SAP HANA à scaling à la hausse. La valeur par défaut est true, ce qui indique à Terraform de déployer un disque distinct pour héberger le répertoire /hanabackup.

    Le type de disque est déterminé par l'argument backup_disk_type. La taille de ce disque est déterminée par l'argument sap_hana_backup_size.

    Si vous définissez la valeur de include_backup_disk sur false, aucun disque n'est déployé pour le répertoire /hanabackup.

    backup_disk_type String Facultatif. Pour les déploiements supposant un scaling vertical, spécifiez le type de disque persistant ou d'hyperdisque que vous souhaitez déployer pour le volume /hanabackup. Pour en savoir plus sur le déploiement de disque par défaut effectué par les configurations Terraform fournies par Google Cloud, consultez la section Déploiement de disque par Terraform.

    Voici des valeurs valides pour cet argument : pd-ssd, pd-balanced, pd-standard, hyperdisk-extreme, hyperdisk-balanced et pd-extreme.

    Cet argument est disponible dans la version 202307061058, ou ultérieure, du module sap_hana.

    enable_fast_restart Booléen Facultatif. Cet argument détermine si l'option Fast Restart pour SAP HANA est activée ou non pour votre déploiement. La valeur par défaut est true. Google Cloud recommande vivement d'activer l'option Fast Restart pour SAP HANA.

    Cet argument est disponible dans la version 202309280828, ou ultérieure, du module sap_hana.

    public_ip Booléen Facultatif. Détermine si une adresse IP publique est ajoutée ou non à votre instance de VM. La valeur par défaut est true.
    service_account String Facultatif. Spécifiez l'adresse e-mail d'un compte de service géré par l'utilisateur qui sera utilisée par les VM hôtes et par les programmes qui s'exécutent sur celles-ci. Par exemple, svc-acct-name@project-id.iam.gserviceaccount.com.

    Si vous spécifiez cet argument sans valeur ou si vous l'omettez, le script d'installation utilise le compte de service Compute Engine par défaut. Pour en savoir plus, consultez la page Gestion de l'authentification et des accès pour les programmes SAP sur Google Cloud.

    sap_deployment_debug Booléen Facultatif. Lorsque Cloud Customer Care vous demande d'activer le débogage pour votre déploiement, spécifiez true, qui permet au déploiement de générer des journaux de déploiement détaillés. La valeur par défaut est false.
    reservation_name String Facultatif. Pour utiliser une réservation de VM Compute Engine spécifique pour ce déploiement, spécifiez le nom de la réservation. Par défaut, le script d'installation sélectionne toute réservation Compute Engine disponible en fonction des conditions suivantes.

    Que vous définissiez son nom ou que le script d'installation le sélectionne automatiquement, la réservation doit être définie comme suit pour être utilisable :

    • L'option specificReservationRequired est définie sur true ou, dans la console Google Cloud, l'option Sélectionner une réservation spécifique est sélectionnée.
    • Certains types de machines Compute Engine sont compatibles avec les plates-formes de processeur qui ne sont pas couvertes par la certification SAP de ce type de machine. Si la réservation cible concerne l'un des types de machines suivants, la réservation doit spécifier les plates-formes de processeur minimales, comme indiqué :
      • n1-highmem-32 : Intel Broadwell
      • n1-highmem-64 : Intel Broadwell
      • n1-highmem-96 : Intel Skylake
      • m1-megamem-96 : Intel Skylake
    • Les plates-formes de processeur minimales pour tous les autres types de machines certifiés par SAP pour une utilisation sur Google Cloud sont conformes à la configuration minimale requise de processeur SAP.
    vm_static_ip String Facultatif. Spécifiez une adresse IP statique valide pour l'instance de VM. Si vous n'en spécifiez pas, une adresse IP est automatiquement générée pour votre instance de VM.

    Cet argument est disponible dans la version 202306120959, ou ultérieure, du module sap_hana.

    worker_static_ips List(String) Facultatif. Spécifiez un tableau d'adresses IP statiques valides pour les instances de nœuds de calcul de votre système à scaling horizontal. Si vous ne spécifiez pas de valeur pour cet argument, une adresse IP est automatiquement générée pour chaque instance de VM de nœud de calcul. Par exemple, [ "1.0.0.1", "2.3.3.4" ].

    Les adresses IP statiques sont attribuées dans l'ordre de création des instances. Par exemple, si vous choisissez de déployer trois instances de nœud de calcul, mais ne spécifiez que deux adresses IP pour l'argument worker_static_ips, ces adresses IP sont attribuées aux deux premières instances de VM que la configuration Terraform déploie. Pour la troisième instance de VM de nœud de calcul, l'adresse IP est générée automatiquement.

    Cet argument est disponible dans la version 202306120959, ou ultérieure, du module sap_hana.

    L'exemple suivant montre un fichier de configuration terminé indiquant à Terraform de déployer une machine virtuelle n2-highmem-32 avec un système SAP HANA à scaling horizontal, qui inclut une instance SAP HANA principale avec trois hôtes de calcul et des instances Filestore Basic qui partagent les volumes /hana/shared et /hanabackup avec les hôtes de calcul. Les hôtes exécutent le système d'exploitation SLES pour SAP 15 SP2.

    #
    resource "google_filestore_instance" "hana_shared_nfs" {
      name = "fs-basic-shared"
      tier = "PREMIUM"
      project = "example-project-123456"
      location = "us-central1-f"
      file_shares {
        name = "hana_shared_nfs"
        capacity_gb = 2600
      }
      networks {
        network = "example-network"
        modes   = ["MODE_IPV4"]
      }
    }
    
    resource "google_filestore_instance" "hana_backup_nfs" {
      name = "fs-basic-backup"
      tier = "PREMIUM"
      project = "example-project-123456"
      location = "us-central1-f"
      file_shares {
        name = "hana_backup_nfs"
        capacity_gb = 2600
      }
      networks {
        network = "example-network"
        modes   = ["MODE_IPV4"]
      }
    }
    
    #...
    module "sap_hana" {
      source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip"
      #
      # By default, this source file uses the latest release of the terraform module
      # for SAP on Google Cloud. To fix your deployments to a specific release
      # of the module, comment out the source property above and uncomment the source property below.
      #
      # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana/sap_hana_module.zip"
      # ...
      project_id = "example-project-123456"
      zone = "us-central1-f"
      machine_type = "n2-highmem-32"
      subnetwork = "example-subnet-us-central1"
      linux_image = "sles-15-sp2-sap"
      linux_image_project = "suse-sap-cloud"
    
      instance_name = "hana-scaleout"
      sap_hana_shared_nfs_resource  = resource.google_filestore_instance.hana_shared_nfs
      sap_hana_backup_nfs_resource  = resource.google_filestore_instance.hana_backup_nfs
    
      # sap_hana_shared_nfs = "10.151.91.122:/hana_shared_nfs"
      # sap_hana_backup_nfs = "10.216.41.122:/hana_backup_nfs"
    
      sap_hana_deployment_bucket = "mybucketname"
      sap_hana_sid = "AB2"
      sap_hana_instance_number = 12
      sap_hana_sidadm_password = "TempPa55word"
      sap_hana_system_password = "TempPa55word"
      sap_hana_scaleout_nodes = 3
      sap_hana_sidadm_uid = 11
      vm_static_ip = "10.0.0.1"
      worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"]
      enable_fast_restart = true
      # ...
    }
  6. Pour initialiser votre répertoire de travail actuel et télécharger le plug-in du fournisseur Terraform et les fichiers de modules pour Google Cloud, procédez comme suit :

    terraform init

    La commande terraform init prépare votre répertoire de travail pour d'autres commandes Terraform.

    Pour forcer l'actualisation du plug-in du fournisseur et des fichiers de configuration dans votre répertoire de travail, spécifiez l'option --upgrade. Si l'option --upgrade est omise et que vous n'apportez aucune modification à votre répertoire de travail, Terraform utilise les copies mises en cache localement, même si latest est spécifié dans l'URL source.

    terraform init --upgrade 
  7. Vous pouvez également créer le plan d'exécution Terraform :

    terraform plan

    La commande terraform plan affiche les modifications requises par votre configuration actuelle. Si vous ignorez la commande terraform plan, la commande terraform apply calcule le plan avant de l'appliquer.

  8. Pour appliquer le plan d'exécution, procédez comme suit :

    terraform apply

    Lorsque vous êtes invité à approuver les actions, saisissez yes.

    La commande terraform apply configure l'infrastructure Google Cloud, puis appelle un autre script qui configure le système d'exploitation et installe SAP HANA.

    Lorsque Terraform a le contrôle, les messages d'état sont écrits dans Cloud Shell. Une fois les scripts appelés, les messages d'état sont écrits dans Logging et peuvent être consultés dans la console Google Cloud, comme décrit dans la section Vérifier les journaux.

    La durée d'exécution peut varier, mais l'ensemble du processus prend généralement moins de 30 minutes.

Valider le déploiement

Pour vérifier le déploiement, vérifiez les journaux de déploiement dans Cloud Logging, ainsi que les disques et les services sur les VM des hôtes principaux et de calcul.

Vérifier les journaux

  1. Dans la console Google Cloud, ouvrez Cloud Logging pour surveiller la progression de l'installation et rechercher les erreurs.

    Accéder à CloudLogging

  2. Filtrez les journaux :

    Logs Explorer

    1. Sur la page Explorateur de journaux, accédez au volet Requête.

    2. Dans le menu déroulant Ressource, sélectionnez Global, puis cliquez sur Ajouter.

      Si l'option Global n'apparaît pas, saisissez la requête suivante dans l'éditeur de requête :

      resource.type="global"
      "Deployment"
      
    3. Cliquez sur Exécuter la requête.

    Ancienne visionneuse de journaux

    • Sur la page Ancienne visionneuse de journaux, dans le menu de sélection de base, sélectionnez Global comme ressource de journalisation.
  3. Analysez les journaux filtrés :

    • Si "--- Finished" s'affiche, le traitement du déploiement est terminé, et vous pouvez passer à l'étape suivante.
    • Si vous rencontrez une erreur de quota :

      1. Sur la page Quotas de IAM & Admin, augmentez les quotas qui ne répondent pas aux exigences de SAP HANA décrites dans le guide de planification SAP HANA.

      2. Ouvrez Cloud Shell.

        Accéder à Cloud Shell

      3. Accédez à votre répertoire de travail et supprimez le déploiement pour nettoyer les VM et les disques persistants de l'installation ayant échoué :

        terraform destroy

        Lorsque vous êtes invité à approuver l'action, saisissez yes.

      4. Réexécutez le déploiement.

Vérifiez la configuration de la VM et du système SAP HANA

  1. Une fois le système SAP HANA déployé sans erreur, connectez-vous à chaque VM à l'aide du protocole SSH. Sur la page VM instances (Instances de VM) de Compute Engine, cliquez sur le bouton SSH de votre instance de VM ou utilisez la méthode SSH de votre choix.

    Bouton SSH sur la page "VM instances" (Instances de VM) de Compute Engine

  2. Connectez-vous en tant qu'utilisateur racine.

    sudo su -
  3. Dans l'invite de commande, saisissez df -h, puis vérifiez que vous obtenez un résultat semblable à celui-ci, avec les volumes et les tailles attendus.

    Voici un exemple de sortie du nœud maître d'un système à évolutivité horizontale comportant trois nœuds de calcul. Notez qu'il n'existe pas de volumes pour /hana/shared et /hanabackup, car ces volumes sont hébergés sur des instances Filestore.

    example-vm:~ # df -h
    Filesystem                         Size  Used Avail Use% Mounted on
    devtmpfs                           126G  8.0K  126G   1% /dev
    tmpfs                              189G     0  189G   0% /dev/shm
    tmpfs                              126G   18M  126G   1% /run
    tmpfs                              126G     0  126G   0% /sys/fs/cgroup
    /dev/sda3                           30G  6.5G   24G  22% /
    /dev/sda2                           20M  2.9M   18M  15% /boot/efi
    10.65.188.162:/hana_shared_nfs     2.5T   41G  2.4T   2% /hana/shared
    /dev/mapper/vg_hana_usrsap-usrsap   32G  265M   32G   1% /usr/sap
    /dev/mapper/vg_hana_data-data      308G   10G  298G   4% /hana/data
    /dev/mapper/vg_hana_log-log        128G  7.8G  121G   7% /hana/log
    10.160.217.66:/hana_backup_nfs     2.5T     0  2.4T   0% /hanabackup
    tmpfs                               26G     0   26G   0% /run/user/472
    tmpfs                               26G     0   26G   0% /run/user/900
    tmpfs                               26G     0   26G   0% /run/user/1000
  4. Passez à l'administrateur SAP :

    su - SID_LCadm
    

    Remplacez SID_LC par la valeur SID que vous avez spécifiée dans le fichier de configuration. Utilisez des minuscules pour toutes les lettres.

  5. Assurez-vous que les services SAP HANA, tels que hdbnameserver, hdbindexserver et autres services, s'exécutent sur l'instance :

    HDB info
    
  6. Si vous utilisez RHEL pour SAP 9.0 ou une version ultérieure, assurez-vous que les packages chkconfig et compat-openssl11 sont installés sur votre instance de VM.

    Pour en savoir plus, consultez la note SAP 3108316 – Red Hat Enterprise Linux 9.x : installation et configuration.

Nettoyer et réessayer le déploiement

Si l'une des étapes de vérification du déploiement des sections précédentes indique que l'installation a échoué, vous devez annuler votre déploiement et réessayer en procédant comme suit :

  1. Corrigez les erreurs pour vous assurer que votre déploiement n'échouera pas à nouveau pour la même raison. Pour en savoir plus sur la vérification des journaux ou la résolution des erreurs liées aux quotas, consultez la section Vérifier les journaux.

  2. Ouvrez Cloud Shell ou, si vous avez installé Google Cloud CLI sur votre poste de travail local, ouvrez un terminal.

    Ouvrir Cloud Shell

  3. Accédez au répertoire contenant le fichier de configuration Terraform que vous avez utilisé pour ce déploiement.

  4. Supprimez toutes les ressources faisant partie de votre déploiement en exécutant la commande suivante :

    terraform destroy

    Lorsque vous êtes invité à approuver l'action, saisissez yes.

  5. Relancez le déploiement comme indiqué précédemment dans ce guide.

Vérifier l'installation de l'agent Google Cloud pour SAP

Après avoir déployé une VM et installé le système SAP, vérifiez que l'agent Google Cloud pour SAP fonctionne correctement.

Vérifier que l'agent Google Cloud pour SAP est en cours d'exécution

Pour vérifier que l'agent est en cours d'exécution, procédez comme suit :

  1. Établissez une connexion SSH avec votre instance de VM hôte.

  2. Exécutez la commande ci-dessous :

    systemctl status google-cloud-sap-agent

    Si l'agent fonctionne correctement, la sortie contient active (running). Exemple :

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    
    .

Si l'agent n'est pas en cours d'exécution, redémarrez-le.

Vérifier que l'agent hôte SAP reçoit les métriques

Pour vérifier que les métriques d'infrastructure sont collectées par l'agent Google Cloud pour SAP et envoyées correctement à l'agent hôte SAP, procédez comme suit :

  1. Dans votre système SAP, saisissez la transaction ST06.
  2. Dans le volet de synthèse, vérifiez la disponibilité et le contenu des champs suivants pour vous assurer de la configuration de façon correcte et complète de l'infrastructure de surveillance SAP et Google :

    • Fournisseur cloud : Google Cloud Platform
    • Accès à la surveillance améliorée : TRUE
    • Détails de la surveillance améliorée : ACTIVE

Installer SAP HANA Studio sur une VM Compute Engine pour Windows

Vous pouvez vous connecter à partir d'une instance SAP HANA en dehors de Google Cloud ou d'une instance sur Google Cloud. Pour ce faire, vous devrez peut-être activer l'accès réseau aux VM cibles à partir de SAP HANA Studio.

Pour installer SAP HANA Studio sur une VM Windows sur Google Cloud, procédez comme suit :

  1. Utilisez Cloud Shell pour appeler les commandes suivantes.

    Ouvrir Cloud Shell

    export NETWORK_NAME="[YOUR_NETWORK_NAME]"
    export REGION="[YOUR_REGION]"
    export ZONE="[YOUR_ZONE]"
    export SUBNET="[YOUR_SUBNETWORK_NAME]"
    export SOURCE_IP_RANGE="[YOUR_WORKSTATION_IP]"
    gcloud compute instances create saphanastudio --zone=$ZONE \
    --machine-type=n1-standard-2  --subnet=$SUBNET --tags=hanastudio \
    --image-family=windows-2016  --image-project=windows-cloud \
    --boot-disk-size=100 --boot-disk-type=pd-standard \
    --boot-disk-device-name=saphanastudio
    gcloud compute firewall-rules create ${NETWORK_NAME}-allow-rdp \
    --network=$NETWORK_NAME --allow=tcp:3389 --source-ranges=$SOURCE_IP_RANGE \
    --target-tags=hanastudio

    Les commandes ci-dessus définissent des variables pour la session Cloud Shell actuelle, créent un serveur Windows dans le sous-réseau que vous avez créé précédemment et créent une règle de pare-feu qui autorise l'accès de votre poste de travail local à l'instance via le protocole RDP (Remote Desktop Protocol, RDP).

  2. Installez SAP HANA Studio sur ce serveur.

    1. Importez les fichiers d'installation de SAP HANA Studio et l'outil d'extraction SAPCAR dans un bucket Cloud Storage de votre projet Google Cloud.
    2. Connectez-vous à la nouvelle VM Windows à l'aide du protocole RDP ou de la méthode de votre choix.
    3. Sous Windows, ouvrez l'interface de Google Cloud CLI ou une autre interface de ligne de commande en tant qu'administrateur.
    4. Copiez les fichiers d'installation de SAP HANA Studio et l'outil d'extraction SAPCAR du bucket de stockage vers la VM en saisissant la commande gsutil cp dans l'interface de commande. Exemple :

      gsutil cp gs://[SOURCE_BUCKET]/IMC_STUDIO2_232_0-80000323.SAR C:\[TARGET_DIRECTORY] &
      gsutil cp gs://[SOURCE_BUCKET]/SAPCAR_1014-80000938.EXE C:\[TARGET_DIRECTORY]
      
    5. Remplacez le répertoire par votre répertoire cible.

      cd C:\[TARGET_DIRECTORY]
      
    6. Exécutez le programme SAPCAR pour extraire le fichier d'installation de SAP HANA Studio.

      SAPCAR_1014-80000938.EXE -xvf IMC_STUDIO2_232_0-80000323.SAR
      
    7. Exécutez le programme hdbinst ainsi extrait pour installer SAP HANA Studio.

Configurer la surveillance pour SAP HANA

Vous pouvez éventuellement surveiller vos instances SAP HANA à l'aide de l'agent Google Cloud pour SAP. À partir de la version 2.0, vous pouvez configurer l'agent de sorte qu'il collecte les métriques de surveillance SAP HANA et les envoie à Cloud Monitoring. Cloud Monitoring vous permet de créer des tableaux de bord pour visualiser ces métriques, de configurer des alertes en fonction de seuils de métriques, etc.

Pour en savoir plus sur la collecte des métriques de surveillance SAP HANA à l'aide de l'agent Google Cloud pour SAP, consultez Collecte des métriques de surveillance SAP HANA.

Se connecter à SAP HANA

Étant donné qu'aucune adresse IP externe n'est utilisée pour SAP HANA dans ces instructions, vous ne pouvez vous connecter aux instances SAP HANA que via l'instance bastion à l'aide de SSH ou via le serveur Windows à l'aide de SAP HANA Studio.

  • Pour vous connecter à SAP HANA via l'instance bastion, connectez-vous à l'hôte bastion, puis aux instances SAP HANA à l'aide du client SSH de votre choix.

  • Pour vous connecter à la base de données SAP HANA via SAP HANA Studio, utilisez un client Bureau à distance pour vous connecter à l'instance Windows Server. Une fois la connexion établie, installez SAP HANA Studio manuellement, puis accédez à votre base de données SAP HANA.

Effectuer des tâches post-déploiement

Avant d'utiliser votre instance SAP HANA, nous vous recommandons d'effectuer les étapes de post-déploiement ci-dessous. Pour en savoir plus, consultez le Guide d'installation et de mise à jour de SAP HANA.

  1. Modifiez les mots de passe temporaires de l'administrateur système et du super-utilisateur du système SAP HANA. Exemple :

    sudo passwd SIDadm

    Consultez la section Réinitialiser le mot de passe utilisateur SYSTEM de la base de données système.

  2. Installez votre licence permanente SAP HANA. Si vous ne le faites pas, il est possible que SAP HANA opère un verrouillage de la base de données après l'expiration de la licence temporaire.

    Pour en savoir plus sur la gestion de vos licences SAP HANA, reportez-vous à la section Clés de licence de la base de données SAP HANA.

  3. Mettez à jour le logiciel SAP HANA avec les derniers correctifs.

  4. Si votre système SAP HANA est déployé sur une interface réseau VirtIO, nous vous recommandons de vous assurer que la valeur du paramètre TCP /proc/sys/net/ipv4/tcp_limit_output_bytes est définie sur 1048576. Cette modification permet d'améliorer le débit réseau global sur l'interface réseau VirtIO sans affecter la latence du réseau.

  5. Installez des composants supplémentaires tels que les bibliothèques Application Function Library (AFL) ou Smart Data Access (SDA).

  6. Configurez et sauvegardez votre nouvelle base de données SAP HANA. Pour en savoir plus, consultez le Guide d'utilisation de SAP HANA.

Évaluer votre charge de travail SAP HANA

Pour automatiser les vérifications de validation continues pour vos charges de travail SAP HANA exécutées sur Google Cloud, vous pouvez utiliser le gestionnaire de charges de travail.

Le gestionnaire de charges de travail vous permet d'analyser et d'évaluer automatiquement vos charges de travail SAP HANA en fonction des bonnes pratiques des fournisseurs SAP, Google Cloud et OS. Cela permet d'améliorer la qualité, les performances et la fiabilité de vos charges de travail.

Pour en savoir plus sur les bonnes pratiques compatibles avec le gestionnaire de charges de travail pour évaluer les charges de travail SAP HANA exécutées sur Google Cloud, consultez la page Bonnes pratiques pour le gestionnaire de charges de travail SAP. Pour en savoir plus sur la création et l'exécution d'une évaluation à l'aide du gestionnaire de charges de travail, consultez la page Créer et exécuter une évaluation.

Étapes suivantes

  • Si vous devez utiliser NetApp Cloud Volumes Service pour Google Cloud au lieu de disques persistants pour vos répertoires SAP HANA, consultez les informations de déploiement de NetApp Cloud Volumes Service dans le guide de planification SAP HANA.
  • Pour en savoir plus sur l'administration et la surveillance des VM, consultez le Guide d'utilisation de SAP HANA.