快速入門:使用 PowerShell 在 Azure 中創(chuàng)建 Linux 虛擬機(jī)

來源: Microsoft
作者:Microsoft
時(shí)間:2021-04-01
17063
Azure PowerShell模塊用于從PowerShell命令行或腳本創(chuàng)建和管理Azure資源。本快速入門展示了如何使用Azure PowerShell模塊在Azure中部署Linux虛擬機(jī)(VM)。本快速入門使用Canonical提供的Ubuntu 18.04 LTS市場映像。若要查看運(yùn)行中的VM,也可以通過SSH登錄到該VM并安裝NGINX Web服務(wù)器。

Azure PowerShell模塊用于從PowerShell命令行或腳本創(chuàng)建和管理Azure資源。本快速入門展示了如何使用Azure PowerShell模塊在Azure中部署Linux虛擬機(jī)(VM)。本快速入門使用Canonical提供的Ubuntu 18.04 LTS市場映像。若要查看運(yùn)行中的VM,也可以通過SSH登錄到該VM并安裝NGINX Web服務(wù)器。

如果沒有Azure訂閱,可在開始前創(chuàng)建一個(gè)試用帳戶。

啟動(dòng)Azure本地Shell

若要在本地安裝和使用PowerShell,請(qǐng)運(yùn)行Get-Module-ListAvailable Az.*以查找版本。如果在本地運(yùn)行PowerShell,則還需運(yùn)行Connect-AzAccount-Environment AzureChinaCloud來創(chuàng)建與Azure的連接。

創(chuàng)建SSH密鑰對(duì)

使用ssh-keygen創(chuàng)建SSH密鑰對(duì)。如果已有一個(gè)SSH密鑰對(duì),則可以跳過此步驟。

Azure PowerShell

ssh-keygen-m PEM-t rsa-b 4096

系統(tǒng)會(huì)提示為密鑰對(duì)提供文件名,也可以點(diǎn)擊Enter以使用/home/<username>/.ssh/id_rsa默認(rèn)位置。如果需要,還能夠?yàn)槊荑€創(chuàng)建密碼。

有關(guān)如何創(chuàng)建SSH密鑰對(duì)的更多詳細(xì)信息,請(qǐng)參閱如何將SSH密鑰與Windows配合使用。

創(chuàng)建資源組

使用New-AzResourceGroup創(chuàng)建Azure資源組。資源組是在其中部署和管理Azure資源的邏輯容器:

Azure PowerShell

New-AzResourceGroup-Name"myResourceGroup"-Location"ChinaEast2"

創(chuàng)建虛擬網(wǎng)絡(luò)資源

創(chuàng)建虛擬網(wǎng)絡(luò)、子網(wǎng)和公共IP地址。這些資源用來與VM建立網(wǎng)絡(luò)連接,以及將其連接到Internet:

Azure PowerShell

#Create a subnet configuration

$subnetConfig=New-AzVirtualNetworkSubnetConfig`

-Name"mySubnet"`

-AddressPrefix 192.168.1.0/24

#Create a virtual network

$vnet=New-AzVirtualNetwork`

-ResourceGroupName"myResourceGroup"`

-Location"ChinaEast2"`

-Name"myVNET"`

-AddressPrefix 192.168.0.0/16`

-Subnet$subnetConfig

#Create a public IP address and specify a DNS name

$pip=New-AzPublicIpAddress`

-ResourceGroupName"myResourceGroup"`

-Location"ChinaEast2"`

-AllocationMethod Static`

-IdleTimeoutInMinutes 4`

-Name"mypublicdns$(Get-Random)"

創(chuàng)建Azure網(wǎng)絡(luò)安全組和流量規(guī)則。網(wǎng)絡(luò)安全組使用入站和出站規(guī)則來保護(hù)VM。在下面的示例中,將為TCP端口22創(chuàng)建允許SSH連接的入站規(guī)則。為允許傳入的Web流量,還將為TCP端口80創(chuàng)建一個(gè)入站規(guī)則。

Azure PowerShell

#Create an inbound network security group rule for port 22

$nsgRuleSSH=New-AzNetworkSecurityRuleConfig`

-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-AzNetworkSecurityRuleConfig`

-Name"myNetworkSecurityGroupRuleWWW"`

-Protocol"Tcp"`

-Direction"Inbound"`

-Priority 1001`

-SourceAddressPrefix*`

-SourcePortRange*`

-DestinationAddressPrefix*`

-DestinationPortRange 80`

-Access"Allow"

#Create a network security group

$nsg=New-AzNetworkSecurityGroup`

-ResourceGroupName"myResourceGroup"`

-Location"ChinaEast2"`

-Name"myNetworkSecurityGroup"`

-SecurityRules$nsgRuleSSH,$nsgRuleWeb

使用New-AzNetworkInterface創(chuàng)建虛擬網(wǎng)絡(luò)接口卡(NIC)。虛擬NIC將VM連接到子網(wǎng)、網(wǎng)絡(luò)安全組和公共IP地址。

Azure PowerShell

#Create a virtual network card and associate with public IP address and NSG

$nic=New-AzNetworkInterface`

-Name"myNic"`

-ResourceGroupName"myResourceGroup"`

-Location"ChinaEast2"`

-SubnetId$vnet.Subnets[0].Id`

-PublicIpAddressId$pip.Id`

-NetworkSecurityGroupId$nsg.Id

創(chuàng)建虛擬機(jī)

若要在PowerShell中創(chuàng)建VM,請(qǐng)創(chuàng)建一個(gè)配置,其中包含要使用的映像、大小和身份驗(yàn)證選項(xiàng)等設(shè)置。然后,系統(tǒng)會(huì)使用此配置來生成VM。

定義SSH憑據(jù)、OS信息和VM大小。在此示例中,SSH密鑰存儲(chǔ)在~/.ssh/id_rsa.pub中。

Azure 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-AzVMConfig`

-VMName"myVM"`

-VMSize"Standard_D1_v2"|`

Set-AzVMOperatingSystem`

-Linux`

-ComputerName"myVM"`

-Credential$cred`

-DisablePasswordAuthentication|`

Set-AzVMSourceImage`

-PublisherName"Canonical"`

-Offer"UbuntuServer"`

-Skus"18.04-LTS"`

-Version"latest"|`

Add-AzVMNetworkInterface`

-Id$nic.Id

#Configure the SSH key

$sshPublicKey=cat~/.ssh/id_rsa.pub

Add-AzVMSshPublicKey`

-VM$vmconfig`

-KeyData$sshPublicKey`

-Path"/home/azureuser/.ssh/authorized_keys"

現(xiàn)在,組合前面的配置定義來使用New-AzVM創(chuàng)建虛擬機(jī):

Azure PowerShell

New-AzVM`

-ResourceGroupName"myResourceGroup"`

-Location chinaeast2-VM$vmConfig

部署VM需要數(shù)分鐘。部署完成后,請(qǐng)轉(zhuǎn)到下一部分。

連接到VM

使用公共IP地址創(chuàng)建與VM的SSH連接。若要查看VM的公共IP地址,請(qǐng)使用Get-AzPublicIpAddress cmdlet:

Azure PowerShell

Get-AzPublicIpAddress-ResourceGroupName"myResourceGroup"|Select"IpAddress"

使用用于創(chuàng)建SSH密鑰對(duì)的相同shell,將以下命令粘貼到shell中以創(chuàng)建SSH會(huì)話。將10.111.12.123替換為VM的IP地址。

Bash

ssh azureuser 10.111.12.123

出現(xiàn)提示時(shí),請(qǐng)輸入登錄用戶名azureuser。如果將通行短語與SSH密鑰配合使用,則需要在出現(xiàn)提示時(shí)將其輸入。

安裝NGINX

若要查看運(yùn)行中的VM,請(qǐng)安裝NGINX Web服務(wù)器。在SSH會(huì)話中更新包源,然后安裝最新的NGINX包。

Bash

sudo apt-get-y update

sudo apt-get-y install nginx

完成后,鍵入exit以離開SSH會(huì)話。

查看運(yùn)行中的Web服務(wù)器

使用所選的Web瀏覽器查看默認(rèn)的NGINX歡迎頁。輸入VM的公共IP地址作為Web地址??梢栽赩M概覽頁上或此前使用過的SSH連接字符串中找到公共IP地址。

nginix-welcome-page.png

清理資源

不再需要時(shí),可以使用Remove-AzResourceGroup cmdlet刪除資源組、VM和所有相關(guān)資源:

Azure PowerShell

復(fù)制

Remove-AzResourceGroup-Name"myResourceGroup"

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開了嶄新的一頁,突破了性能、云原生開發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家