Bastion 主機

在此部署型樣中,防禦主機容許外部管理存取其他伺服器及應用程式。 它可透過「浮動 IP」來存取,且安全群組會限制從已知 IP 位址或 CIDR 區塊存取 MS RDP 埠 TCP 3389。 「浮動 IP」也容許防禦主機存取網際網路,以便可以下載檔案。 您可能具有另一種存取方法,亦即 Direct Link ,這表示不需要防禦主機。

本手冊假設您:

  • 已根據您的需求建立您的 VPC 和子網路。
  • 保留浮動 IP。
  • 已配置安全群組。
  • 已上傳 SSH 金鑰。

本手冊逐步完成下列程序:

  • 訂購虛擬伺服器。
  • 正在連接伺服器。
  • 將必要檔案下載至防禦主機。
  • 建立 SMB 共用,以便可以從 SQL Server 存取下載的檔案。
  • 安裝 SQL Server Management Studio (SSMS) ,這是用於管理 SQL 基礎架構的整合環境。
  • 加入網域。 在 AD 作業完成之前,無法啟動此作業。
  • 新增 PowerShell AD 模組。
  • 新增 PowerShell SQL 模組。
  • 配置 NTP 伺服器。

訂購虛擬伺服器

下列規格的虛擬伺服器適用於防禦主機,可以使用 使用使用者介面建立虛擬伺服器實例 中的指示來訂購。

  • 設定檔: bx2-2x8
  • 類型: 公用
  • OS: WIndows 2019
  • NIC 數量: 1
  • 資料磁區:

連接至伺服器

部署虛擬伺服器之後,您需要將浮動 IP 位址連接至虛擬伺服器,才能從遠端存取伺服器,請參閱 新增浮動 IP 位址

Refer to 連接至 Windows 實例 to access the Windows Administrator's password, however, in short the following commands are used from your laptop, where the instances command returns the <INSTANCE_ID> of the virtual server:

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

下載必要檔案

在此部署型樣中,我們使用應下載至防禦主機的下列產品:

  • MS SQL Server Developer Edition ,可從 SQL Server 產品與資源下載。
  • SQL Server Management Studio (SSMS) ,可從 下載 SQL Server Management Studio (SSMS)下載。
  • Diskspd 是儲存體子系統測試工具,可以從 DISKSPD 2.0.21a下載。
  • 不過, PowerShell 可以與 SQL Server 實例互動,但需要安裝模組。 如果此模組必須安裝在非網際網路連接的 SQL 伺服器上,請下載此模組。 如需詳細資料,請參閱 SqlServer

您可能會發現「Windows 檔案總管」很難下載檔案,且想要停用「IE 加強型安全配置」:

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

SQL Server 下載必須以互動方式下載,因為它使用 Web 表單。 對於每一個新安裝的 Windows Server ,「Windows 檔案總管」安全設定不容許下載檔案。

  1. 開啟 Internet Explorer 的設定對話框,並移至安全標籤。

  2. 選取自訂層次按鈕,以開啟設定清單。

  3. 向下捲動直到您找到「下載」區段,並勾選「啟用」前面的圓鈕。

  4. 選取「確定」以儲存設定並重新啟動 Internet Explorer。

  5. 現在您將能夠下載檔案。

    下載的檔案 SQL2019-SSEI-Eval.exe 只是「下載程式」,將從 Microsoft 下載實際安裝媒體。 此媒體可以是 ISO 或 CAB。 在此範例中,我們下載 CAB 媒體,然後解壓縮它們,以取得進一步資訊,請檢閱說明文件 C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help。 輸入下列指令,以下載 CAB 媒體並將其解壓縮:

    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

下列指令會將 SSMS 下載至 C:\Users\Administrator\Downloads:

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

下載 Diskspd

下列指令會將 diskspd 下載至 C:\Users\Administrator \ Downloads ,並將 zip 檔展開至 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 Server 模組

如果您要在未連接網際網路的 SQL Server 上安裝模組,請從 PowerShell 提示 Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\ 中使用下列指令將模組下載至防禦主機

建立 SMB 共用

下列 PowerShell 指令可用來達成下列:

  • 檢查以查看 SMB2的狀態,通常在虛擬伺服器映像檔中停用此通訊協定。 如果已停用,則可以啟用它,因為 SMB 需要它才能運作。

  • 建立本端使用者 <smbuser> 以從遠端存取共用。 在 <password>中插入您需要的密碼。

  • 共用 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 $user
    

    只要安全群組容許資料流量,現在即可從 VPC 中的伺服器存取共用。 如需 SMB 的相關資訊,請參閱 在 Windows Server 中使用 SMB 3 通訊協定的檔案共用概觀

安裝 SQL Server Management Studio

SQL Server Management Studio (SSMS) 是用於管理任何 SQL 基礎架構的整合環境,並提供工具來配置、監視及管理 SQL Server 和資料庫的實例。 使用命令提示字元 Script 來安裝 SSMS。

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

SSMS 將安裝在 C:\SSMS\Common7\IDE\Ssms.exe

結合網域

在安裝 AD 伺服器之前,不應該啟動此作業。

在防禦主機上的 PowerShell 提示中,輸入可讓伺服器加入網域的下列指令:

  • Get-DnsClientServerAddress 會擷取 IPv4 乙太網路介面的介面索引,以便可以將 DNS 從 IBM Cloud DNS 伺服器變更為 ADDNS 伺服器。 如果遺漏此步驟,則 Add-Computer 指令會失敗,因為伺服器將無法找到網域控制站。 Add-Computer -Server 僅接受 FQDN。
  • Add-Computer 指令會 <domain> 使用 ADDNS 伺服器 <ad_server_fqdn> 將伺服器新增至網域,然後重新啟動伺服器以使變更生效。
$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 模組

在 Windows Server 2019 中,您可以使用下列 PowerShell 指令,選擇性地安裝 Windows PowerShell 的 Active Directory 模組。 透過新增模組,您可以將 AD 資訊從防禦主機而非 RDP 存取至 AD 伺服器:

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

新增 PowerShell SQL 模組

若要安裝最新版本的 SQLServer 模組,請從 PowerShell 提示 Install-Module -Name SQLServer -Force -AllowClobber在網際網路連接裝置上使用下列指令。

配置 NTP 伺服器

若要從 AD 網域階層自動同步化時間,請執行下列指令:

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