Hôte bastion
Dans ce canevas de déploiement, l'hôte bastion autorise l'accès administrateur externe aux autres serveurs et applications. Il est accessible via l'IP flottante et un groupe de sécurité restreint l'accès au port MS RDP TCP 3389 à partir d'adresses IP ou de blocs CIDR connus. L'adresse IP flottante permet également à l'hôte bastion d'accéder à Internet afin que les fichiers puissent être téléchargés. Vous pouvez disposer d'un autre moyen d'accès, par exemple un Direct Link , ce qui signifie qu'un hôte bastion n'est pas requis.
Ce guide suppose que vous:
- Vous avez créé votre VPC et vos sous-réseaux en fonction de vos besoins.
- Une adresse IP flottante est réservée.
- Vous avez configuré le groupe de sécurité.
- Vous avez téléchargé des clés SSH.
Ce guide vous guide tout au long du processus de:
- Commande d'un serveur virtuel.
- Connexion au serveur.
- Téléchargement des fichiers requis sur l'hôte bastion.
- Création d'un partage SMB pour que les fichiers téléchargés soient accessibles à partir du serveur SQL.
- Installez SQL Server Management Studio (SSMS), qui est un environnement intégré pour la gestion de votre infrastructure SQL.
- Rejoignez le domaine. Cette tâche ne peut pas être démarrée tant que les tâches AD ne sont pas terminées.
- Ajoutez le module PowerShell AD.
- Ajoutez le module SQL PowerShell.
- Configurez le serveur NTP.
Commander un serveur virtuel
Un serveur virtuel de la spécification suivante convient à un hôte bastion et peut être commandé à l'aide des instructions de la rubrique Création d'instances de serveur virtuel à l'aide de l'interface utilisateur
- Profil: bx2-2x8
- Type: Public
- Système d'exploitation: WInwindows 2019
- Qté NIC: 1
- Volumes de données: Aucun
Connexion au serveur
Une fois que le serveur virtuel a été déployé, vous devez lui connecter une adresse IP flottante pour pouvoir accéder au serveur à distance. Pour plus d'informations, voir Ajout d'une adresse IP flottante.
Reportez-vous à la rubrique Connexion à des instances Windows pour accéder au mot de passe de l'administrateur Windows. Toutefois, en résumé, les commandes suivantes sont utilisées à partir de votre ordinateur portable, où la commande d'instances renvoie l'< INSTANCE_ID > du serveur virtuel:
ibmcloud is instances
ibmcloud is instance-initialization-values <INSTANCE_ID> --private-key @~/.ssh/id_rsa
Télécharger les fichiers requis
Dans ce canevas de déploiement, nous utilisons les produits suivants qui doivent être téléchargés sur l'hôte bastion:
- MS SQL Server Developer Edition qui peut être téléchargé à partir des produits et ressourcesSQL Server.
- SQL Server Management Studio (SSMS) qui peut être téléchargé depuis Télécharger SQL Server Management Studio (SSMS).
- Diskspd est un outil de test de sous-système de stockage qui peut être téléchargé à partir de DISKSPD 2.0.21a.
- PowerShell peut interagir avec des instances SQL Server , mais nécessite l'installation d'un module. Si ce module doit être installé sur le serveur SQL non connecté à Internet, téléchargez-le. Pour plus de détails, voir SqlServer .
Il se peut que Windows Explorer soit un peu difficile à télécharger et que vous souhaitiez désactiver IE Enhanced Security Configuration:
function Disable-InternetExplorerESC {
$AdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
$UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0
Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0
Stop-Process -Name Explorer
}
Disable-InternetExplorerESC
Téléchargez SQL Server
Le téléchargement du serveur SQL doit être téléchargé de manière interactive car il utilise un formulaire Web. Avec chaque serveur Windows nouvellement installé, les paramètres de sécurité de l'explorateur Windows n'autorisent pas le téléchargement de fichiers.
-
Ouvrez la boîte de dialogue des paramètres d'Internet Explorer et accédez à l'onglet Sécurité.
-
Sélectionnez le bouton Personnaliser le niveau pour ouvrir la liste des paramètres.
-
Faites défiler vers le bas jusqu'à ce que vous trouviez la section Téléchargements et cochez le bouton d'option en regard de Activer.
-
Sélectionnez Ok pour enregistrer les paramètres et redémarrer Internet Explorer.
-
Maintenant, vous pourrez télécharger des fichiers.
Le fichier téléchargé, SQL2019-SSEI-Eval.exe, est simplement un "téléchargeur" qui téléchargera le support d'installation réel de Microsoft. Ce support peut être ISO ou CAB. Dans cet exemple, nous téléchargeons le support CAB, puis nous les extrayons pour plus d'informations, consultez la documentation d'aide
C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help. Entrez les commandes suivantes pour télécharger le support CAB et l'extraire:C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /ACTION=Download MEDIAPATH=C:\Users\Administrator\Downloads\SQL2019 /MEDIATYPE=CAB /QUIET C:\Users\Administrator\Downloads\SQL2019\SQLServer2019-x64-ENU.exe /q /x:C:\Users\Administrator\Downloads\SQL2019\Extracted
Télécharger SSMS
Les commandes suivantes téléchargent SSMS vers C:\Users\Administrator\Downloads:
$client = new-object System.Net.WebClient
$client.DownloadFile("https://aka.ms/ssmsfullsetup","C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe")
Télécharger Diskspd
Les commandes suivantes téléchargent diskspd dans C:\Users\Administrator \ Downloads et développent le fichier zip dans C:\Users\Administrator\Downloads\DiskSpd:
$client = new-object System.Net.WebClient
$client.DownloadFile("https://github.com/microsoft/diskspd/releases/download/v2.0.21a/DiskSpd.zip","C:\Users\Administrator\Downloads\DiskSpd-2.0.21a.zip")
Expand-Archive -LiteralPath C:\Users\Administrator\Downloads\DiskSpd-2.0.21a.zip -DestinationPath C:\Users\Administrator\Downloads\DiskSpd
Téléchargement du module de serveur SQL PowerShell
Si vous souhaitez installer le module sur le serveur SQL, qui n'est pas connecté à Internet, téléchargez le module sur l'hôte bastion à l'aide de la commande suivante à partir de l'invite PowerShell Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\
Créer un partage SMB
Les commandes PowerShell suivantes sont utilisées pour effectuer les opérations suivantes:
-
Vérifiez le statut de SMB2. En règle générale, ce protocole est désactivé dans l'image du serveur virtuel. Si cette option est désactivée, elle peut être activée, car elle est requise pour que SMB fonctionne.
-
Un utilisateur local
<smbuser>est créé pour accéder au partage à distance. Insérez votre mot de passe requis à l'adresse<password>. -
Partagez le répertoire C:\Users\Administrator \ Downloads.
$user = "<smbuser>" $password = "<password>" Get-SmbServerConfiguration | Select EnableSMB2Protocol Set-SmbServerConfiguration -EnableSMB2Protocol $true -Force $secpassword = ConvertTo-SecureString $password -AsPlainText -Force New-LocalUser $user -Password $secpassword -FullName "Share User" -Description "User for SMB share" New-SmbShare -Name "Downloads" -Path "C:\Users\Administrator\Downloads" -ReadAccess $userLe partage sera désormais accessible à partir des serveurs de votre VPC tant que le groupe de sécurité autorise le trafic. Pour plus d'informations sur SMB, voir Présentation du partage de fichiers à l'aide du protocole SMB 3 dans Windows Server.
Installation de SQL Server Management Studio
SQL Server Management Studio (SSMS) est un environnement intégré pour la gestion de toute infrastructure SQL et fournit des outils permettant de configurer, de surveiller et d'administrer des instances de SQL Server et des bases de données. Pour installer SSMS à l'aide d'un script d'invite de commande.
start "" /w C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe /Quiet SSMSInstallRoot=C:\SSMS
SSMS sera installé dans C:\SSMS\Common7\IDE\Ssms.exe.
Rejoindre le domaine
Cette tâche ne doit pas être démarrée tant que le serveur AD n'a pas été installé.
A l'invite PowerShell sur l'hôte bastion, entrez les commandes suivantes qui permettent au serveur de rejoindre le domaine:
Get-DnsClientServerAddresscapture l'index d'interface pour l'interface Ethernet IPv4 , de sorte que le serveur de noms de domaine puisse être remplacé par le serveur ADDNS à partir du serveur IBM Cloud . La commandeAdd-Computeréchouera si cette étape est omise car le serveur ne pourra pas localiser le contrôleur de domaine.Add-Computer -Serveraccepte uniquement le nom de domaine complet.- La commande
Add-Computerajoute le serveur au domaine<domain>à l'aide du serveur ADDNS<ad_server_fqdn>, puis redémarre le serveur pour que le changement soit effectif.
$dns = "<ADDNS_IP_Address>"
$adserver = "<ad_server_fqdn>"
$domain = "<domain>"
$user = $domain + "\Administrator"
$password = "<password>"
$out=Get-DnsClientServerAddress -InterfaceAlias Ethernet -AddressFamily IPv4 | Select-Object -Property InterfaceIndex
Set-DnsClientServerAddress -InterfaceIndex $out.InterfaceIndex -ServerAddresses ($dns)
$password = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($user, $password)
Add-Computer -DomainName $domain -Server $adserver -Restart -Credential $credential
Ajouter le module PowerShell AD
Dans Windows Server 2019, vous pouvez éventuellement installer le module Active Directory pour Windows PowerShell, à l'aide des commandes PowerShell suivantes. En ajoutant le module, vous pouvez accéder aux informations AD depuis l'hôte bastion plutôt que depuis RDP vers le serveur AD:
Import-Module ServerManager
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Install-Module -Name WindowsCompatibility
Ajout du module SQL PowerShell
Pour installer la dernière version du module SQLServer, utilisez la commande suivante sur une unité connectée à Internet, à partir d'une invite PowerShell Install-Module -Name SQLServer -Force -AllowClobber.
Configurer le serveur NTP
Pour synchroniser automatiquement l'heure à partir de la hiérarchie de domaine AD, exécutez les commandes suivantes:
w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
w32tm /query /status