ども、かっぱです。
tl;dr
上記の資料を参考に操作したメモ。
尚、操作する環境は以下の通り。
PS C:\Users\Administrator\Downloads> [System.Environment]::OSVersion Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 6.3.9600.0 Microsoft Windows NT 6.3.9600.0 PS C:\Users\Administrator\Downloads> $PSVersionTable Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.42000 BuildVersion 6.3.9600.17400 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0} PSRemotingProtocolVersion 2.2
仮想マシンを操作する
要件
クラウドサービスを作成する
run
New-AzureService -ServiceName "oreno-cloudservice" -Location "Japan West" -Label "oreno-cloudservice"
output
OperationDescription OperationId OperationStatus -------------------- ----------- --------------- New-AzureService xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded
Ubuntu Server 16.04 の OS イメージを取得する
run
$ImageName = @(Get-AzureVMImage ` | ? {$_.OS -eq "Linux" -and $_.ImageFamily -eq "Ubuntu Server 16.04 LTS"} ` | Sort-Object PublishedDate –Descending ` | Select-Object -First 1).ImageName
confirm
PS C:\Users\Administrator> $ImageName b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-16_04-LTS-amd64-server-20160815-en-us-30GB
以下のように実行すると OS イメージの各種情報が一覧で取得することが出来る。(参考:Windows Azure 仮想マシンの展開可能なイメージ一覧を取得する)
run
Get-AzureVMImage | Sort-Object OS,Label,PublishedDate | Format-Table OS,Label,PublishedDate,ImageName -AutoSize
New-AzureQuickVM を利用して仮想マシンを起動する
run
New-AzureQuickVM ` -Linux ` -ImageName $ImageName ` -LinuxUser "ubuntu" ` -Password "xxxxxxxxxxxxxxxxxxx" ` -ServiceName "oreno-cloudservice" ` -Name "vm01" ` -InstanceSize "ExtraSmall" ` -Location "Japan West" ` -Verbose New-AzureQuickVM ` -Linux ` -ImageName $ImageName ` -LinuxUser "ubuntu" ` -Password "xxxxxxxxxxxxxxxxxxx" ` -ServiceName "oreno-cloudservice" ` -Name "vm02" ` -InstanceSize "ExtraSmall" ` -Location "Japan West" ` -Verbose # # 気付いた点 # - ログインユーザー名に admin は利用出来ない # - パスワードには、小文字 / 大文字 / 数字 / 記号のうち 3 種類の文字を含める必要がある #
output
警告: No deployment found in service: 'oreno-cloudservice'. 詳細: 9:36:33 - Begin Operation: New-AzureQuickVM 詳細: 9:36:33 - Completed Operation: New-AzureQuickVM 詳細: 9:36:34 - Begin Operation: New-AzureQuickVM - Create Deployment with VM vm01 OperationDescription OperationId OperationStatus -------------------- ----------- --------------- New-AzureQuickVM xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded 詳細: 9:37:39 - Completed Operation: New-AzureQuickVM - Create Deployment with VM vm01
インスタンスサイズの指定
インスタンスサイズは以下のような指定を行う。(参考:Azure の仮想マシンのサイズ)
- Basic_A0: Basic_A0
- Basic_A1: Basic_A1...(A4 まで Basic_A4)
- Standard_A0: ExtraSmall
- Standard_A1: Small
- Standard_A2: Medium
- Standard_A3: Large
- Standard_A4: ExtraLarge
- Standard_A5: A5
- Standard_A6: A6...(A11 まで A11)
- D1: Standard_D1
- D2: Standard_D2...(D14 まで Standard_D14)
仮想マシンを確認する
confirm
PS C:\Users\Administrator> Get-AzureVM ServiceName Name Status ----------- ---- ------ oreno-cloudservice vm01 RoleStateUnknown oreno-cloudservice vm02 RoleStateUnknown
仮想マシンを停止する
confirm
PS C:\Users\Administrator\Downloads> Stop-AzureVM -ServiceName "oreno-cloudservice" -Name "vm03" 確認 The specified virtual machine is the last virtual machine in this deployment. Continuing will result in a new IP address for your deployment. To shut down without losing the deployment IP use -StayProvisioned. [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Stop-AzureVM xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded PS C:\Users\Administrator\Downloads> Stop-AzureVM -ServiceName "oreno-cloudservice" -Name "vm02" -Force OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Stop-AzureVM xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded
仮想マシンを削除する
confirm
PS C:\Users\Administrator\Downloads> Remove-AzureVM -ServiceName "oreno-cloudservice" -Name "vm01" OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Remove-AzureVM xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded PS C:\Users\Administrator\Downloads> Remove-AzureVM -ServiceName "oreno-cloudservice" -Name "vm02" OperationDescription OperationId OperationStatus -------------------- ----------- --------------- Remove-AzureVM xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded
memo
New-AzureQuickVM : CurrentStorageAccountName is not accessible. エラーの対処
エラー
New-AzureQuickVM
実行時に以下のようなエラーを確認。
- output
警告: No deployment found in service: 'oreno-cloudservice'. New-AzureQuickVM : CurrentStorageAccountName is not accessible. Ensure the current storage account is accessible and in the same location or affinity group as your cloud service. 発生場所 行:1 文字:1 + New-AzureQuickVM ` + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [New-AzureQuickVM]、ArgumentException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.PersistentVMs.NewQuickVM
サブスクリプションの CurrentStorageAccountName
が以下のように未定義な為に発生する。ストレージアカウントを作成して CurrentStorageAccountName
に StorageAccountName
を定義する必要がある。
- confirm
PS C:\Users\Administrator\Downloads> Get-AzureSubscription SubscriptionId : 123456789-1234-1234-1234-123456789012 SubscriptionName : XXXXXXXXXXXX Environment : AzureCloud DefaultAccount : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx IsDefault : True IsCurrent : True TenantId : CurrentStorageAccountName :
サブスクリプションを Import した直後は上記のように CurrentStorageAccountName
が空欄になっていた。
ストレージアカウントを作成
- run
New-AzureStorageAccount ` -StorageAccountName "xxxxxxxxxxxx" ` -Label "xxxxxxxxxxxx" ` -Location "Japan West" ` -Type "Standard_LRS"
ストレージアカウントタイプ(-type
)は以下の何れかを指定する。
-type で指定する値 | ストレージタイプ |
---|---|
Standard_LRS | 標準的なローカル冗長ストレージ |
Standard_ZRS | 標準ゾーン冗長ストレージ |
Standard_GRS | 標準的な地理冗長ストレージ |
Standard_RAGRS | 標準の読み取りアクセス地理冗長ストレージ |
- output
OperationDescription OperationId OperationStatus -------------------- ----------- --------------- New-AzureStorageAccount xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx Succeeded
- confirm
PS C:\Users\Administrator\Downloads> Get-AzureStorageAccount Context : Microsoft.WindowsAzure.Commands.Common.Storage.LazyAzureStorageContext StorageAccountDescription : AffinityGroup : Location : Japan West GeoPrimaryLocation : Japan West GeoSecondaryLocation : Label : xxxxxxxxxxxx StorageAccountStatus : Created StatusOfPrimary : Available StatusOfSecondary : Endpoints : {https://xxxxxxxxxxxx.blob.core.windows.net/, https://xxxxxxxxxxxx.queue.core.windows.net/, https://xxxxxxxxxxxx.table.core.windows.net/, https://xxxxxxxxxxxx.file.core.windows.net/} AccountType : Standard_LRS LastGeoFailoverTime : MigrationState : StorageAccountName : xxxxxxxxxxxx OperationDescription : Get-AzureStorageAccount OperationId : xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx OperationStatus : Succeeded
カレントサブスクリプションにストレージアカウントを設定
- run
Set-AzureSubscription ` -SubscriptionName "XXXXXXXXXXXX" ` -CurrentStorageAccountName (Get-AzureStorageAccount).StorageAccountName ` -PassThru
- output
Id : 123456789-1234-1234-1234-123456789012 Name : XXXXXXXXXXXX Environment : AzureCloud Account : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx State : Properties : {[Default, True], [StorageAccount, BlobEndpoint=https://xxxxxxxxxxxx.blob.core.windows.net/;QueueEndpoint =https://xxxxxxxxxxxx.queue.core.windows.net/;TableEndpoint=https://xxxxxxxxxxxx.table.core.windows.net/; FileEndpoint=https://xxxxxxxxxxxx.file.core.windows.net/;AccountName=xxxxxxxxxxxx;AccountKey=xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]}
- confirm
PS C:\Users\Administrator\Downloads> Get-AzureSubscription SubscriptionId : 123456789-1234-1234-1234-123456789012 SubscriptionName : XXXXXXXXXXXX Environment : AzureCloud DefaultAccount : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx IsDefault : True IsCurrent : True TenantId : CurrentStorageAccountName : xxxxxxxxxxxx
仮想マシンの階層とサイズ
基本階層
- A シリーズ - 負荷分散機能と自動スケール機能が無い - ディスクの IOPS は 300
標準階層
- 負荷分散機能が利用可能 - 高可用セットを設定することで、自動スケールを構成が可能 - A / D / G シリーズ - A シリーズ - IOPS は 500 - D シリーズ - A シリーズの 2 倍のメモリ構成 - 一時ディスクに SSD を使用 - G シリーズ - Xeon プロセッサ E5 v3 と D シリーズの 2 倍のメモリ - データディスクにプレミアムストレージを使用出来る(最大で 6.59TB x 64 まで)