利用Azure CLI命令行工具无需登陆实现更换ip等操作
利用Azure CLI命令行工具无需登陆实现更换ip等操作
home again据说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] |
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 \ |
创建 VM 后,则会看到系统因为 –verbose 选项而使用本地值并创建 Azure 资源。 VM 就绪以后,就会从 Azure 服务返回 JSON,其中包括公共 IP 地址。
{ |
更换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