![](https://www.kuretom.com/wp-content/uploads/2023/07/259bb9d004303ed8fe5a6b78b50ae941.png)
そんな時は、AWSのEC2インスタンスを使うと便利だよ。
今回は、StableDiffusion環境あらかじめ準備されたAMIのカスタムイメージ(※)を使うことで、環境差異によるエラーを回避するよ。
- AWSのEC2インスタンス(Windows)でStable Diffusion Web UIを起動させる方法をご紹介します。
Contents
AWSでGPUタイプのEC2を使うための前準備
AWSでGPUモデルのインスタンスを使うためには、サービスクウォータにより、GPUインスタンスの利用制限の上限を上げておく必要があります。
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
個人用のAWSアカウントの初期設定は、GPUインスタンスの上限が0になっているため、起動できません。
まずAWSコンソールの検索窓から、「Service Quotas」と入力し、Service Quotasのトップ画面に遷移します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/servicequotas_search-2.png)
Service Quotasの画面に遷移後、「ダッシュボード」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/servicequotas_dashboard-2.png)
ダッシュボード画面から、「Amazon Elastic Compute Cloud(Amazon EC2)」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/servicequotas_ec2_search-3.png)
「Running On-Demand G and VT instances」を選択します。
右上の「アカウントレベルでの引き上げをリクエスト」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/servicequotas_ginstance-3-1024x294.png)
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
「AWSのデフォルトのクォータ値」は0になっているため、G、VTタイプのEC2インスタンスを起動させることができません。
なお上記スクショは上限緩和後の画面のため、「適用されたクォータ値」にて、数値が0から16に変わっていることが確認できます。
「クォータ値を引き上げる」の項目で、変更したクォータの合計を入力します。
「リージョン」項目にて、EC2を起動する予定のリージョンになっていることも確認しておいてください。今回はアジアパシフィック(東京)ap-northeast-1を対象に上限緩和します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/servicequotas_allow_image-2.png)
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
なおこの値は、EC2のvCPU値に対応しているので、StableDiffusion用のEC2のvCPUを確認して、希望の値をリクエストしましょう。
ひとまずはクォータ値を8でリクエストしておけば十分だと思います。
![](https://www.kuretom.com/wp-content/uploads/2024/01/863370a4786b5a0e51ff99dca841055a.png)
無事に上限緩和されれば、以下のようなメールが届きます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/custamservice-1.png)
![](https://www.kuretom.com/wp-content/uploads/2023/07/259bb9d004303ed8fe5a6b78b50ae941.png)
これでGPUタイプのEC2を起動する前準備ができたよ。
![](https://www.kuretom.com/wp-content/uploads/2023/04/b6aec8b6998f5de9bdf868d07e751af7.png)
やっとEC2インスタンスの起動に進めるんだね。
StableDiffusion用のGPUタイプのEC2起動
AWSコンソール画面から「EC2」を検索し、EC2画面に遷移します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_search-2.png)
EC2画面の右上にある「インスタンスを起動」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_start_button-2.png)
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_region-1.png)
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
EC2を起動するリージョンが、上限緩和した時のリージョンと同じになっていることも確認しておきましょう。(今回は東京リージョン)
「インスタンスを起動」の画面から、「その他のAMIを閲覧する」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_ami-1.png)
AMIの検索画面に「StableDiffusion」と入力後、「AMI Marketplace AMI」を選択し、
「Stable Diffusion – Create Stunning Images on Your Windows GPU Server」の「選択」ボタンを押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_ami_select_1-1-1024x345.png)
右下の「続行」ボタンを押します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_ami_select_2-1-1024x440.png)
「EC2を起動」画面に戻るため、AMIが選択されていることを確認します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_instance_type_1-2.png)
インスタンスタイプを押下すると、このAMIにて選択可能なインスタンスタイプが表示されます。
なおデフォルトでは、g4dn.xlargeが選択されています。
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
普通のStableDiffusionによる画像生成だけであれば、最小スペックのg4dn.xlargeで良いと思います。
画像生成に加えて、LoRA学習をしたい場合は、g4dn.2xlargeを選択しておけば問題ないと思います。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2_instance_type_2-1.png)
- アウトバウンドのインターネット通信が可能な状態にしておきましょう。
(VPC、セキュリティグループ、インターネットゲートウェイの設定) - EC2起動時に、pemキーを有効化しておきましょう。
(RDPクライアントの接続におけるパスワード取得のため)
「インスタンスを起動」ボタンを押します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2-start-1.png)
無事にEC2が起動できれば、以下の画面が表示されます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2-start-confirm-2.png)
EC2(Windows)へのリモート接続
![](https://www.kuretom.com/wp-content/uploads/2023/04/b6aec8b6998f5de9bdf868d07e751af7.png)
次に起動したEC2インスタンス(Windows)に自身のパソコンからリモート接続するための設定を手順を紹介するよ。
起動したEC2を選択して、「接続」ボタンを押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2-connect-button-1-1024x76.png)
「RDPクライアント」を選択し、「Public DNS」をコピーしておきます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2-rdp.png)
自身のPCから、EC2(Windows)にリモート接続するためのアプリを準備します。
![](https://www.kuretom.com/wp-content/uploads/2023/08/928ca9cc4ff17bf01f31000733a7271a.png)
Macの場合、「Microsoft Remote Desktop」というアプリを使います。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop-1.png)
Microsoft Remote Desktopを起動させると、以下のような画面が出てきます。
+ボタンを押下し、「Add PC」を選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop_addpc2-1.png)
「PC name」の欄に、先ほどコピーしたPublic DNSを貼り付けて、「Add」を押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop_addpc3-1.png)
追加されたPCをダブルクリックします。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop_addpc1-3.png)
アカウント情報を入力する画面が出てくるので、「Username」にAdministrator、「Password」に下記の手順で取得したパスワードを貼り付けます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop_connect1-1.png)
RDPクライアント画面から、「パスワードを取得」を押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/ec2-rdp-1.png)
「プラーベートキーファイルのアップロード」を選択し、EC2起動時に設定したpemキーをアップロードし、「パスワードを復号化」を押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/remote_desktop1-1.png)
表示されるパスワードをコピーして、リモート接続の情報に貼り付けます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/remote_desktop2.png)
「Continue」ボタンを押下します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/0aa26e458a35bebbfeafb644b3b34000.png)
EC2(Windows)にリモート接続が成功すれば、以下のようにWindows画面が表示されます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/microsoft_remote_desktop_connected-1024x664.jpg)
![](https://www.kuretom.com/wp-content/uploads/2023/04/b6aec8b6998f5de9bdf868d07e751af7.png)
最後にこのWindows上でStableDiffusionを起動していくよ。
Windows上でStableDiffusiionの環境準備
まずリモート接続先のWindowsにて、Desktop画面を開き、「EC2 Microsoft Windows Guide」以外のファイルを全て削除します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/remotepc-desktop-1.png)
![](https://www.kuretom.com/wp-content/uploads/2024/01/remotepc-desktop_delete.png)
![](https://www.kuretom.com/wp-content/uploads/2023/04/a7a966e74eb49b3f5609b02a6c2e7d79.png)
StableDiffusionのフォルダがあるのに、全部消しちゃうの?
![](https://www.kuretom.com/wp-content/uploads/2023/05/151dece76256f3e88cf2d9c04758947e.png)
このAMIから起動したEC2インスタンスで用意されていたStableDiffusionの資材を使って起動しようとしてみたんだけど、起動することができなかったんだ。正しいやり方をすれば起動させることもできるはずなんだけど、僕にはその方法が分からなかったから、一度全部削除することにしたんだ。
今回は一度資材を削除してから、git cloneにより、再度StableDiffusionの資材を新規で再度ダウンロードして起動する方法で実行します。
ライブラリのインストール時間も含めて、1時間ほどで設定を完了させることができると思います。
![](https://www.kuretom.com/wp-content/uploads/2023/07/259bb9d004303ed8fe5a6b78b50ae941.png)
StableDiffusion用のAMIから起動したEC2は、予めNVIDIAの設定が完了しています。これは、Device ManagerのDisplay adaptersから確認することができます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/device_manager.png)
またPowershellから以下のコマンドを入力することで、StableDiffsuionに必要なPythonとNVIDIAの設定が予め完了していることを確認することができます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/environment.png)
StableDiffusionの資材をダウンロードするフォルダにて、Powershellを起動します。
(今回は、Documents配下に資材をダウンロードするため、以下のように、Documentsフォルダに移動した後に、入力欄にpowershellと入力し、エンターを押下します。)
![](https://www.kuretom.com/wp-content/uploads/2024/01/document_powershell-1-1024x762.jpg)
起動したPowershellにて、以下のgit cloneコマンドを入力し、エンターで実行します。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
![](https://www.kuretom.com/wp-content/uploads/2024/01/gitclone-1-1024x107.jpg)
git cloneが完了すれば、Powershellにdoneという文字が表示されます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/gitclone_done-1024x199.jpg)
またコマンドを実行したフォルダ配下(今回はDocuments配下)に、「stable-diffusion-webui」というフォルダが作成されていることを確認できます。
![](https://www.kuretom.com/wp-content/uploads/2024/01/document_stablediffusion.png)
引き続き、先ほど開いたPowershell画面にて、以下のコマンドを順番に実行します。
#stable-diffusion-webuiのディレクトリに移動するコマンド
cd .\stable-diffusion-webui\
#pythonの仮想環境を作成するコマンド
python -m venv venv
#作成したpythonの仮想環境をアクティベートするコマンド
.\venv\Scripts\activate
![](https://www.kuretom.com/wp-content/uploads/2024/01/cd-1024x85.png)
![](https://www.kuretom.com/wp-content/uploads/2024/01/venv-1024x54.png)
![](https://www.kuretom.com/wp-content/uploads/2024/01/venv_activate-1024x116.png)
上記のコマンド実行後に、緑色の文字で(venv)と表示されていれば成功です。
![](https://www.kuretom.com/wp-content/uploads/2024/01/venv_activated-1024x148.jpg)
次に、Pythonのパッケージ管理システムであるpipを使用して、PyTorchとTorchVisionという2つのライブラリをインストールします。
インストールには20分ほど時間がかかりますが、気長に待ちましょう。
#PyTorchとTorchVisionをインストールするコマンド
pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu118
![](https://www.kuretom.com/wp-content/uploads/2024/01/pytorch_install_start-1024x77.png)
ここまでで、StableDiffusionを起動するための環境準備は完了です。
StableDiffusionの起動
エクスプローラから先ほどのgit cloneで作成された「stable-diffusion-webui」ディレクトリを開きます。
その後「webui-user.bat」ファイルを右クリックして、Editを選択します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/webui-user.bat_edit-2.png)
webui-user.batを以下の内容で編集します。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--theme dark --precision full --opt-sdp-attention
call webui
powershellから、以下のコマンドを実行します。
.\webui-user.bat
![](https://www.kuretom.com/wp-content/uploads/2024/01/webui-user.bat_execute-1.png)
![](https://www.kuretom.com/wp-content/uploads/2023/07/259bb9d004303ed8fe5a6b78b50ae941.png)
コマンド実行後、20分ほどで、StableDiffusionが起動します。
![](https://www.kuretom.com/wp-content/uploads/2024/01/stablediffusion_start-1024x611.png)
![](https://www.kuretom.com/wp-content/uploads/2023/04/b6aec8b6998f5de9bdf868d07e751af7.png)
これでGPUパソコンを持っていない人でも、Stable Diffusion Web UIで画像生成ができるね。
![](https://www.kuretom.com/wp-content/uploads/2023/07/259bb9d004303ed8fe5a6b78b50ae941.png)
EC2インスタンスは起動している間、1時間毎に数百円かかるので、使用後は停止させることを忘れずにね。
最後までご覧いただきありがとうございました。
ではでは。
StableDiffusionWebUIを使いたいんだけど、GPUパソコンを持っていないから使えないよ。