クイック スタート:PowerShell を使用して Azure に Linux 仮想マシンを作成するQuickstart: Create a Linux virtual machine in Azure with PowerShell

Azure PowerShell モジュールは、PowerShell コマンド ラインやスクリプトで Azure リソースを作成および管理するために使用します。The Azure PowerShell module is used to create and manage Azure resources from the PowerShell command line or in scripts. このクイック スタートでは、Azure PowerShell モジュールを使って、Linux 仮想マシン (VM) を Azure に展開する方法を示します。This quickstart shows you how to use the Azure PowerShell module to deploy a Linux virtual machine (VM) in Azure. このクイック スタートでは、Canonical の Ubuntu 16.04 LTS マーケットプレース イメージを使用します。This quickstart uses the Ubuntu 16.04 LTS marketplace image from Canonical. また、VM の動作を確認するために、VM に SSH 接続し、NGINX Web サーバーをインストールします。To see your VM in action, you'll also SSH to the VM and install the NGINX web server.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account.

Cloud Shell を開くには、コード ブロックの右上隅にある [使ってみる] を選択します。To open the Cloud Shell, just select Try it from the upper right corner of a code block. [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

SSH キー ペアの作成Create SSH key pair

このクイック スタートを完了するには、SSH キー ペアが必要です。You need an SSH key pair to complete this quickstart. 既存の SSH キーの組がある場合は、この手順をスキップできます。If you already have an SSH key pair, you can skip this step.

Bash シェルを開き、ssh-keygen を使用して SSH キー ペアを作成します。Open a bash shell and use ssh-keygen to create an SSH key pair. Bash シェルがローカル コンピューターにない場合は、Azure Cloud Shell を使用してください。If you don't have a bash shell on your local computer, you can use the Azure Cloud Shell.

ssh-keygen -t rsa -b 2048

PuTTy の使用を含む SSH キー ペアの作成方法の詳細については、Windows で SSH キーを使用する方法に関するページを参照してください。For more detailed information on how to create SSH key pairs, including the use of PuTTy, see How to use SSH keys with Windows.

Cloud Shell を使用して SSH キーの組を作成した場合、Cloud Shell によって自動的に作成されるストレージ アカウント内のコンテナー イメージにキーの組が格納されます。If you create your SSH key pair using the Cloud Shell, it will be stored in a container image in a storage account that is automatically created by Cloud Shell. キーを取得するまでは、ストレージ アカウント (またはその中のファイル共有) を削除しないでください。削除すると、VM にアクセスできなくなります。Don't delete the storage account, or the files share within it, until after you have retrieved your keys or you will lose access to the VM.

リソース グループの作成Create a resource group

New-AzResourceGroup を使用して Azure リソース グループを作成します。Create an Azure resource group with New-AzResourceGroup. リソース グループとは、Azure リソースの展開と管理に使用する論理コンテナーです。A resource group is a logical container into which Azure resources are deployed and managed:

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

仮想ネットワークのリソースを作成するCreate virtual network resources

仮想ネットワーク、サブネット、パブリック IP アドレスを作成します。Create a virtual network, subnet, and a public IP address. これらのリソースは、VM へのネットワーク接続を提供し、VM をインターネットに接続するために使われます。These resources are used to provide network connectivity to the VM and connect it to the internet:

# 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 "EastUS" `
  -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 "EastUS" `
  -AllocationMethod Static `
  -IdleTimeoutInMinutes 4 `
  -Name "mypublicdns$(Get-Random)"

Azure ネットワーク セキュリティ グループとトラフィック規則を作成します。Create an Azure Network Security Group and traffic rule. ネットワーク セキュリティ グループは、受信規則と送信規則を使用して VM をセキュリティで保護します。The Network Security Group secures the VM with inbound and outbound rules. 次の例では、TCP ポート 22 に対して SSH 接続を許可する受信規則を作成します。In the following example, an inbound rule is created for TCP port 22 that allows SSH connections. 受信 Web トラフィックを許可するため、TCP ポート 80 の受信規則も作成します。To allow incoming web traffic, an inbound rule for TCP port 80 is also created.

# 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 "EastUS" `
  -Name "myNetworkSecurityGroup" `
  -SecurityRules $nsgRuleSSH,$nsgRuleWeb

New-AzNetworkInterface を使用して、仮想ネットワーク インターフェイス カード (NIC) を作成します。Create a virtual network interface card (NIC) with New-AzNetworkInterface. 仮想 NIC は、VM をサブネット、ネットワーク セキュリティ グループ、パブリック IP アドレスに接続します。The virtual NIC connects the VM to a subnet, Network Security Group, and public IP address.

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

仮想マシンの作成Create a virtual machine

PowerShell で VM を作成するには、使用するイメージ、サイズ、認証オプションなど、各種設定を含んだ構成を作成します。To create a VM in PowerShell, you create a configuration that has settings like the image to use, size, and authentication options. この構成を使用して VM を作成することになります。Then the configuration is used to build the VM.

SSH の資格情報、OS の情報、VM のサイズを定義します。Define the SSH credentials, OS information, and VM size. この例では、SSH キーを ~/.ssh/id_rsa.pub に格納しています。In this example, the SSH key is stored in ~/.ssh/id_rsa.pub.

# 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" | `
Set-AzVMOperatingSystem `
  -Linux `
  -ComputerName "myVM" `
  -Credential $cred `
  -DisablePasswordAuthentication | `
Set-AzVMSourceImage `
  -PublisherName "Canonical" `
  -Offer "UbuntuServer" `
  -Skus "16.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"

これまでに定義した構成を組み合わせて、New-AzVM を使用して仮想マシンを作成します。Now, combine the previous configuration definitions to create with New-AzVM:

New-AzVM `
  -ResourceGroupName "myResourceGroup" `
  -Location eastus -VM $vmConfig

VM がデプロイされるまでに数分かかります。It will take a few minutes for your VM to be deployed. デプロイが完了したら、次のセクションに移動してください。When the deployment is finished, move on to the next section.

VM に接続しますConnect to the VM

パブリック IP アドレスを使用して VM との SSH 接続を作成します。Create an SSH connection with the VM using the public IP address. VM のパブリック IP アドレスを確認するには、Get-AzPublicIpAddress コマンドレットを使用します。To see the public IP address of the VM, use the Get-AzPublicIpAddress cmdlet:

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

SSH キーの組を作成したときと同じ Bash シェル (Azure Cloud Shell またはローカルの Bash シェルなど) を使用して、SSH 接続コマンドをシェルに貼り付け、SSH セッションを作成します。Using the same bash shell you used to create your SSH key pair (like the Azure Cloud Shell or your local bash shell) paste the SSH connection command into the shell to create an SSH session.

ssh azureuser@10.111.12.123

メッセージが表示されたら、ログイン ユーザー名には azureuser を指定します。When prompted, the login user name is azureuser. SSH キーでパスフレーズが使われている場合は、求められたら入力する必要があります。If a passphrase is used with your SSH keys, you need to enter that when prompted.

NGINX のインストールInstall NGINX

VM の動作を確認するために、NGINX Web サーバーをインストールします。To see your VM in action, install the NGINX web server. SSH セッションからパッケージ ソースを更新し、最新の NGINX パッケージをインストールします。From your SSH session, update your package sources and then install the latest NGINX package.

sudo apt-get -y update
sudo apt-get -y install nginx

完了したら、exit と入力して SSH セッションを終了します。When done, type exit to leave the SSH session.

動作中の Web サーバーを表示するView the web server in action

任意の Web ブラウザーを使用して、NGINX の既定のウェルカム ページを表示します。Use a web browser of your choice to view the default NGINX welcome page. Web アドレスとして、VM のパブリック IP アドレスを入力します。Enter the public IP address of the VM as the web address. パブリック IP アドレスは、VM の概要ページで確認できるほか、先ほど使用した SSH 接続文字列にも含まれています。The public IP address can be found on the VM overview page or as part of the SSH connection string you used earlier.

NGINX の既定のウェルカム ページ

リソースのクリーンアップClean up resources

必要がなくなったら、Remove-AzResourceGroup コマンドレットを使用して、リソース グループ、VM、およびすべての関連リソースを削除できます。When no longer needed, you can use the Remove-AzResourceGroup cmdlet to remove the resource group, VM, and all related resources:

Remove-AzResourceGroup -Name "myResourceGroup"

次の手順Next steps

このクイック スタートでは、単純な仮想マシンをデプロイし、ネットワーク セキュリティ グループと規則を作成し、基本的な Web サーバーをインストールしました。In this quickstart, you deployed a simple virtual machine, created a Network Security Group and rule, and installed a basic web server. Azure 仮想マシンの詳細については、Linux VM のチュートリアルを参照してください。To learn more about Azure virtual machines, continue to the tutorial for Linux VMs.