你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 PowerShell 在 Azure 中创建 Linux 虚拟机

适用于:✔️ Linux VM

Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。 本快速入门展示了如何使用 Azure PowerShell 模块在 Azure 中部署 Linux 虚拟机 (VM)。 本快速入门使用最新的 Debian 市场映像。 若要查看运行中的 VM,也可以通过 SSH 登录到该 VM 并安装 NGINX Web 服务器。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

创建资源组

使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

创建虚拟机

我们将自动生成 SSH 密钥对,用于连接到 VM。 使用 -GenerateSshKey 创建的公钥将作为资源存储到 Azure,且以输入的名称作为 SshKeyName。 可以重复使用 SSH 密钥资源创建更多虚拟机。 此外,将自动下载公钥和私钥。 如果使用 Cloud Shell 创建 SSH 密钥对,则会将密钥对存储在由 Cloud Shell 自动创建的存储帐户中。 在检索密钥之前,请勿删除此存储帐户或其中的文件共享,否则将无法访问 VM。

系统将提示你输入连接到 VM 时将使用的用户名。 还将要求输入密码,但你可以将其留空。 使用 SSH 密钥时,将禁用 VM 的密码登录。

在此示例中,使用 Standard_B2s VM 大小创建名为 myVM 的 VM。

New-AzVm `
    -ResourceGroupName 'myResourceGroup' `
    -Name 'myVM' `
    -Location 'East US' `
    -image Debian11 `
    -size Standard_B2s `
    -PublicIpAddressName myPubIP `
    -OpenPorts 80 `
    -GenerateSshKey `
    -SshKeyName mySSHKey

输出会为你指定 SSH 密钥的本地副本的位置。 例如:

Private key is saved to /home/user/.ssh/1234567891
Public key is saved to /home/user/.ssh/1234567891.pub

PowerShell 的虚拟机创建过程中不会显示成本信息,就像 Azure 门户一样。 若要详细了解虚拟机的成本原理,请参阅成本优化概述页

部署 VM 需要数分钟。 部署完成后,请转到下一部分。

安装 NGINX

若要查看运行中的 VM,请安装 NGINX Web 服务器。

Invoke-AzVMRunCommand `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -CommandId 'RunShellScript' `
   -ScriptString 'sudo apt-get update && sudo apt-get install -y nginx'

-ScriptString参数需要模块的版本4.27.0Az.Compute或更高版本。

查看运行中的 Web 服务器

获取 VM 的公共 IP 地址:

Get-AzPublicIpAddress -Name myPubIP -ResourceGroupName myResourceGroup | select "IpAddress" 

使用所选的 Web 浏览器查看默认的 NGINX 欢迎页。 输入 VM 的公共 IP 地址作为 Web 地址。

Screenshot showing the N G I N X default web page.

清理资源

不再需要时,可以使用 Remove-AzResourceGroup cmdlet 删除资源组、VM 和所有相关资源:

Remove-AzResourceGroup -Name 'myResourceGroup'

后续步骤

在本快速入门中,你部署了一台简单的虚拟机、一条网络安全组规则组和规则,并安装了一台基本 Web 服务器。 若要详细了解 Azure 虚拟机,请继续学习 Linux VM 的教程。