据说azure频繁登陆会风控,一般都是创建好vm之后就再也不要登陆等着它自然翻车。要是ip被ban需要更换ip,有什么办法可以做到不登陆直接换呢?答案是Azure提供的CLI命令行工具,不仅无需登陆操控vm,而且提升操作效率,一举两得。

一、安装CLI

不同平台安装CLI方法不同。

MacOS平台

MacOS当然借助homebrew啦。什么,你的MacOS还没安装homebrew神器?
一键安装Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装Azure CLI

brew install azure-cli

Homebrew在安装前会更新自己,国内的网络问题往往会让你卡在更新不动,我们可以组合键:control+C 来临时跳过更新。

Windows平台

windows就简单了,直接使用安装包进行可视化安装,没什么步骤了。
Windows版Azure CLI:安装包下载

带有apt的Linux

系统要求:Ubuntu 16.04+ / Debian 8+
一键安装命令

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

带有yum的Linux

1、导入miscrosoft存储库密钥

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

2、创建本地 azure-cli 存储库信息

sudo sh -c 'echo -e "[azure-cli]
name=Azure CLI
baseurl=https://packages.microsoft.com/yumrepos/azure-cli
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'

3、开始安装

sudo yum install azure-cli

更多其他系统、安装方法参考:安装Azure CLI|Azure Docs

登陆

安装好Azure CLI后,我们开始登陆。Azure CLI提供了几种登陆方式。
1、login命令

az login

CLI将会打开默认的浏览器并加载azure登陆页。如果无法打开浏览器或者遇到其他问题,那么我们可以手动打开浏览器并登陆,然后运行

az login --use-device-code

之后会出现类似的提示:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code HUH8FGZTS to authenticate.
我们手动在浏览器打开地址:https://aka.ms/devicelogin,然后输入设备码:HUH8FGZTS 即可。

2、账号密码
此登陆方法不适用于Microsoft 帐户或已启用双重身份验证的帐户。

az login -u <username> -p <password>

但这样会暴露显示你的azure密码,如果想要避免在控制台中显示自己的密码,我们可以这样

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

下面就开始对虚拟机vm的操作了。我们申请azure的时候就可以直接创建资源组和虚拟机,因此我们可以跳过下面的创建资源组和创建虚拟机步骤。

创建资源组

在 Azure 中,所有资源都分配在资源管理组中。 可以通过资源组对资源进行逻辑分组,以集合的方式更方便地使用资源。

az group create -l westus -n MyResourceGroup

上面在地区为westus美西创建了一个名为MyResourceGroup的资源组。如果你想看都有什么地区,使用如下命令列出你都账号下所有可用的地区:

az account list-locations

创建虚拟机

创建运行 Ubuntu 的新虚拟机,以便通过 SSH 身份验证进行登录。

az vm create --resource-group MyResourceGroup \
  --name Myfirstvm \
  --image UbuntuLTS \
  --generate-ssh-keys \
  --output json \
  --verbose

创建 VM 后,则会看到系统因为 --verbose 选项而使用本地值并创建 Azure 资源。 VM 就绪以后,就会从 Azure 服务返回 JSON,其中包括公共 IP 地址。

{
  "fqdns": "",
  "id": "...",
  "location": "eastus",
  "macAddress": "...",
  "powerState": "VM running",
  "privateIpAddress": "...",
  "publicIpAddress": <PUBLIC_IP_ADDRESS>,
  "resourceGroup": "MyResourceGroup",
  "zones": ""
}

更换ip

获取虚拟机的ip地址

az vm list-ip-addresses -n Myfirstvm --output table

更换ip地址

az vm deallocate -g MyResourceGroup -n Myfirstvm && az vm start -g MyResourceGroup -n Myfirstvm

-n参数为虚拟机名,-g为虚拟机所在的资源组名。

Azure CLI最新版更多方法参考:
docs.azure.cn/zh-cn/cli/vm?view=azure-cli-latest#az_vm_create

Last modification:March 17th, 2021 at 02:36 pm
如果觉得我的文章对你有用,请随意赞赏