0
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.

Arm ベースのプロセッサを搭載した新しい Azure 仮想マシンを試してみた

Posted at

背景と目的

Arm ベースのプロセッサを搭載した新しい Azure 仮想マシンが GA したので、早速試してみました。最初に展開された 10 リージョンに日本のリージョンは含まれていないようです。また、価格に関しては East US で同じようなスペックの Intel の Standard_D2_v5 と Arm の Standard_D2ps_v5 を比較してみたところ、前者が約 70 ドル、後者が約 56 ドルなので、Arm は Inetl と比較して約 20% 安い計算になるようです。

検証用の Arm ベース仮想マシンを作成

bash
# 環境変数をセットします
region=eastus
prefix=mnrarmvm

# リソースグループを作成します
az group create \
  --name ${prefix}-rg \
  --location $region

# VM イメージを探します
az vm image list \
  --offer ubuntu \
  --architecture arm64 \
  --publisher canonical \
  --sku 22_04-lts-arm64 \
  --all \
  --output table

Architecture    Offer                         Publisher    Sku              Urn                                                                     Version
--------------  ----------------------------  -----------  ---------------  ----------------------------------------------------------------------  ---------------
Arm64           0001-com-ubuntu-server-jammy  Canonical    22_04-lts-arm64  Canonical:0001-com-ubuntu-server-jammy:22_04-lts-arm64:22.04.202206220  22.04.202206220
Arm64           0001-com-ubuntu-server-jammy  Canonical    22_04-lts-arm64  Canonical:0001-com-ubuntu-server-jammy:22_04-lts-arm64:22.04.202207060  22.04.202207060
Arm64           0001-com-ubuntu-server-jammy  Canonical    22_04-lts-arm64  Canonical:0001-com-ubuntu-server-jammy:22_04-lts-arm64:22.04.202207121  22.04.202207121
Arm64           0001-com-ubuntu-server-jammy  Canonical    22_04-lts-arm64  Canonical:0001-com-ubuntu-server-jammy:22_04-lts-arm64:22.04.202208100  22.04.202208100

# SSH キーペアをファイル名を指定して作成します
ssh-keygen -m PEM -t rsa -b 4096 \
  -f ${prefix}

# 検証用の仮想マシンを作成します
az vm create \
  --resource-group ${prefix}-rg \
  --name ${prefix}-vm \
  --os-disk-name ${prefix}-vmOSDisk \
  --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts-arm64:22.04.202208100 \
  --size Standard_D2ps_v5 \
  --admin-username azureuser \
  --ssh-key-value ${prefix}.pub \
  --nsg-rule NONE \
  --public-ip-address-dns-name ${prefix} \
  --storage-sku Standard_LRS

# NSG に自分の IP アドレスから SSH 接続出来るようにします
az network nsg rule create \
  --resource-group ${prefix}-rg \
  --name Allow-SSH \
  --nsg-name ${prefix}-vmNSG \
  --priority 100 \
  --source-address-prefixes $(curl -s inet-ip.info) \
  --destination-port-ranges 22 \
  --access Allow \
  --protocol Tcp

# 仮想マシンに SSH 接続します
ssh -i ${prefix} azureuser@${prefix}.$region.cloudapp.azure.com

Arm ベースの Ubuntu を触ってみる

bash
# OS 情報を確認します
$ uname -a
Linux mnrarmvm-vm 5.15.0-1017-azure #20-Ubuntu SMP Fri Aug 5 12:03:57 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

# Azure Linux エージェント(waagent)を確認します
$ ps aux | grep waagent
root         721  0.0  0.2  32032 23696 ?        Ss   23:04   0:00 /usr/bin/python3 -u /usr/sbin/waagent -daemon
azureus+    1651  0.0  0.0   6420  1844 pts/0    S+   23:11   0:00 grep --color=auto waagent

# .NET 6 SDK をインストールしてみます(そんなパッケージは無いようです)
$ sudo apt-get update && \
  sudo apt-get install -y dotnet6

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package dotnet6

# 手動で .NET 6 SDK をインストールします
wget https://download.visualstudio.microsoft.com/download/pr/901f7928-5479-4d32-a9e5-ba66162ca0e4/d00b935ec4dc79a27f5bde00712ed3d7/dotnet-sdk-6.0.400-linux-arm64.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.400-linux-arm64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

# .NET 6 の情報を表示します
$ dotnet --info
.NET SDK (reflecting any global.json):
 Version:   6.0.400
 Commit:    7771abd614

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  22.04
 OS Platform: Linux
 RID:         ubuntu.22.04-arm64
 Base Path:   /home/azureuser/dotnet/sdk/6.0.400/

global.json file:
  Not found

Host:
  Version:      6.0.8
  Architecture: arm64
  Commit:       55fb7ef977

.NET SDKs installed:
  6.0.400 [/home/azureuser/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.8 [/home/azureuser/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.8 [/home/azureuser/dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

# 仮想マシンから抜けます
exit

検証環境を削除

bash
# リソースグループを削除します
az group delete \
  --name ${prefix}-rg \
  --yes

# 作成した SSH キーペアを削除します
rm -f ${prefix}*

参考

0
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
0
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?