리눅스VM생성 CLI
az vm create \
--name myVM \
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--image UbuntuLTS \
--location eastus \
--size Standard_DS2_v2 \
--generate-ssh-keys
SSH key files
'/home/onestx/.ssh/id_rsa' and '/home/onestx/.ssh/id_rsa.pub' have been
generated under ~/.ssh to allow SSH access to the VM. If using machines without
permanent storage, back up your keys to a safe location.
생성결과
{
"fqdns": "",
"id":
"/subscriptions/a01e3ec6-836c-4dc6-8597-cca20f8163ce/resourceGroups/f7bb2bd5-d278-471d-8af3-ef4e9987bd42/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress":
"00-0D-3A-4F-8E-8A",
"powerState": "VM
running",
"privateIpAddress":
"10.0.0.4",
"publicIpAddress":
"23.96.119.131",
"resourceGroup":
"f7bb2bd5-d278-471d-8af3-ef4e9987bd42",
"zones": ""
}
Nginx 무료오픈소스 웹서버
az vm extension set
\
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--vm-name myVM \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-welcome-to-azure/master/configure-nginx.sh"]}'
\
--protected-settings
'{"commandToExecute": "./configure-nginx.sh"}'
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 방화벽 포트 오픈
az vm open-port \
--name myVM \
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--port 80
PIP 쿼리해보기
az vm show \
--name myVM \
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--show-details \
--query [publicIps] \
--output tsv
AZ CLI + JMESPath 실습
- 쿼리에 리소스명을 지정
리턴은 배열형태로 됨
값만 바로 나옴.
쿼리 이하는 작은따옴표로 싸준다
az vm show -g
QueryDemo -n TestVM --query '[name, osProfile.adminUsername,
osProfile.linuxConfiguration.ssh.publicKeys[0].keyData]' -o json
[
"TestVM",
"azureuser",
"ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDMobZNJTqgjWn/IB5xlilvE4Y+BMYpqkDnGRUcA0g9BYPgrGSQquCES37v2e3JmpfDPHFsaR+CPKlVr2GoVJMMHeRcMJhj50ZWq0hAnkJBhlZVWy8S7dwdGAqPyPmWM2iJDCVMVrLITAJCno47O4Ees7RCH6ku7kU86b1NOanvrNwqTHr14wtnLhgZ0gQ5GV1oLWvMEVg1YFMIgPRkTsSQKWCG5lLqQ45aU/4NMJoUxGyJTL9i8YxMavaB1Z2npfTQDQo9+womZ7SXzHaIWC858gWNl9e5UFyHDnTEDc14hKkf1CqnGJVcCJkmSfmrrHk/CkmF0ZT3whTHO1DhJTtV
stramer@contoso"
]
- 배열리턴 대신 사전 형태로 가져오기는 { } 이용
그리고 원하는 이름 지정해서 같이 나오게 하려면 아래와 같이
쿼리 이하는 작은따옴표로 싸준다
az vm show -g
QueryDemo -n TestVM --query '{VMName:name, admin:osProfile.adminUsername,
sshKey:osProfile.linuxConfiguration.ssh.publicKeys[0].keyData }' -o json
{
"VMName": "TestVM",
"admin": "azureuser",
"ssh-key": "ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDMobZNJTqgjWn/IB5xlilvE4Y+BMYpqkDnGRUcA0g9BYPgrGSQquCES37v2e3JmpfDPHFsaR+CPKlVr2GoVJMMHeRcMJhj50ZWq0hAnkJBhlZVWy8S7dwdGAqPyPmWM2iJDCVMVrLITAJCno47O4Ees7RCH6ku7kU86b1NOanvrNwqTHr14wtnLhgZ0gQ5GV1oLWvMEVg1YFMIgPRkTsSQKWCG5lLqQ45aU/4NMJoUxGyJTL9i8YxMavaB1Z2npfTQDQo9+womZ7SXzHaIWC858gWNl9e5UFyHDnTEDc14hKkf1CqnGJVcCJkmSfmrrHk/CkmF0ZT3whTHO1DhJTtV
stramer@contoso"
}
- 평면화 형태 출력 [ ] 이용
az vm list -g
QueryDemo --query '[].{Name:name, OS:storageProfile.osDisk.osType,
admin:osProfile.adminUsername}' -o json
아래와 같은 형태 리턴
[
{
"Name": "Test-2",
"OS": "Linux",
"admin": "sttramer"
},
{
"Name": "TestVM",
"OS": "Linux",
"admin": "azureuser"
},
{
"Name": "WinTest",
"OS": "Windows",
"admin": "winadmin"
}
]
--테이블 형태 output 하면
az vm list -g
QueryDemo --query '[].{Name:name, OS:storageProfile.osDisk.osType,
Admin:osProfile.adminUsername}' --output table
Name OS
Admin
------- -------
---------
Test-2 Linux
sttramer
TestVM Linux
azureuser
WinTest Windows
winadmin
- 배열 필터링
az vm list -g
QueryDemo --query "[?storageProfile.osDisk.osType=='Linux'].{Name:name, admin:osProfile.adminUsername}" --output
table
크기조정
az vm resize \
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--name myVM \
--size Standard_DS3_v2
VM중단은 필수
실제로 1분 정도 중단됨
서비스 자동 구동됨.
크기조정된 잘되었는지 , VM 타입 조회
az vm show \
--resource-group
f7bb2bd5-d278-471d-8af3-ef4e9987bd42 \
--name myVM \
--query "hardwareProfile" \
--output tsv
'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글
ACI (Azure Container Instance) (0) | 2019.03.04 |
---|---|
Luis Bot service on Azure Test결과 (0) | 2019.01.25 |
Azure 기초 개념 (0) | 2019.01.17 |
CSP 간 Azure 계약(구독) 이전 절차 (0) | 2019.01.15 |
Azure 구독의 소유권을 다른 계정으로 양도 (0) | 2019.01.15 |