1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

富士通ソーシアルサイエンスラボラトリAdvent Calendar 2020

Day 11

CLIでAzure上にVMを構築する

Last updated at Posted at 2020-12-10

概要

CLIでAzureにVMをつくる手順です。

目次

  • VMを作成、起動する
    1. リソースグループを作成する
    2. VMのOSイメージ名を確認する
    3. VMのサイズをどれにするか決める
    4. VMを作成する
    5. VMを起動し、接続する
  • VMを停止する
    1. VMを停止、割り当て解除する

VMを作成、起動する

1. リソースグループを作成する

# リソースグループ名
RG="RG"

# 下記コマンドでリージョンリストを取得してどのリージョンを使用するか決める
az account list-locations | jq .[].name

# 今回は、westus2を指定する
REGION="westus2"

# リソースグループを、指定したリージョンに作成する
az group create --name $RG --location $REGION

2. VMのOSイメージ名を確認する

az vm image list | jq .[]
# 出力結果 (Ubuntuの部分だけ抜粋して記載)
# {
#   "offer": "UbuntuServer",
#   "publisher": "Canonical",
#   "sku": "18.04-LTS",
#   "urn": "Canonical:UbuntuServer:18.04-LTS:latest",
#   "urnAlias": "UbuntuLTS",
#   "version": "latest"
# }

# urnAliasの値を後続で使用するため変数に詰める
IMAGE="UbuntuLTS"

3. VMのサイズをどれにするか決める

下記ページあたりを参考に何があるか料金はいくらか確認し、VMのサイズを決める。

上記2つで、どのサイズにするかを決めたら下記で名称を確認する

# A2シリーズに絞って確認
az vm list-sizes --location $REGION | jq .[].name | grep A2
# 出力結果
# "Standard_A2"
# "Basic_A2"
# "Standard_A2m_v2"
# "Standard_A2_v2"

# 後続で使用するため変数に詰める
SIZE="Standard_A2"

4. VMを作成する

# VMの名前とログインユーザー名を変数に詰める
VMNAME="sample-vm"
USERNAME="sample-user"

# VMを作成する(指定したサイズによっては作成完了まで数分待機する)
az vm create \
    --resource-group $RG \
    --name $VMNAME \
    --image $IMAGE \
    --size $SIZE \
    --admin-username $USERNAME \
    --generate-ssh-keys

5. VMを起動し、接続する

# VMを起動する
az vm start --resource-group $RG --name $VMNAME --no-wait

# PublicIPを変数に詰める
PUBLIC_IP=`az vm list-ip-addresses -g $RG \
--query "[].virtualMachine.network.publicIpAddresses[?name == '"$VMNAME"PublicIP']" \
| jq -r .[][].ipAddress`
echo $PUBLIC_IP

# SSHで接続する
ssh $USERNAME@$PUBLIC_IP

VMの停止

課金を抑えるため、停止手順も記載します。

1. VMを停止、割り当て解除する

RG="RG"
VMNAME="sample-vm"
az vm stop --resource-group $RG --name $VMNAME --no-wait
# 割り当て解除 (課金の発生を抑える。ただしIPアドレスを解放する)
az vm deallocate --resource-group $RG --name $VMNAME --no-wait

参考

おわりに

完全に課金を無くすためにはリソースグループごと削除してください。

RG="RG"
az group delete --name $RG
# Are you sure you want to perform this operation? (y/n): y

使う機会は無いと思いますが、何かご指摘ありましたらよろしくお願いします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?