2016-12-29 22 views
5

EBSボリュームLinuxの追加について多くの質問がありましたが、Windowsはありません。ディスクの空き容量が少なくなっている(CloudWatchなど)可能性があり、別のEBSボリュームを追加したいことが判明したとします。 Powershellでこれを行うことはできますか?Powershellを使用してWindows EC2にEBSボリュームを添付してください。

私は、結果を解析するのが難しいため、diskpart.exeを使用しないことをお勧めします(ネイティブPowershellコマンドではありません)。

+0

正確なコマンドレットに精通していないが、amazonが実際にディスクをフォーマットする必要があるだけでなく、PowerShellを使用してボリュームを追加/作成する機能を提供していることはわかっている。[Win32_Volume](https: //msdn.microsoft.com/en-us/library/aa390432(v=vs.85).aspx)WMIクラス –

+0

ありがとう@MikeGaruccio。私は何かを考え出して答えを投稿しましたが、私はあなたのリンクをチェックアウトします。 –

+0

最新のコマンドレットを使用しているように見えますが、マシンがサポートしている場合は間違いなく、WMIは2012年より古いシステムの場合に便利です。 –

答えて

7

これを参考に、誰かを助けてください。 AWSのものは簡単でしたが、Windowsが使用するすべてのものを追跡するためにしばらく時間がかかりました。

この答えは簡潔にするためにストリップダウン、そのことを確認している。

  1. あなたはEC2にそれらを添付しようとする前に、あなたのボリュームが「利用可能」であり、AWSのPowershell API例外
  2. を扱ってきました
  3. 「使用中」
  4. ボリュームショーあなたがそれを添付したら

2と3はGet-EC2Volume APIを介して行うことができます。

EBSボリュームを作成します。

$volume = New-EC2Volume -Size $sizeInGB -AvailabilityZone $az -VolumeType $vType 

はEC2にボリュームをアタッチ:

Add-EC2Volume -InstanceId $toInstanceId -VolumeId $volume.Id -Device $devId -Region $region 

のWindows側:

あなただけ

$diskNumber = (Get-Disk | ? { 
    ($_.OperationalStatus -eq "Offline") -and ($_."PartitionStyle" -eq "RAW") }).Number 
を取り付けたEBSボリュームを探します

開始"アクティブ"

$part = New-Partition -DiskNumber $diskNumber -UseMaximumSize -IsActive -AssignDriveLetter 

形式新しいドライブ

Format-Volume -DriveLetter $part.DriveLetter -Confirm:$FALSE 

お楽しみ行い、ドライブ文字を割り当て、ディスク

Initialize-Disk -Number $diskNumber -PartitionStyle "MBR" 

最大空間パーティションを作成しアリゼ!

+0

素晴らしい!この答えを使用して、user_dataスクリプト内で使用する次のスクリプトを作成しました。https://gist.github.com/anderssonjohan/fa88e6ddf883fd161698caac68912394これはterraformで使用されていますが、通常のuser_data initスクリプトであるため、terraformなしで使用できます。よく –

関連する問題