IBM Cloud Docs
Bastionshost

Bastionshost

In diesem Implementierungsmuster ermöglicht der Bastionshost externen Verwaltungszugriff auf die anderen Server und Anwendungen. Es ist über die variable IP-Adresse zugänglich und eine Sicherheitsgruppe schränkt den Zugriff auf den MS RDP-Port TCP 3389 von bekannten IP-Adressen oder CIDR-Blöcken ein. Die variable IP-Adresse ermöglicht dem Bastionshostzugriff auf das Internet, sodass Dateien heruntergeladen werden können. Sie haben möglicherweise eine andere Zugriffsmöglichkeit, z. B. Direct Link , was bedeutet, dass ein Bastionshost nicht erforderlich ist.

In diesem Handbuch wird Folgendes vorausgesetzt:

  • Sie haben Ihre VPC und Teilnetze gemäß Ihren Anforderungen erstellt.
  • Lassen Sie eine variable IP-Adresse reserviert.
  • Die Sicherheitsgruppe wurde konfiguriert.
  • SSH-Schlüssel wurden hochgeladen.

Dieser Leitfaden führt Sie schrittweise durch den Prozess von:

  • Bestellen eines virtuellen Servers.
  • Verbindung zum Server wird hergestellt.
  • Erforderliche Dateien werden auf den Bastionshost heruntergeladen.
  • Erstellen einer gemeinsam genutzten SMB-Ressource, sodass vom SQL-Server auf heruntergeladene Dateien zugegriffen werden kann.
  • Installieren Sie SQL Server Management Studio (SSMS), eine integrierte Umgebung zur Verwaltung Ihrer SQL-Infrastruktur.
  • Der Domäne beitreten. Diese Task kann erst gestartet werden, wenn die AD-Tasks abgeschlossen sind.
  • Fügen Sie das PowerShell AD-Modul hinzu.
  • Fügen Sie das PowerShell-SQL-Modul hinzu.
  • Konfigurieren Sie den NTP-Server.

Virtuellen Server bestellen

Ein virtueller Server der folgenden Spezifikation ist für einen Bastionshost geeignet und kann mithilfe der Anweisungen unter Virtuelle Serverinstanzen über die Benutzerschnittstelle erstellen bestellt werden

  • Profil: bx2-2x8
  • Typ: Public
  • Betriebssystem: WIndows 2019
  • NIC-Menge: 1
  • Datenträger: Keine

Verbindung zum Server herstellen

Nachdem der virtuelle Server implementiert wurde, müssen Sie eine variable IP-Adresse mit ihm verbinden, damit Sie über Fernzugriff auf den Server zugreifen können. Informationen hierzu finden Sie unter Variable IP-Adresse hinzufügen.

Informationen zum Zugriff auf das Kennwort des Windows-Administrators finden Sie unter Verbindung zu Windows-Instanzen herstellen . Kurz gesagt werden die folgenden Befehle von Ihrem Laptop verwendet, wobei der Befehl 'instances' die < INSTANCE_ID > des virtuellen Servers zurückgibt:

ibmcloud is instances
ibmcloud is instance-initialization-values <INSTANCE_ID> --private-key @~/.ssh/id_rsa

Erforderliche Dateien herunterladen

In diesem Implementierungsmuster werden die folgenden Produkte verwendet, die auf den Bastionshost heruntergeladen werden sollen:

  • MS SQL Server Developer Edition, die von SQL Server -Produkten und -Ressourcenheruntergeladen werden kann
  • SQL Server Management Studio (SSMS), das von Download SQL Server Management Studio (SSMS)heruntergeladen werden kann.
  • Diskspd ist ein Testtool für Speichersubsysteme und kann von DISKSPD 2.0.21aheruntergeladen werden.
  • PowerShell kann mit SQL Server -Instanzen interagieren, es muss jedoch ein Modul installiert sein. Wenn dieses Modul auf dem nicht über Internet verbundenen SQL-Server installiert werden muss, laden Sie dieses Modul herunter. Weitere Details finden Sie in SqlServer .

Sie können feststellen, dass Windows Explorer ein wenig schwierig, Dateien herunterladen und wollen IE Enhanced Security Configuration deaktivieren:

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

SQL Server herunterladen

Der SQL Server-Download muss interaktiv heruntergeladen werden, da er ein Webformular verwendet. Bei jedem neu installierten Windows-Server lassen die Sicherheitseinstellungen von Windows Explorer das Herunterladen von Dateien nicht zu.

  1. Öffnen Sie den Einstellungsdialog von Internet Explorer und wechseln Sie zur Registerkarte Sicherheit.

  2. Wählen Sie die Schaltfläche Benutzerdefinierte Ebene aus, um die Liste der Einstellungen zu öffnen.

  3. Blättern Sie abwärts, bis Sie den Abschnitt Downloads finden, und aktivieren Sie das Optionsfeld vor Aktivieren.

  4. Wählen Sie OK aus, um die Einstellungen zu speichern und Internet Explorer erneut zu starten.

  5. Jetzt können Sie Dateien herunterladen.

    Die heruntergeladene Datei SQL2019-SSEI-Eval.exe ist nur "ein Downloader", der die eigentlichen Installationsmedien von Microsoft herunterlädt. Dieser Datenträger kann entweder ISO oder CAB sein. In diesem Beispiel werden die CAB-Medien heruntergeladen und anschließend extrahiert, um weitere Informationen zu erhalten. Weitere Informationen finden Sie in der Hilfedokumentation C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help. Geben Sie die folgenden Befehle ein, um die CAB-Medien herunterzuladen und zu extrahieren:

    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
    

SSMS herunterladen

Mit den folgenden Befehlen wird SSMS in C:\Users\Administrator\Downloads heruntergeladen:

$client = new-object System.Net.WebClient
$client.DownloadFile("https://aka.ms/ssmsfullsetup","C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe")

Diskspd Herunterladen

Die folgenden Befehle laden diskspd in C:\Users\Administrator \ Downloads herunter und entpacken die ZIP-Datei in 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

PowerShell-SQL-Servermodul herunterladen

Wenn Sie das Modul auf dem SQL Server installieren möchten, der nicht über das Internet verbunden ist, laden Sie das Modul mit dem folgenden Befehl von der PowerShell-Eingabeaufforderung auf den Bastionshost herunter: Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\

Gemeinsam genutzte SMB-Ressource erstellen

Die folgenden PowerShell-Befehle werden verwendet, um Folgendes auszuführen:

  • Überprüfen Sie den Status von SMB2. Normalerweise ist dieses Protokoll im Image des virtuellen Servers inaktiviert. Wenn diese Option inaktiviert ist, kann sie aktiviert werden, da sie für den Betrieb von SMB erforderlich ist.

  • Ein lokaler Benutzer <smbuser> wird erstellt, um über Fernzugriff auf die Freigabe zuzugreifen. Geben Sie Ihr erforderliches Kennwort unter <password>ein.

  • Das Verzeichnis C:\Users\Administrator \ Downloads wird gemeinsam genutzt.

    $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 $user
    

    Auf die Freigabe kann jetzt von Servern in Ihrer VPC zugegriffen werden, solange die Sicherheitsgruppe den Datenverkehr zulässt. Weitere Informationen zu SMB finden Sie unter Übersicht über die gemeinsame Dateinutzung mit dem SMB 3-Protokoll in Windows Server.

SQL Server Management Studio installieren

SQL Server Management Studio (SSMS) ist eine integrierte Umgebung für die Verwaltung jeder SQL-Infrastruktur und stellt Tools zum Konfigurieren, Überwachen und Verwalten von Instanzen von SQL Server und Datenbanken bereit. Installation von SSMS mithilfe eines Scripts mit Eingabeaufforderung.

start "" /w C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe /Quiet SSMSInstallRoot=C:\SSMS

SSMS wird unter C:\SSMS\Common7\IDE\Ssms.exeinstalliert.

Der Domäne beitreten

Diese Task sollte erst nach der Installation des AD-Servers gestartet werden.

Geben Sie an einer PowerShell-Eingabeaufforderung auf dem Bastionshost die folgenden Befehle ein, mit denen der Server der Domäne beitreten kann:

  • Der Get-DnsClientServerAddress erfasst den Schnittstellenindex für die IPv4 -Ethernet-Schnittstelle, sodass der DNS vom IBM Cloud DNS-Server zum ADDNS-Server geändert werden kann. Der Befehl Add-Computer schlägt fehl, wenn dieser Schritt fehlt, da der Server den Domänencontroller nicht finden kann. Add-Computer -Server akzeptiert nur FQDN.
  • Der Befehl Add-Computer fügt den Server mithilfe des ADDNS-Servers <domain> zur Domäne hinzu <ad_server_fqdn> und startet den Server erneut, damit die Änderung wirksam wird.
$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

PowerShell AD-Modul hinzufügen

In Windows Server 2019 können Sie das Modul Active Directory für Windows PowerShell optional mit den folgenden PowerShell-Befehlen installieren. Durch Hinzufügen des Moduls können Sie auf AD-Informationen vom Bastionshost und nicht auf RDP zum AD-Server zugreifen:

Import-Module ServerManager
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Install-Module -Name WindowsCompatibility

PowerShell-SQL-Modul hinzufügen

Um die neueste Version des SQLServer-Moduls zu installieren, verwenden Sie den folgenden Befehl auf einer mit dem Internet verbundenen Einheit von einer PowerShell-Eingabeaufforderung aus: Install-Module -Name SQLServer -Force -AllowClobber.

NTP-Server konfigurieren

Führen Sie die folgenden Befehle aus, um die Zeit automatisch aus der AD-Domänenhierarchie zu synchronisieren:

w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
w32tm /query /status