Mudanças entre as edições de "Criando VM´s com Vagrant"

De MSTECH wiki
Ir para: navegação, pesquisa
(Criando uma VM zerada, com Windows 2012 R2 Standard)
(Criando uma VM zerada, com Windows 2012 R2 Standard)
Linha 30: Linha 30:
 
#'''Checklist (padronização)'''
 
#'''Checklist (padronização)'''
 
#:- Máquina Virtual (.vhdx) ter no máximo 45Gb para instalação do SO;<br \>- Windows Server com as atualizações baixadas e instaladas;<br \>- Instalar a feature ''.NET Framwork'' versões 3.5 e 4.5, pelo '''''Add Roles e Features''''' no '''''Server Manager'''''. Como da imagem abaixo.<br \><div align="left">[[Arquivo:Vagrant1.png|none|300px|caption]]</div><br \>- Instalar a feature ''Windows PowerShell'' versões 3.0 e 2.0, pelo '''''Add Roles e Features''''' no ''Server Manager''. Como da imagem abaixo.<br \><div align="left">[[Arquivo:Vagrant2.png|none|300px|caption]]</div><br \>- Fazer um procedimento para desativar senha complexa. Para isso, vá pela VM e pressione as teclas [[File:Logo Windows2012.png|25px|caption]] + R e digite '''''gpedit.msc'''''. Em seguida, navegue em ''Computer Configuration'' -> ''Windows Settings'' -> ''Security Settings'' -> ''Account Policies'' -> ''Password Policy'' e clique 2x na regra '''''Password must meet complexity requirements'''''. Selecione para desabilitar essa regra e clique em OK.<br \>- Configurar '''''WinRM''''', que é uma ferramenta de linha de comando projetado para criar e controlar as conexões remotas. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as três linhas de comando citada abaixo.<br \><code>winrm set winrm/config/client/auth '@{Basic="true"}'<br \>winrm set winrm/config/service/auth '@{Basic="true"}'<br \>winrm set winrm/config/service '@{AllowUnencrypted="true"}'</code><br \>- Habilitar conexões ''Remote Desktop''. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as duas linhas de comando citada abaixo.<br \><code>$obj = Get-WmiObject -Class "Win32_TerminalServiceSetting" -Namespace root\cimv2\terminalservices<br \>$obj.SetAllowTsConnections(1,1)</code><br \>- Habilitar ''CredSSP'' (Credential SSP), que permite o uso do ''SSP'' (Suporte de Provedor de Segurança) do lado cliente para delegar as credenciais do usuário da máquina cliente ao servidor de destino. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite a linha de comando citada abaixo.<br \><code>Enable-WSManCredSSP -Force -Role Server</code><br \>- Habilitar regras ''RDP'' (protocolo de conexão remota) e ''WinRM'' no firewall. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as duas linhas de comando citada abaixo.<br \><code>Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any<br \>Set-NetFirewallRule -Name RemoteDesktop-UserMode-In-TCP -Enabled True</code><br \>- Alterar as políticas de execução do PowerShell. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite a linha de comando citada abaixo.<br \><code>Set-ExecutionPolicy -ExecutionPolicy Unrestricted</code><br \>
 
#:- Máquina Virtual (.vhdx) ter no máximo 45Gb para instalação do SO;<br \>- Windows Server com as atualizações baixadas e instaladas;<br \>- Instalar a feature ''.NET Framwork'' versões 3.5 e 4.5, pelo '''''Add Roles e Features''''' no '''''Server Manager'''''. Como da imagem abaixo.<br \><div align="left">[[Arquivo:Vagrant1.png|none|300px|caption]]</div><br \>- Instalar a feature ''Windows PowerShell'' versões 3.0 e 2.0, pelo '''''Add Roles e Features''''' no ''Server Manager''. Como da imagem abaixo.<br \><div align="left">[[Arquivo:Vagrant2.png|none|300px|caption]]</div><br \>- Fazer um procedimento para desativar senha complexa. Para isso, vá pela VM e pressione as teclas [[File:Logo Windows2012.png|25px|caption]] + R e digite '''''gpedit.msc'''''. Em seguida, navegue em ''Computer Configuration'' -> ''Windows Settings'' -> ''Security Settings'' -> ''Account Policies'' -> ''Password Policy'' e clique 2x na regra '''''Password must meet complexity requirements'''''. Selecione para desabilitar essa regra e clique em OK.<br \>- Configurar '''''WinRM''''', que é uma ferramenta de linha de comando projetado para criar e controlar as conexões remotas. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as três linhas de comando citada abaixo.<br \><code>winrm set winrm/config/client/auth '@{Basic="true"}'<br \>winrm set winrm/config/service/auth '@{Basic="true"}'<br \>winrm set winrm/config/service '@{AllowUnencrypted="true"}'</code><br \>- Habilitar conexões ''Remote Desktop''. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as duas linhas de comando citada abaixo.<br \><code>$obj = Get-WmiObject -Class "Win32_TerminalServiceSetting" -Namespace root\cimv2\terminalservices<br \>$obj.SetAllowTsConnections(1,1)</code><br \>- Habilitar ''CredSSP'' (Credential SSP), que permite o uso do ''SSP'' (Suporte de Provedor de Segurança) do lado cliente para delegar as credenciais do usuário da máquina cliente ao servidor de destino. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite a linha de comando citada abaixo.<br \><code>Enable-WSManCredSSP -Force -Role Server</code><br \>- Habilitar regras ''RDP'' (protocolo de conexão remota) e ''WinRM'' no firewall. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite as duas linhas de comando citada abaixo.<br \><code>Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any<br \>Set-NetFirewallRule -Name RemoteDesktop-UserMode-In-TCP -Enabled True</code><br \>- Alterar as políticas de execução do PowerShell. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar '''''Run as Administrator''''') e digite a linha de comando citada abaixo.<br \><code>Set-ExecutionPolicy -ExecutionPolicy Unrestricted</code><br \>
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados2.png|none|200px|caption]]</div></blockquote>
 
#Siga as etapas mostradas na figura abaixo (a partir da esquerda para a direita).
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados3.png|none|600px|caption]]</div></blockquote>
 
#Setar o item mostrado na figura abaixo.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados4.png|none|200px|caption]]</div></blockquote>
 
#Vá em '''''Options''''', setar a opção '''''Overwrite the existing database (WITH REPLACE)''''' e clicar em OK para iniciar o restore do BD. Segue a figura abaixo.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados5.png|none|200px|caption]]</div></blockquote>
 
#:Na janela abaixo, mostra o processo de restore em andamento.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados6.png|none|200px|caption]]</div></blockquote>
 
#:O restore da DB será concluído assim que surgir uma janela como na imagem abaixo.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados7.png|none|200px|caption]]</div></blockquote>
 
#:'''''Obs.''''': caso a finalidade de restore seja em um banco de dados já existente numa VM, não há mais necessidade de dar prosseguimento para a próxima etapa. Caso contrário, é necessário seguir os procedimentos abaixo até o fim.
 
#Próxima etapa é recriar os usuários na DB, expande a DB até chegar na pasta '''''Security''''' -> '''''Users'''''. Clique com o botão direito sobre a conta a ser excluída e selecione '''''Delete''''' conforme mostra a figura a seguir.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados9.png|none|200px|caption]]</div></blockquote>
 
#:A figura a seguir exibe a janela durante o processo de remoção da conta. Selecione a conta e clique no botão OK para finalizar a exclusão da conta.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados10.png|none|200px|caption]]</div></blockquote>
 
#Próximo passo será recriar a conta do usuário, para isso clique com o botão direito sobre a pasta '''''Logins''''', selecione '''''New Login...''''' conforme mostra a figura abaixo:
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados11.png|none|200px|caption]]</div></blockquote>
 
#Segue abaixo a janela de criação de conta, seguir as instruções conforme mostram a sequência de 3 figuras.
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados12.png|thumb|none|200px|Fig.1 - Página '''''General''''']] </li></ul></div>
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados13.png|thumb|none|200px|Fig.2 – Página '''''Server Roles''''']] </li></ul></div>
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados14.png|thumb|none|200px|Fig.3 – Página '''''User Mapping''''']] </li></ul></div>
 
#:'''''Obs.''''': nas páginas '''''Securables''''' e '''''Status''''' não há alterações a serem efetuadas, manter como está.
 
#O passo a seguir será criar novamente a conta na Database em que foi removida antes, segue a figura abaixo como proceder.
 
#:<blockquote><div align="left">[[Arquivo:Restore de banco de dados15.png|none|200px|caption]]</div></blockquote>
 
#Segue abaixo a janela de re-criação de conta, seguir as instruções conforme mostram a sequência de 2 figuras.
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados16.png|thumb|none|200px|Fig.1 – Página '''''General''''']] </li></ul></div>
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados17.png|thumb|none|200px|Fig.2 – Página '''''Membership''''']] </li></ul></div>
 
#:'''''Obs.''''': nas páginas '''''Owned Schemas''''', '''''Securables''''' e '''''Extended Properties''''' não há alterações a serem efetuadas, manter como está.
 
#Próximo passo será aplicar Grant no banco de dados restaurado, ou seja, conceder permissão para conta recriada, no banco de dados.<br />Para isso, basta aplicar um script para aplicar Grant no BD, cujo código é mostrado abaixo:
 
#:<blockquote><code>USE [master]<br />GO<br />EXEC [spGrantExectoAllRoutines]@user = USUARIO,@database = BANCO</code>
 
#:Onde:
 
#:USE – comando usado para definir qual banco de dados irá utilizar, no caso do exemplo acima, será utilizado o BD '''''master'''''.
 
#:GO – comando utilizado para solicitar ao SQL para seguir uma instrução na próxima linha.
 
#:EXEC – comando utilizado para executar uma função ou procedure, no caso do exemplo acima, será executado a procedure '''''spGrantExectoAllRoutines'''''.
 
#:@user – parâmetro para inserir a conta de usuário. Por exemplo: '''''user_oncorretor'''''.
 
#:@database – parâmetro para inserir o banco de dados em que aplicará permissão para a conta de usuário. Por exemplo: o banco de dados '''''EFAP_Agenda'''''.
 
#:Segue 2 exemplos abaixos de imagens relacionadas ao procedure '''''spGrantExectoAllRoutines'''''.
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados18.png|thumb|none|200px|Fig.1 – Geralmente a procedure '''''spGrantExectoAllRoutines''''' fica armazenada em BD ''msdb''.]] </li></ul></div>
 
#:<div><ul> <li style="display: inline-block;">[[File:Restore de banco de dados19.jpeg|thumb|none|200px|Fig.2 – Execução da procedure '''''spGrantExectoAllRoutines''''' para conceder permissões para várias contas de usuário em vários bancos de dados diferentes.]] </li></ul></div>
 

Edição das 14h36min de 18 de julho de 2016

Versões de softwares utilizados para criação do manual

Versão Aplicação
6.3.9600.16384 Hyper-V
2012 R2 Standard Windows Server
1.7.2 Vagrant
3.0 Windows PowerShell

Introdução

Este documento visa apresentar o procedimento para preparação de máquinas virtuais usando a ferramenta Vagrant.
O Vagrant é uma ferramenta que permite que criemos rapidamente máquinas virtuais para fazermos testes, desenvolvimento ou provisionamento de ambientes utilizando as soluções de virtualização mais comuns como o Virtualbox e o Hyper-V.
Para a execução desta ferramenta, a interface é somente via prompt de comando.

Objetivo

Este manual tem como objetivo, se tornar uma espécie de consulta para os analistas de DevOps, assim como capacitar analistas que iniciarem na atividade de virtualização em quaisquer ambiente.

Execução

Criando uma VM zerada, com Windows 2012 R2 Standard

  1. Checklist (padronização)
    - Máquina Virtual (.vhdx) ter no máximo 45Gb para instalação do SO;
    - Windows Server com as atualizações baixadas e instaladas;
    - Instalar a feature .NET Framwork versões 3.5 e 4.5, pelo Add Roles e Features no Server Manager. Como da imagem abaixo.
    caption

    - Instalar a feature Windows PowerShell versões 3.0 e 2.0, pelo Add Roles e Features no Server Manager. Como da imagem abaixo.
    caption

    - Fazer um procedimento para desativar senha complexa. Para isso, vá pela VM e pressione as teclas caption + R e digite gpedit.msc. Em seguida, navegue em Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy e clique 2x na regra Password must meet complexity requirements. Selecione para desabilitar essa regra e clique em OK.
    - Configurar WinRM, que é uma ferramenta de linha de comando projetado para criar e controlar as conexões remotas. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as três linhas de comando citada abaixo.
    winrm set winrm/config/client/auth '@{Basic="true"}'
    winrm set winrm/config/service/auth '@{Basic="true"}'
    winrm set winrm/config/service '@{AllowUnencrypted="true"}'

    - Habilitar conexões Remote Desktop. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as duas linhas de comando citada abaixo.
    $obj = Get-WmiObject -Class "Win32_TerminalServiceSetting" -Namespace root\cimv2\terminalservices
    $obj.SetAllowTsConnections(1,1)

    - Habilitar CredSSP (Credential SSP), que permite o uso do SSP (Suporte de Provedor de Segurança) do lado cliente para delegar as credenciais do usuário da máquina cliente ao servidor de destino. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite a linha de comando citada abaixo.
    Enable-WSManCredSSP -Force -Role Server
    - Habilitar regras RDP (protocolo de conexão remota) e WinRM no firewall. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as duas linhas de comando citada abaixo.
    Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any
    Set-NetFirewallRule -Name RemoteDesktop-UserMode-In-TCP -Enabled True

    - Alterar as políticas de execução do PowerShell. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite a linha de comando citada abaixo.
    Set-ExecutionPolicy -ExecutionPolicy Unrestricted