host bastión
En este patrón de despliegue, el host bastión permite el acceso administrativo externo a los otros servidores y aplicaciones. Es accesible a través de la IP flotante y un grupo de seguridad restringe el acceso al puerto TCP 3389 de MS RDP desde direcciones IP conocidas o bloques CIDR. La IP flotante también permite al host bastión acceder a Internet para que los archivos se puedan descargar. Puede tener otro medio de acceso, por ejemplo, un Direct Link , lo que significa que no es necesario un host bastión.
Esta guía presupone que:
- Ha creado la VPC y las subredes según sus requisitos.
- Tener una IP flotante reservada.
- Ha configurado el grupo de seguridad.
- Haber cargado claves SSH.
Esta guía describe el proceso de:
- Cómo solicitar un servidor virtual.
- Conectando con el servidor.
- Descargando los archivos necesarios en el host bastión.
- Creación de una compartición SMB para que se pueda acceder a los archivos descargados desde el servidor SQL.
- Instale SQL Server Management Studio (SSMS), que es un entorno integrado para gestionar la infraestructura SQL.
- Únase al dominio. Esta tarea no se puede iniciar hasta que se hayan completado las tareas de AD.
- Añada el módulo AD de PowerShell.
- Añada el módulo PowerShell SQL.
- Configure el servidor NTP.
Solicitar un servidor virtual
Un servidor virtual de la especificación siguiente es adecuado para un host bastión y se puede solicitar utilizando las instrucciones de Creación de instancias de servidor virtual utilizando la interfaz de usuario
- Perfil: bx2-2x8
- Tipo: Público
- SO: WIndows 2019
- Cantidad de NIC: 1
- Volúmenes de datos: Ninguno
Conectar con el servidor
Después de que se haya desplegado el servidor virtual, debe conectar una dirección IP flotante a él para poder acceder al servidor de forma remota, consulte Adición de una dirección IP flotante.
Consulte Conexión a instancias de Windows para acceder a la contraseña del administrador de Windows, sin embargo, en resumen, se utilizan los mandatos siguientes desde el portátil, donde el mandato instances devuelve el < INSTANCE_ID > del servidor virtual:
ibmcloud is instances
ibmcloud is instance-initialization-values <INSTANCE_ID> --private-key @~/.ssh/id_rsa
Descargar archivos necesarios
En este patrón de despliegue, estamos utilizando los siguientes productos que se deben descargar en el host bastión:
- MS SQL Server Developer Edition que se puede descargar desde Productos y recursos de SQL Server.
- SQL Server Management Studio (SSMS) que se puede descargar de Download SQL Server Management Studio (SSMS).
- Diskspd es una herramienta de pruebas del subsistema de almacenamiento y se puede descargar de DISKSPD 2.0.21a.
- PowerShell puede interactuar con instancias de SQL Server , sin embargo, requiere que se instale un módulo. Si este módulo debe estar instalado en el servidor SQL no conectado a Internet, descargue este módulo. Consulte SqlServer para obtener más detalles.
Puede encontrar que el Explorador de Windows es un poco difícil de descargar archivos y desea inhabilitar la configuración de seguridad mejorada de 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
Descargar SQL Server
La descarga de SQL Server debe descargarse de forma interactiva ya que utiliza un formulario web. Con cada servidor Windows instalado recientemente, los valores de seguridad del Explorador de Windows no permiten que se descarguen los archivos.
-
Abra el diálogo de configuración de Internet Explorer y vaya a la pestaña Seguridad.
-
Seleccione el botón Nivel personalizado para abrir la lista de valores.
-
Desplázate hacia abajo hasta encontrar la sección Descargas y marca el botón de opción frente a Habilitar.
-
Seleccione Aceptar para guardar los valores y reiniciar Internet Explorer.
-
Ahora podrá descargar los archivos.
El archivo descargado, SQL2019-SSEI-Eval.exe, es sólo "un descargador" que descargará el soporte de instalación real de Microsoft. Este soporte puede ser ISO o CAB. En este ejemplo descargamos el soporte de CAB y, a continuación, los extraemos para obtener más información, consulte la documentación de ayuda
C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help
. Especifique los mandatos siguientes para descargar el soporte de CAB y extraerlo: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
Descargar SSMS
Los mandatos siguientes descargan SSMS en C:\Users\Administrator\Downloads:
$client = new-object System.Net.WebClient
$client.DownloadFile("https://aka.ms/ssmsfullsetup","C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe")
Descargar diskspd
Los mandatos siguientes descargan diskspd en C:\Users\Administrator \ Downloads y expande el archivo zip a 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
Descargar el módulo de servidor SQL de PowerShell
Si desea instalar el módulo en el servidor SQL, que no está conectado a Internet, descargue el módulo en el host bastión utilizando el mandato siguiente desde el indicador de PowerShell Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\
Crear una compartición SMB
Los siguientes mandatos de PowerShell se utilizan para realizar lo siguiente:
-
Compruebe el estado de SMB2, normalmente este protocolo está inhabilitado en la imagen de servidor virtual. Si está inhabilitado, se puede habilitar, ya que es necesario para que SMB funcione.
-
Se crea un usuario local
<smbuser>
para acceder a la compartición de forma remota. Inserte la contraseña necesaria en<password>
. -
Compartir el directorio C:\Users\Administrator \ Downloads se comparte.
$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
Ahora se podrá acceder a la compartición desde los servidores de la VPC siempre que el grupo de seguridad permita el tráfico. Para obtener más información sobre SMB, consulte Visión general de la compartición de archivos utilizando el protocolo SMB 3 en Windows Server.
Instalar SQL Server Management Studio
SQL Server Management Studio (SSMS) es un entorno integrado para gestionar cualquier infraestructura SQL y proporciona herramientas para configurar, supervisar y administrar instancias de SQL Server y bases de datos. Para instalar SSMS utilizando un script de indicador de mandatos.
start "" /w C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe /Quiet SSMSInstallRoot=C:\SSMS
SSMS se instalará en C:\SSMS\Common7\IDE\Ssms.exe
.
Unir el dominio
Esta tarea no se debe iniciar hasta que se haya instalado el servidor AD.
En un indicador de PowerShell en el host bastión, especifique los mandatos siguientes que permiten que el servidor se una al dominio:
Get-DnsClientServerAddress
captura el índice de interfaz para la interfaz Ethernet IPv4 , para que el DNS se pueda cambiar del servidor DNS de IBM Cloud al servidor ADDNS. El mandatoAdd-Computer
fallará si se omite este paso, ya que el servidor no podrá localizar el controlador de dominio. ElAdd-Computer -Server
sólo acepta FQDN.- El mandato
Add-Computer
añade el servidor al dominio<domain>
utilizando el servidor ADDNS<ad_server_fqdn>
y, a continuación, reinicia el servidor para que el cambio entre en vigor.
$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
Añadir el módulo PowerShell AD
En Windows Server 2019, puede instalar opcionalmente el módulo Active Directory para Windows PowerShell, utilizando los siguientes mandatos PowerShell. Al añadir el módulo, puede acceder a la información de AD desde el host bastión en lugar de RDP al servidor AD:
Import-Module ServerManager
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Install-Module -Name WindowsCompatibility
Añadir el módulo PowerShell SQL
Para instalar la última versión del módulo SQLServer, utilice el mandato siguiente en un dispositivo conectado a Internet, desde un indicador de PowerShell Install-Module -Name SQLServer -Force -AllowClobber
.
Configurar el servidor NTP
Para sincronizar la hora automáticamente desde la jerarquía de dominios de AD, ejecute los mandatos siguientes:
w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
w32tm /query /status