Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。 本指南详细介绍了如何使用 Azure PowerShell 模块部署运行 Ubuntu 服务器的虚拟机。 服务器部署以后,将创建 SSH 连接,并且安装 NGINX webserver。

如果没有 Azure 订阅,可在开始前创建一个试用帐户。

本快速入门需要 Azure PowerShell 模块 3.6 或更高版本。 运行 Get-Module -ListAvailable AzureRM 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块。

最后,需要在 Windows 用户配置文件的 .ssh 目录中存储名为 id_rsa.pub 的公共 SSH 密钥。 有关创建适用于 Azure 的 SSH 密钥的详细信息,请参阅创建适用于 Azure 的 SSH 密钥。

登录 Azure

使用 Login-AzureRmAccount -EnvironmentName AzureChinaCloud 命令登录到 Azure 订阅,并按照屏幕上的说明进行操作。

PowerShell复制
Login-AzureRmAccount -EnvironmentName AzureChinaCloud

创建资源组

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

PowerShell复制
New-AzureRmResourceGroup -Name myResourceGroup -Location chinaeast

创建网络资源

创建虚拟网络、子网和公共 IP 地址。 这些资源用来与虚拟机建立网络连接,以及连接到 Internet。

PowerShell复制
# Create a subnet configuration
$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24 # Create a virtual network $vnet = New-AzureRmVirtualNetwork -ResourceGroupName myResourceGroup -Location chinaeast ` -Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig # Create a public IP address and specify a DNS name $pip = New-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup -Location chinaeast ` -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name "mypublicdns$(Get-Random)" 

创建网络安全组和网络安全组规则。 网络安全组使用入站和出站规则保护虚拟机。 在本例中,为端口 22 创建一个入站规则,该规则允许传入的 SSH 连接。 我们还需要为端口 80 创建入站规则,以允许传入的 Web 流量。

PowerShell复制
# Create an inbound network security group rule for port 22
$nsgRuleSSH = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleSSH  -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * ` -DestinationPortRange 22 -Access Allow # Create an inbound network security group rule for port 80 $nsgRuleWeb = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW  -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * ` -DestinationPortRange 80 -Access Allow # Create a network security group $nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName myResourceGroup -Location chinaeast ` -Name myNetworkSecurityGroup -SecurityRules $nsgRuleSSH,$nsgRuleWeb 

使用 New-AzureRmNetworkInterface 为虚拟机创建网卡。 网卡将虚拟机连接到子网、网络安全组和公共 IP 地址。

PowerShell复制
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzureRmNetworkInterface -Name myNic -ResourceGroupName myResourceGroup -Location chinaeast ` -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id 

创建虚拟机

创建虚拟机配置。 此配置包括部署虚拟机时使用的设置,例如虚拟机映像、大小和身份验证配置。

PowerShell复制
# Define a credential object
$securePassword = ConvertTo-SecureString ' ' -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ("azureuser", $securePassword) # Create a virtual machine configuration $vmConfig = New-AzureRmVMConfig -VMName myVM -VMSize Standard_D1 | ` Set-AzureRmVMOperatingSystem -Linux -ComputerName myVM -Credential $cred -DisablePasswordAuthentication | ` Set-AzureRmVMSourceImage -PublisherName Canonical -Offer UbuntuServer -Skus 16.04-LTS -Version latest | ` Add-AzureRmVMNetworkInterface -Id $nic.Id # Configure SSH Keys $sshPublicKey = Get-Content "$env:USERPROFILE\.ssh\id_rsa.pub" Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys" 

使用 New-AzureRmVM 创建虚拟机。

PowerShell复制
New-AzureRmVM -ResourceGroupName myResourceGroup -Location chinaeast -VM $vmConfig 

连接到虚拟机

完成部署后,请与虚拟机建立 SSH 连接。

使用 Get-AzureRmPublicIpAddress 命令返回虚拟机的公共 IP 地址。

PowerShell复制
Get-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup | Select IpAddress

在装有 SSH 的系统中,使用以下命令连接到虚拟机。 如果在 Windows 上操作,可以使用 Putty 来创建连接。

bash复制
ssh <Public IP Address>

出现提示时,请输入登录用户名 azureuser。 如果在创建 SSH 密钥时输入了密码,还需要输入此密码。

安装 NGINX

使用以下命令更新包源并安装最新的 NGINX 包。

bash复制
# update package source
sudo apt-get -y update# install NGINX
sudo apt-get -y install nginx

查看 NGIX 欢迎页

NGINX 已安装,并且现在已从 Internet 打开 VM 上的端口 80 - 可以使用所选的 Web 浏览器查看默认的 NGINX 欢迎页。 请务必使用前面记录的公共 IP 地址访问默认页面。

清理资源

如果不再需要资源组、VM 和所有相关的资源,可以使用 Remove-AzureRmResourceGroup 命令将其删除。

PowerShell复制
Remove-AzureRmResourceGroup -Name myResourceGroup

后续步骤

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

Azure Linux 虚拟机教程

立即访问http://market.azure.cn

使用 PowerShell 创建 Linux 虚拟机相关推荐

  1. 使用Hyper-V Server创建Linux虚拟机

    通过 Hyper-V 及 Windows Azure 供应 Linux,这是微软改善对开源软件支持情况的一大举措.作为该倡议的一部分,微软的 Linux 集成服务(LIS)团队持续开发着先进的 Lin ...

  2. 史上最详细的Vmware安装教程(一)-创建Linux虚拟机

    本文将演示如何使用Vwmare workstation软件创建Linux虚拟机,通过学习,我们将可以按照自己下需求,来创建一个安装Linux操作系统(Centos)的虚拟机,虚拟机的CPU.硬盘.网卡 ...

  3. 创建Linux虚拟机及安装Linux镜像教程(手把手教程)

    创建Linux虚拟机及安装Linux镜像教程(手把手教程) 1.创建Linux虚拟机的准备工作 软件:VMware Workstation Pro(演示以VMware14为例) 镜像:rhel-ser ...

  4. 【转存】WIN10自带虚拟机Hyper-v的使用与创建Linux虚拟机

    开启win10自带的Hyper-v 1.查看是否已经开启了Hyper-V,步骤:开始 > 管理工具 > Hyper-V管理器. 这个一般都不会开启,所以不显示,需要我们手动设置出来. 2. ...

  5. 全网最全谷粒商城记录_06、环境-使用vagrant快速创建linux虚拟机——1、VirtualBox下载安装

    目录 一.VirtualBox下载安装 1.VirtualBox下载 2.CPU 开启虚拟化 3.VirtualBox安装 [快速创建 linux 虚拟机,详细介绍] 我们先要安装一个 Linux 虚 ...

  6. 使用模板创建linux虚拟机网卡eth0无效解决方法

    问题描述: 在使用linux虚拟机模板部署完系统后使用ifconfig –a ,没发现eth0,发现eth1,在/etc/sysconfig/network/下有一个ifcfg-eth0的文件,但是没 ...

  7. 使用Vagrant快速创建linux虚拟机

    1 安装 linux虚拟机 下载&安装 VirtualBox https://www.virtualbox.org/ 下载windows版 安装VirtualBox前要开启 CPU 虚拟化,先 ...

  8. 利用VMWare创建linux虚拟机

    不论是为了搭建各种练习集群,还是搭建linux自己练手,现在window上弄个linux是非常简单的事情,依然记得大学那会儿给笔记本装双系统,一个linux,一个windows, 装完之后就是装B. ...

  9. qemu创建linux虚拟机(亲测有效,virt-manger方式)

    1,网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信.可以使虚拟机成为网络中具有独立IP的主机. 桥接网络(也叫物理设备共享)被用作把一 ...

最新文章

  1. 2019计蒜之道 B:个性化评测系统
  2. 跨链Cosmos(11) 消息结构
  3. 华为HCIA-Transmission H31-311练习题
  4. 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...
  5. eclipse2019-03设置代码编辑区背景为图片
  6. MySQL官方备份_Mysqlbackup 备份详解(mysql官方备份工具)
  7. 趁618买iPhone 11还是等iPhone 12?李楠有话要说
  8. Windows 系统下安装anaconda教程 ,小白教程!!!
  9. ip冲突 scan windows_如何检测IP有冲突 - 卡饭网
  10. 好的技术文章应该让读者更自信而不是更自卑
  11. 中小企业对Spring Cloud微服务架构实践经验总结的一些思考!
  12. 速达3000怎么找不到服务器,速达软件服务器无法启动怎么办?
  13. 2023长江大学计算机考研信息汇总
  14. android 热修复阿里,Android热修复(阿里热修复)
  15. 算法的时间复杂度表示
  16. tensorflow量化感知训练_TensorFlow 8 bit模型量化
  17. 计算机研究生论文怎怎么写,计算机硕士研究生论文大纲格式 计算机硕士研究生论文大纲怎样写...
  18. MacBook Pro连接移动硬盘未找到怎么办
  19. 差分数组分析详解+例题
  20. 微信提醒事项功能怎么设置

热门文章

  1. 刘道成mysql视频教程_燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载
  2. php 接口的定义与实现,PHP接口定义与用法示例
  3. 服务器更改文件夹权限,云服务器如何修改文件权限
  4. 杭电oj2035c语言答案,杭电oj 2035
  5. 如何判断车与路边线距离_6家快递公司共享分拣线配送车,效果如何?
  6. FPGA之道(50)复位的设计
  7. 【 Vivado 】Performing System-Level Design Entry(总览)
  8. 通信与信号处理杂文目录
  9. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
  10. Oracle加入Eclipse MicroProfile项目