연습 - Azure Virtual Machine 만들기 - Training
azure 구독이 있어야 함
resource group이 하나 만들어져 있어야 함
<aside> 💡 본 실습은 샌드박스 구독으로 진행함
</aside>
리눅스
curl -L <https://aka.ms/InstallAzureCli> | bash
macOS
brew update && brew install azure-cli
az vm create \
--resource-group <resource group name> \
--name my-vm \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
az vm extension set \
--resource-group <resource group name> \
--vm-name my-vm \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--version 2.1 \
--settings '{"fileUris":["<https://raw.githubusercontent.com/MicrosoftDocs/mslearn-welcome-to-azure/master/configure-nginx.sh>"]}' \
--protected-settings '{"commandToExecute": "./configure-nginx.sh"}'
위 명령어에 있는 configure-nginx.sh 는 이렇게 생겼다.
#!/bin/bash
# Update apt cache.
sudo apt-get update
# Install Nginx.
sudo apt-get install -y nginx
# Set the home page.
echo "<html><body><h2>Welcome to Azure! My name is $(hostname).</h2></body></html>" | sudo tee -a /var/www/html/index.html
위에서 만든 VM의 IP 주소를 가져오기
az vm list-ip-addresses 명령을 실행하여 VM의 IP 주소를 가져오고 결과를 Bash 변수로 저장한다.
IPADDRESS="$(az vm list-ip-addresses \
--resource-group <resource group name> \
--name my-vm \
--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
--output tsv)"
curl 명령을 실행하여 홈페이지를 다운로드해본다. 현재는 VM에 액세스할 수 없다. 포트 80에서 인바운드 HTTP 액세스를 허용하여 이를 변경하는 네트워크 보안 그룹을 만들어야 한다.
curl --connect-timeout 5 <http://$IPADDRESS>
IP를 확인 후 복사하여 브라우저에 붙여넣기 한다. 당연히 접속이 안된다.