2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ありがとうOCI】圧倒的コスパに大感謝!A10 GPUでStable Diffusion WebUIを立ち上げて爆速画像生成

2
Last updated at Posted at 2026-06-02

1. はじめに ~なぜ今、私たちはOCIを大絶賛すべきなのか?~

AI画像生成の世界に足を踏み入れようとするとき、誰もがぶつかる最大の壁があります。それはGPU付き高スペックPCの価格高騰、(GPUもだけどもはやメモリがおかしい)あるいはクラウドの莫大な従量課金です。

そんな2026年現在、注目を集めているのがOCIです。
最初に結論を言いましょう。

『4大クラウドで、ある程度のインフラ基礎知識を有する個人がAI環境を作る』
という前提なら、もはやOCI以外の選択肢はあり得ないレベルで優秀です。 争奪戦を勝ち抜いてGPUインスタンスさえ確保できれば、AWSやAzureを圧倒する破壊的なコスパと快適性が手に入ります。ありがとうOCI。

なぜそこまで言い切るのか、理由は他社の追従を許さない圧倒的なスペックとコストパフォーマンスにあります。

NVIDIA A10 Tensor コアGPU 24GB VRAMが1時間わずか約¥310

AI画像生成、特にStable Diffusionで高解像度化、Hires. fixや最新の巨大なチェックポイントを回すには、グラフィックボードのVRAM、ビデオメモリの容量が命です。一般的なコンシューマー向けPCでは、12GBや16GBでも数十万円の出費になります。

しかし、OCIが提供する VM.GPU.A10.1 インスタンスは、プロ仕様の NVIDIA A10 GPU、VRAM 24GBを搭載していながら、1時間あたりの利用料金がわずか約¥310、米ドル換算で約$2(為替による)という信じられない価格設定になっています。

スタバのコーヒー1杯分にも満たない金額で、世界最高峰のAI計算リソースを1時間貸し切れる仕様です。

他社クラウドとガチ比較して分かった、OCIの異常なコスパ

これほどの大スペック、他社で借りたら一体いくらになるのか。AWS、Azure、GCPで「NVIDIA A10(または同等スペックのL4 GPU)でVRAM 24GB」の環境を、すべて東京リージョン・オンデマンドで条件を揃えて比較してみました。

結論から言うと、単に1時間あたりの金額が安いだけでなく、付随するスペックと通信費の時点で、OCIは完全に価格破壊を起こしています。

【比較表】4大クラウド 24GB GPU環境 @ 東京リージョン

クラウド インスタンス名 GPU (VRAM) 付属CPU / メモリ 1時間あたりの料金 (東京) 1TBダウンロード時の通信費
OCI VM.GPU.A10.1 NVIDIA A10 (24GB) 15 vCPU / 120GB 約 2.00 ドル (約310円) 0 円 (10TBまで無料)
AWS g5.2xlarge NVIDIA A10G (24GB) 8 vCPU / 32GB 約 1.70 ドル (約260円) ※1 約 17,000 円 (従量課金)
Azure NV18ads-A10-v5 NVIDIA A10 (24GB) 18 vCPU / 220GB 約 3.14 ドル (約480円) 約 14,000 円 (従量課金)
GCP g2-standard-24 NVIDIA L4 (24GB) 24 vCPU / 96GB 約 2.56 ドル (約390円) 約 18,000 円 (従量課金)

※1 AWSの最安値プラン(g5.xlarge / $1.006)はCPU 4コア、メモリ16GBと非常に貧弱なため、Stable Diffusion WebUIの起動やモデルの読み込み時にメモリ不足でフリーズするリスクが高く、実用レベルに合わせたプランで比較しています。

インパクトをブチ上げる3つのポイント

1. 他社は東京リージョンにすると一気に高くなる

AWSやGCPなどは、米国リージョンなら安く見えても、私たちが普段使う東京リージョンに設定した瞬間、価格が1.3倍〜1.5倍に跳ね上がります。

しかしOCIは、全世界どこを選んでも一律ワンプライスという神仕様。東京にサーバーを建てても、約$2のまま据え置きです。

2. メモリとCPUのおまけが贅沢すぎる

他社クラウドで安さを追求しようとすると、CPUコア数やシステムメモリ(RAM)が限界までケチられます。Stable DiffusionはGPUだけでなく、モデルの展開時などにシステムメモリも大量に消費するため、メモリ16GB環境では簡単にクラッシュします。

OCIは1時間約¥310の中に、最初から15コアのCPUと120GBの広大なシステムメモリが含まれています。どれだけ巨大なモデルを読み込ませても、システム側がボトルネックになることが絶対にありません。

3. 通信費(アウトバウンド)の課金トラップという決定打

クラウドで最も盲点になりがちなのが、データをダウンロードする際にかかる通信費(エグレス料金)です。他社クラウドでは画像やモデルファイルを落とすほど従量課金が容赦なく膨らみますが(業界では有名なお話なので詳細は割愛)、OCIなら毎月10TBまで完全無料です。
個人利用の範疇なら「パケ死」の概念そのものが存在しない、財布に優しすぎる仕様です。

前置きが長くなってしまいましたが、本記事では、この最強のインフラであるOCIの上で、Stable Diffusion WebUI、AUTOMATIC1111版をゼロから立ち上げるまでに遭遇した数々の死闘と、それを打開した解決策を残します。同じことでお困りの方の力になれば嬉しいです。

2. 構築環境の概要

今回の構築における、システム環境のスペックは以下の通りです。

構成要素 スペック / バージョン
クラウドインフラ Oracle Cloud Infrastructure
インスタンス形状 VM.GPU.A10.1 (NVIDIA A10 GPU ×1, 24GB VRAM)
オペレーティングシステム Ubuntu 22.04 LTS
システムストレージ ブート・ボリュームを250GBに拡張
Pythonバージョン 3.10.12
WebUIバージョン v1.10.1

3. 遭遇した5つの壁と、それを突破した解決策

ネットの記事の通りに環境を作って webui.sh を叩くと、現代の環境では確実にフリーズするか、途方のないエラーを吐いて死にます。私が深夜に何時間も頭を抱えることになった5つの罠と、その具体的な回避コマンドを詳解します。

🚨 壁その① 本家リポジトリのサイレント消滅と終わらない404 Not Found

環境構築の最初のステップとして、自動インストールスクリプトである webui.sh を実行すると、内部で必要なコンポーネント、特にコアとなるStable Diffusionのソースコードを自動的に git clone しにいきます。しかし、ここで突如として画面に 404 Not Found が出没し、処理が停止しました。

◆原因◆
Stable Diffusionの開発元であるStability AI社の組織再編やリポジトリ整理に伴い、かつて標準だった Stability-AI/stablediffusion というGitHubのURLが削除、または stablediffusion-legacy へ改名されてサイレント消滅していたのが原因です。
自動スクリプトはこの変更に対応できず、存在しないURLへアクセスし続けて迷子になります。

◇解決策◇
・環境変数でフォーク版リポジトリへナビゲートする
この罠を回避するには、公式コミュニティが動作を保証し、メンテナンスを続けている代替のフォーク版(w-e-w版)をスクリプトに強制参照させます。具体的には、webui.sh を実行する前に、設定ファイルである webui-user.sh の末尾に以下の環境変数を書き込んでおきます。

cat << 'EOF' >> ~/stable-diffusion-webui/webui-user.sh
export STABLE_DIFFUSION_REPO="https://github.com/w-e-w/stablediffusion.git"
EOF

これを設定した上で ./webui.sh を再実行すれば、先ほどの404エラーを回避し、次のステップへ進むことができます。

🚨 壁その② Pythonアップデートショック!CLIPのビルドで即死する

すべての対策を終え、意気揚々と起動スクリプトを走らせた私を最後に阻んだのが、2026年現在のPython環境が一斉に抱え込んだ最新の環境トラップです。インストール途中で以下のエラーを吐いて完全に停止します。

ERROR: Failed to build 'https://github.com/openai/CLIP/archive/...zip' when getting requirements to build wheel

◆原因◆
Pythonのパッケージ管理ツール(setuptools)の仕様変更の影響です。OpenAIが配布しているCLIPの古いビルドコードが、最新の環境に弾かれてしまうのが原因です。普通にインストールし直そうとしても、pipのビルド隔離機能(Build Isolation)が暴走して壊れた最新ツールを拾い直すため、無限ループに陥ります。

◇解決策◇
・お節介な隔離機能を無効化し、仮想環境へ手動で強制インストールする
WebUIが自動生成した仮想環境のPythonを直接指定し、管理ツールのバージョンを互換性のあるものに固定した上で、隔離機能をスルーさせてCLIPをねじ込みます。

cd ~/stable-diffusion-webui

# 仮想環境のツール群を適切なバージョンに調整
./venv/bin/python -m pip install --upgrade pip
./venv/bin/python -m pip install "setuptools<81" wheel

# --no-build-isolation を付与してCLIPを強制インストール
./venv/bin/python -m pip install --no-build-isolation https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip

画面に Successfully installed clip と表示されればこちらの勝ちです。この状態で再度 ./webui.sh を実行すれば、何事もなかったかのようにインストールが再開されます。

🚨 壁その③ Git Cloneが突如Usernameを要求してフリーズする怪奇現象

拡張機能、Extensionsや追加の依存リポジトリを git clone しようとした際、本来パブリック、つまり公開リポジトリであるはずなのに、ターミナルが突如として以下のような入力を求めてフリーズする現象に遭遇しました。

Cloning into 'sd-webui-localization-ja_JP'...
Username for 'https://github.com':

◆原因◆
認証の問題ではなく、真の原因は通信環境が不安定なことによるGitの誤作動です。海外のGitHubサーバーとの間で微小なネットワーク瞬断が発生すると、Gitは「通信が遮断された=アクセス権限がないプライベートリポジトリなのではないか」という誤認をしてログイン情報を要求し、処理を止めてしまいます。

◇解決策◇
通信がダメなら、ローカル経由の物理で(SCP転送)
不安定な長距離通信に頼るのをやめ、手元のPCでZIPとしてダウンロードし、ターミナルソフトのSCP機能で直接送り込むのが最も確実な回避策です。

  1. 手元のローカルPCのブラウザで、対象のGitHubページを開く。
  2. Codeボタンから Download ZIP をクリックしてローカルに保存。
  3. TeraTerm などのターミナルソフトにその .zip ファイルをドラッグ&ドロップし、サーバーの extensions フォルダへ直接SCP転送。
  4. サーバー側で unzip コマンドを使って展開。
# サーバー側でZIPを展開して配置する例
cd ~/stable-diffusion-webui-docker/stable-diffusion-webui/extensions/
unzip master.zip
mv master-folder-name sd-webui-localization-ja_JP

暗号化トンネルでファイルを直接配置することで、不毛な認証ループを完全に不発に終わらせることができます。

🚨 壁その④ クラウドの門を開けてもOSが内側から鍵をかけている二重ファイアウォールの罠

自動スクリプトが最後まで走り、コンソールに Running on local URL: http://[OCIのパブリックIP]:7860 の文字が表示された瞬間、歓喜しながらブラウザに http://[OCIのパブリックIP]:7860 を打ち込みました。しかし、画面に返ってきたのは「接続を拒否されました」という無慈悲なメッセージ。

◆原因◆
OCIのUbuntuイメージには、非常に厳格なセキュリティ仕様があります。OCIコンソールのセキュリティ・リストで7860番ポートを開放したとしても、OS内部の番人である iptables が、デフォルトですべての外部ポート通信をREJECTしています。さらに、OCIの初期ルールは末尾にそれ以外のすべての通信を拒否するという強い命令が入っているため、通常通りにルールの末尾へ追加しても効果がありません。

◇解決策◇
iptablesのルールの先頭(1番目)に許可をねじ込みます。Ubuntu内部の防壁を突破するためには、既存の拒否ルールよりも前、つまりルールの1番目に7860番ポートの許可命令を挿入する必要があります。サーバーへログインした直後に、以下のコマンドを実行して門番を突破します。

# 門番のルールの先頭に 7860番のTCP許可を挿入
sudo iptables -I INPUT 1 -p tcp --dport 7860 -j ACCEPT

# 設定をOSに即座に、かつ永続的に保存する
sudo netfilter-persistent save

# 念のため、もう一つのファイアウォール(UFW)でも明示的に許可
sudo ufw allow 7860/tcp

このコマンドを叩いた瞬間、OS内部の頑固なロックが外れ、外の世界からWebUIにアクセスできるようになります。

【ちょっとしたこと】
ここでOCIの、というかセキュリティに対する考え方的なところを一つ共有させていただきます。自分の前職は事業会社の情シスだったのですが、ここの部長がセキュリティに関してものすごく厳格な思想をお持ちの方でした。
「なんでも必要以上に開けない、広げない。最初からシャツのボタンは全部閉じておき、必要になったら必要な箇所だけを開けること。」
このことをふと思い出し、このインスタンスに関しても世界中からアクセスできるようにせず、自分のグローバルIPだけを指定しました。

スクリーンショット 2026-05-31 074747.png
上記画像の※部分にはCMANなどで自分のグローバルIPアドレスを調べて入力。「/32」はこのアドレスのみ、という意味になります。
「わかっているんだけどめんどくさくて…」
と、思いますよね。すごくわかります笑
ですが普段からインパクトが小さいものでも実践しておくからこそ、習慣として自分の行動に落とし込めると思います。偉そうに言ってますが自分もまだまだなので戒めの意味も込めて共有させていただきました:bow_tone1:

🚨 壁その⑤ Generateボタンを押した瞬間に型の不一致エラー

ついにWebUIの画面が開き、プロンプトを入力して、右側のオレンジ色の「Generate」ボタンをクリックしました。しかし、プログレスバーが動く代わりに、画面右下のログに画像のエラーが出ました。
bd9db7c5-9818-4ff6-9f0c-27a7d30ec6d8.png

エラーログ
RuntimeError: Input type (float) and bias type (c10::Half) should be the same

◆原因◆
NVIDIA A10 GPU は、非常に高いAI演算性能を持つ反面、データの扱い(浮動小数点の計算精度)が極めて厳格です。WebUIは通常、VRAMの消費を抑えるために16bitで計算を行おうとします。しかし、一部のモデルや初期設定において、32bitのデータと16bitのデータが混在してしまい、A10 GPUの計算機が処理できずにパニックを起こしたのが原因です。

◇解決策◇
・起動引数にフル精度オプションを追加し、計算精度を完全統一する
このチグハグを解消するには、WebUIの起動オプションであるCOMMANDLINE_ARGSを調整し、すべての演算を強制的にフル精度(32bit Float)で行うように命令します。これも webui-user.sh に直接仕込んでおきます。

cat << 'EOF' >> ~/stable-diffusion-webui/webui-user.sh
# 外部接続許可(--listen)と、A10特有のエラーを防ぐフル精度オプション
export COMMANDLINE_ARGS="--xformers --listen --precision full --no-half --no-half-vae"
EOF

このオプションを付与すると、モデル内のすべてのデータがフル精度に統一されるため、同様のエラーが出なくなります。A10 GPUの広大な24GB VRAMがあれば、フル精度で計算してもメモリ不足になる心配は一切ありません。大容量VRAMを持つOCI環境だからこそできる、力技の解決策です。最高!

4. ついに、完全勝利の瞬間へ

試行錯誤しながら色々なプロンプトを試し、しっくりきたものを一枚。

IMG_8665.PNG
「あの時代のエモいひととき」
(歳がバレる)

A10 GPUのパワーによる画像生成は圧倒的に高速で、またカスタマイズ性が異常に高いことから時間がいくらあっても足りません。。。

5. 環境を安全に維持するための絶対の約束

ここまで読み進めていただいた皆様に、インフラを運用する上で、誠に重要な鉄の掟を最後にお伝えします。

使い終わったら必ずOCIコンソールから停止する

OCIのA10 GPUインスタンスは起動している間、1時間あたり約¥310の課金メーターが回り続けます。

今日は満足したから寝ようと、ブラウザのタブを閉じるだけ、あるいはTeraTermの画面を閉じるボタンで閉じるだけでは、サーバーは裏で動き続けています。

そのまま1ヶ月間放置してしまうと、¥310 × 24時間 × 30日 = 約¥223,200 という、恐ろしい請求書がOracle社から届くことになります。

やってはいけないこと
ブラウザを閉じるだけ、SSHターミナルで exit するだけ。(裏でサーバーは動き続けています)

正しい終了手順
必ずOCIの管理画面からインスタンス詳細を開き、「停止(Stop)」ボタンを押すこと。「停止済(Stopped)」になれば、GPU課金は止まります。データはブロック・ボリュームに残るため、次回起動時もすぐに続きから始められます。

6. さいごに

リポジトリの改名、通信パケットロスによるGitの認証要求、OS内部の頑固なファイアウォール、ScriptやGPUの計算精度エラー。

これらの難関は、一見すると不親切で突き放されているように感じるかもしれません。しかし、それらを1つずつ論理的に紐解き、こじ開けていった先に待っているのは、1時間¥310で24GB VRAMのNVIDIA A10を貸し切れる、通信量10TB無料の完全プライベート環境です。

企業のプラットフォームのような検閲や利用規約のガチガチな制限に怯えることなく、自分だけの秘密の実験室をこれほどの低コストで持たせてくれるOCIのインフラに、心からの感謝を。

ありがとう、Oracle!

最後までお読みいただき、ありがとうございました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?