Sua organização é
baseada nos Estados Unidos. A maioria de sua infraestrutura se baseia na nuvem.
Seus usuários europeus estão relatando que o site está lento. Para fornecer um
melhor serviço aos clientes na Europa, sua empresa pediu para você criar um
servidor Web novo e aprimorado para a Europa. O computador deve ser configurado
como um servidor Web do IIS quando provisionado.
Neste exercício, você provisionará um servidor Web para atender aos requisitos.
No exercício a seguir, você usa um modelo do Resource Manager para provisionar uma
máquina virtual. O manipulador de extensão do DSC incluído no modelo impõe seu
estado na máquina virtual. Use uma conta de armazenamento do Azure para hospedar o
arquivo de configuração do DSC.
Na instância do Azure Cloud Shell à direita, execute este comando para clonar o
repositório GitHub.
Bash
Copiar
git clone https://github.com/MicrosoftDocs/mslearn-choose-compute-provisioning.git
Examinar e compactar o arquivo de configuração de estado
A configuração de estado é definida no arquivo Webserver.ps1, que inclui o servidor
Web do IIS em sua máquina virtual. Vamos examinar esse arquivo.
Bash
Copiar
cd mslearn-choose-compute-provisioning
code Webserver.ps1
O arquivo de configuração inclui o código a seguir. Observe que ele instala o IIS,
o ASP.NET e o Console de Gerenciamento do IIS.
PowerShell
Copiar
Configuration Webserver
{
param ($MachineName)
Node $MachineName
{
#Install the IIS Role
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
WindowsFeature WebServerManagementConsole
{
Name = "Web-Mgmt-Console"
Ensure = "Present"
}
}
}
Para fechar o editor de código, selecione Ctrl+Q.
Bash
Copiar
ls -al
Observe que o repositório contém o arquivo Webserver.ps1 e o arquivo compactado
Webserver.zip. Você usará o arquivo compactado posteriormente neste exercício.
Configurar o modelo
O repositório GitHub clonado também contém um modelo do Resource Manager. Vamos
adicionar o local do arquivo de configuração compactado a ele.
Bash
Copiar
code template.json
No arquivo de código do template.json, na seção <parameters>, observe que algumas
propriedades, como vmName, não incluem valores padrão. Ao usar o modelo, você
deverá inserir valores para essas propriedades.
JSON
Copiar
"modulesUrl": {
"type": "string",
"metadata": {
"description": "URL for the DSC configuration module."
}
},
Substitua o código por este código:
JSON
Copiar
"modulesUrl": {
"type": "string",
"defaultValue": "https://github.com/MicrosoftDocs/mslearn-choose-compute-
provisioning/raw/master/Webserver.zip",
"metadata": {
"description": "URL for the DSC configuration module."
}
},
Para salvar o modelo, selecione Ctrl+s.
Na seção <resources>, observe que o modelo cria um endereço IP, uma rede virtual, a
máquina virtual e outros recursos relacionados.
Validar o modelo
Agora que você tem um modelo concluído e um arquivo de configuração compactado,
pode usar a CLI do Azure para executar uma implantação. Antes de implantar, valide
seus arquivos para ver se a implantação será bem-sucedida.
No Cloud Shell, execute comando a seguir para validar sua implantação. Quando a
senha for solicitada, insira uma senha complexa de sua escolha.
CLI do Azure
Copiar
az deployment group validate \
--resource-group learn-e9c935af-a7d8-4f61-937f-7e855895822f \
--template-file template.json \
--parameters vmName=hostVM1 adminUsername=serveradmin
Se sua implantação for validada, você verá informações sobre a implantação. Preste
atenção especial à propriedade error, que pode ser encontrada rolando de volta o
texto de saída. Ela deverá ser null.
Captura de tela do Cloud Shell mostrando uma validação de modelo bem-sucedida com
um texto explicativo que destaca a propriedade de erro definida como null.
Caso não haja erros, seu modelo foi validado e pode ser implantado.
Implantar o modelo
Agora que sabemos que o modelo é válido, podemos executar a implantação.
Para implantar o modelo, execute comando a seguir. Quando a senha for solicitada,
insira uma senha complexa de sua escolha.
CLI do Azure
Copiar
az deployment group create \
--resource-group learn-e9c935af-a7d8-4f61-937f-7e855895822f \
--template-file template.json \
--parameters vmName=hostVM1 adminUsername=serveradmin
O modelo leva vários minutos para ser implantado.
Quando a implantação for concluída, você terá uma máquina virtual configurada como
um servidor Web do IIS. Para listar todos os recursos no grupo de recursos e
confirmar se tudo foi configurado, execute este comando:
CLI do Azure
Copiar
az resource list \
--resource-group learn-e9c935af-a7d8-4f61-937f-7e855895822f \
--output table \
--query "[*].{Name:name, Type:type}"
Você verá todos os recursos listados, o que significa que sua implantação foi bem-
sucedida.
Execute este comando para gerar a URL do seu servidor Web para que você possa
confirmar que o IIS foi instalado com êxito:
CLI do Azure
Copiar
echo http://$(az vm show \
--show-details \
--resource-group learn-e9c935af-a7d8-4f61-937f-7e855895822f \
--name hostVM1 \
--query publicIps \
--output tsv)
Selecione a URL e ou copie-a e cole-a em uma nova janela do navegador. Você verá a
página padrão do IIS.
Captura de tela da página padrão do IIS na máquina virtual que foi implantada.