Host bastion

Neste padrão de implementação, o host de bastion permite o acesso administrativo externo aos demais servidores e aplicativos. Ele é acessível através do IP flutuante e um grupo de segurança restringe o acesso ao TCP do MS RDP porta 3389 de endereços IP conhecidos ou blocos CIDR. O IP Flutuante também permite que o acesso do host de bastão para a Internet assim os arquivos possam ser baixados. Você pode ter outro meio de acesso ou seja, um Direct Link o que significa que um host de bastion não é necessário.

Este guia assume que você:

  • Tenha criado o seu VPC e sub-redes conforme seus requisitos ditam.
  • Tenha um IP flutuante reservado.
  • Tenha configurado o grupo de segurança.
  • Ter feito upload de chaves SSH.

Esta guia passos através do processo de:

  • Ordenando um servidor virtual.
  • Conectando-se ao servidor.
  • Download de arquivos necessários para o host de bastidor.
  • Criação de um compartilhamento SMB para que os arquivos baixados possam ser acessados a partir do servidor SQL.
  • Instale o SQL Server Management Studio (SSMS), que é um ambiente integrado para o gerenciamento de sua infraestrutura SQL.
  • Junte o domínio. Esta tarefa não pode ser iniciada até que as tarefas do AD tenham sido concluídas.
  • Inclua o módulo PowerShell AD.
  • Inclua o módulo PowerShell SQL.
  • Configurar servidor NTP.

Ordenar um servidor virtual

Um servidor virtual da especificação a seguir é adequado para um host de bastion e pode ser ordenado usando as instruções em Criando instâncias do servidor virtual usando a UI

  • Perfil: bx2-2x8
  • Tipo: Público
  • OS: WIndows 2019
  • NIC Qty: 1
  • Volumes de Dados: Nenhum

Conectar ao servidor

Depois que o servidor virtual foi implementado é necessário conectar um endereço IP flutuante a ele para que você possa acessar o servidor remotamente, consulte Adicionando um endereço IP flutuante.

Consulte Conectando-se a instâncias do Windows para acessar a senha do Administrador do Windows, no entanto, em suma os seguintes comandos são utilizados a partir do seu laptop, onde o comando instâncias retorna o < INSTANCE_ID> do servidor virtual:

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

Fazer download de arquivos necessários

Neste padrão de implementação estamos usando os seguintes produtos que devem ser baixados para o host de bastion:

  • MS SQL Server Developer Edition que pode ser baixado a partir de produtos & recursos do SQL Server.
  • SQL Server Management Studio (SSMS) que pode ser baixado a partir de Download SQL Server Management Studio (SSMS).
  • O diskspd é uma ferramenta de teste do subsistema de armazenamento e pode ser baixado a partir de DISKSPD 2.0.21a.
  • O PowerShell pode interagir com instâncias do SQL Server , no entanto, requer um módulo a ser instalado. Se este módulo deve ser instalado no sever SQL conectado não Internet então faça o download deste módulo. Consulte o SqlServer para obter mais detalhes.

Você pode achar que o Windows Explorer um pouco difícil de fazer o download de arquivos e deseja desativar o 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

Faça o download do SQL Server

O download do servidor SQL deve ser baixado de forma interativa, já que ele usa um formulário web. Com todo o Windows Server recém-instalado, as configurações de segurança do Windows Explorer não permitem que os arquivos sejam baixados.

  1. Abra o diálogo de configurações do Internet Explorer e vá até a aba Segurança.

  2. Selecione o botão de nível Personalizado para abrir a lista de configurações.

  3. Role para baixo até encontrar a seção Downloads e verifique o botão de rádio na frente de Habilite.

  4. Selecione Ok para salvar as configurações e reiniciar o Internet Explorer.

  5. Agora você será capaz de fazer o download de arquivos.

    O arquivo baixado, SQL2019-SSEI-Eval.exe, é apenas "um downloader" que fará o download da mídia de instalação real da Microsoft. Essa mídia pode ser ISO ou CAB. Neste exemplo baixamos a mídia do CAB e, em seguida, extraí-los para mais informações revisamos a documentação de ajuda C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help. Digite os seguintes comandos para fazer o download da mídia do CAB e extraia-a:

    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
    

Baixar SSMS

Os comandos a seguir faz downloads de SSMS para C:\Users\Administrator\Downloads:

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

Download Diskspd

A seguir comandos downloads diskspd para C:\Users\Administrator \ Downloads e expande o arquivo zip para 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

Faça o download do módulo do servidor PowerShell SQL

Se você deseja instalar o módulo no servidor SQL, que não é conectado à Internet, faça o download do módulo para o host de bastion usando o seguinte comando a partir do prompt PowerShell Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\

Criar um compartilhamento SMB

Os seguintes comandos PowerShell são utilizados para realizar o seguinte:

  • Verifique para ver o status do SMB2, geralmente este protocolo é desativado na imagem do servidor virtual. Se desativado ele pode ser ativado, como é necessário que o SMB opere.

  • Um usuário local <smbuser> é criado para acessar o compartilhamento remotamente. Insira sua senha necessária em <password>.

  • Compartilhar o diretório C:\Users\Administrator \ Downloads é compartilhado.

    $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
    

    O compartilhamento agora será acessível a partir de servidores em seu VPC, desde que o grupo de segurança permita o tráfego. Para obter mais informações sobre o SMB, consulte Visão Geral do compartilhamento de arquivos usando o protocolo SMB 3 no Windows Server.

Instalar o SQL Server Management Studio

O SQL Server Management Studio (SSMS) é um ambiente integrado para o gerenciamento de qualquer infraestrutura SQL e fornece ferramentas para configurar, monitorar e administrar instâncias do SQL Server e bancos de dados. Para instalar o SSMS usando um script de prompt de comando.

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

O SSMS será instalado em C:\SSMS\Common7\IDE\Ssms.exe.

Entrar no domínio

Essa tarefa não deve ser iniciada até depois que o servidor AD foi instalado.

Em um prompt do PowerShell no host de bastion, digite os seguintes comandos que permitem que o servidor se junte ao domínio:

  • O Get-DnsClientServerAddress capta o Índice de Interface para a interface Ethernet IPv4 , para que o DNS possa ser alterado do servidor DNS IBM Cloud para o servidor ADDNS. O comando Add-Computer falhará se esta etapa faltar já que o servidor não conseguirá localizar o controlador de domínio. O Add-Computer -Server só aceita FQDN.
  • O comando Add-Computer adiciia o servidor no domínio <domain> usando o servidor ADDNS <ad_server_fqdn> e depois reinicia o servidor para tornar a mudança efetiva.
$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

Adicionar o módulo PowerShell AD

No Windows Server 2019, é possível instalar opcionalmente o módulo Active Directory para o Windows PowerShell, usando os seguintes comandos PowerShell. Ao adicionar o módulo, você pode acessar informações do AD do host de bastion em seguida, RDP para o servidor AD:

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

Adicionar o módulo PowerShell SQL

Para instalar a versão mais recente do módulo SQLServer, use o comando a seguir em um dispositivo conectado à Internet, a partir de um prompt PowerShell Install-Module -Name SQLServer -Force -AllowClobber.

Configurar o servidor NTP

Para sincronizar o tempo automaticamente a partir da hierarquia de domínio AD, execute os seguintes comandos:

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