AWS Windows ServerのルートボリュームのEBSの容量を縮小する方法

この記事を書いたチーム:tenko

ネットでEBSの容量を縮小する方法について検索すると、Linuxに関する記事はたくさんありますが、Windows Severに関する記事はあまりありませんでしたので、今回はWindows ServerのルートボリュームのEBSの容量を縮小する方法について紹介します。

Windows Server パーティションの縮小

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

今回は100GBEBS30GBに縮小する例を紹介します。まずは、Windows Serverのパーティションを縮小する必要があります。

スタートメニューの検索欄に「diskmgmt.msc」と入力し実行します。

縮小したいパーティションを右クリックし、「ボリュームを縮小」を選択します。縮小できるディスクを全部縮小すると新たにデータを書き込めなくなるので、ある程度余裕を持たせて縮小します。

縮小したら、下記画像のように未割当領域が出来ます。

縮小後のEBSボリュームの作成

その後、縮小後のEBSボリュームを作成します。

縮小後のEBSの容量は上記の割り当て済みのディスク容量より大きい必要があります。また、アベイラビリティーゾーンはWindows Serverと同じになるように設定する必要があります。

作業用Linuxの作成とEBSのアタッチ

EBSを作成できたら、EBSのデータを同期するための作業用LinuxEC2を作成します。今回作成した作業用LinuxEC2は「Amazon Linux2023」を利用しています。アベイラリティゾーンもWindows Serverと同じアベイラリティゾーンに設定する必要があります。作業用LinuxEC2を作成後、元のEBSと縮小後のEBSをアタッチします。元のEBSのデバイス名を/dev/sdfに、縮小後のEBSのデバイス名を/dev/sdgに設定します。

データ同期

EBSを作業用LinuxEC2にアタッチしたら、EC2ssh接続して、データ同期を行います。同期用のコマンドは下記を参照してください。

Windows Serverに縮小後のEBSボリュームをアタッチ

データ同期が完了したら、Windows Serverに縮小後のEBSボリュームをアタッチします。デバイス名をルートボリュームの /dev/sda1に設定します。アタッチ後、Windows Serverを起動して、接続できることを確認します。
*縮小前の元のEBSと作業用LinuxEC2は削除して大丈夫です。

Windows Serverに接続できたら、節「Windows Serverパーティションの縮小」と同じようにスタートメニューの検索欄に「diskmgmt.msc」と入力し実行します。

下記画像のように、総容量が縮小後のEBSになっています。また、一部の未割当領域があることが確認できます。

未割当領域を割り当てるため、割り当てたいパーティションを右クリックし、「ボリュームを拡張」を選択します。

設定は全部デフォルトで、「Next」を選択し、ボリュームを拡張します。

拡張したら、下記画像のように領域が全部割り当て済みになります。これで縮小後のEBSが完全に使用可能となります。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス