メインコンテンツへスキップ
50% off 全プラン対象、期間限定。月額 $2.48/mo
残り16分
クラウドアーキテクチャとIT

Android エミュレーターに最適な VPS:仮想化の条件を満たすプロバイダーはどこか

F 著者 Flint 16 分で読めます
VPS 上での Android エミュレーターのホスティングとネストされた仮想化

CPU の仮想化機能が公開されていないサーバーで、ハードウェアアクセラレーションを使う Android Emulator を起動すると、「x86 emulation currently requires hardware acceleration!」などのエラーで停止することがあります。最新の BlueStacks も、その環境では起動しません。通常、決め手になるのは、プロバイダーがプロセッサーの仮想化機能を VPS に渡しているかどうかです。Android エミュレーターに最適な VPS を選ぶには、RAM や料金より先に、この設定を確認する必要があります。

設定の確認は 1 分ほどで済みます。その後に考えるのは、必要最低限の RAM、Windows と Linux の選択、そして 5 社の仮想化、Windows ライセンス、課金の扱いです。

手短に言うと

現行の BlueStacks とハードウェアアクセラレーションを使う Android エミュレーションでは、まず Intel VT-x または AMD-V が公開されているか確認します。Windows で BlueStacks を 1 インスタンス動かすなら、RAM 8 GB から始め、グラフィックスの互換性を試してください。Cloudzy は仮想化を標準で有効にし、BlueStacks のワンクリックイメージを提供すると案内しています。Windows は試用ライセンスか持ち込みライセンスを使います。AWS と Azure は一部インスタンスでネストをサポートし、Windows ライセンス込みの料金を用意していますが、BlueStacks の認証を意味するものではありません。Contabo は Max Performance VPS/VDS でネストをサポートしますが、BlueStacks は未検証です。Google Compute Engine がネストでサポートするのは Linux KVM であり、Hyper-V ではありません。BlueStacks 自体も、対応 OS に Windows Server を挙げていません。

多くの VPS プランで BlueStacks が動かない理由

ネストされた仮想化によりホストの CPU 機能を VPS と Android エミュレーターへ渡す仕組み

現行の BlueStacks には Intel VT-x または AMD-V が必要です。Google の Android Emulator も、ハードウェアアクセラレーションにこれらのプロセッサー機能を使います。VPS はそれ自体が仮想マシンなので、プロバイダーが機能を渡さなければ内部では使えません。この受け渡しをネストされた仮想化と呼び、無効にしているプロバイダーもあります。

これがない場合、BlueStacks のヘルプセンターは古い 32 ビット版のバージョン 5.14.22を案内し、次の警告を添えています。

「BlueStacks 5.14.22 ではパフォーマンスの問題が発生する可能性があります。」

同じヘルプセンターによると、BlueStacks に複数の CPU コアを割り当てるには仮想化が必要です。Linux では、Google のエミュレーターは KVM によって高速化されます。KVM は Linux カーネル内蔵のハイパーバイザー、つまり仮想マシンを動かすソフトウェア層であり、動作には VT-x または AMD-V が必要です。これらがなければ KVM アクセラレーションは使えません。

OpenVZ と LXC のプランは、ほかを確認するまでもなく BlueStacks の候補から外れます。ホストのカーネルを共有し、Windows を実行できないためです。エミュレーターが動くことも期待できません。

ネストされた仮想化を有効にしても、速度は多少低下します。Google のドキュメントによると、ネストされた VM は CPU 負荷の高い処理で性能が「10% 以上低下する可能性」があり、ディスクやネットワークの通信が中心の処理では、さらに低下する場合があります。

VPS で仮想化機能が公開されているか確認する方法

Linux VPS では、/proc/cpuinfo 内の vmx または svm フラグを数えると、サーバーに仮想化機能が届いているか分かります。時間課金のサーバーなら、1 か月分を払う前に、最初の 1 時間以内に確認してください。この確認で分かるのは、その VPS にハードウェアアクセラレーションの前提条件があるかどうかであり、エミュレーターの動作を保証するものではありません。

egrep -c '(vmx|svm)' /proc/cpuinfo

/proc/cpuinfo は、プロセッサーが公開する情報を Linux が列挙するファイルです。vmx は Intel、svm は AMD の仮想化フラグです。Google のエミュレーター アクセラレーション ガイドでは、「出力が 1 以上なら仮想化がサポートされている」と説明しています。

誤解されやすいのが 0 です。Google のページでは、0 は CPU がハードウェア仮想化に対応していないことを示すと説明しており、物理 PC ではそのとおりです。しかし VPS では、プロバイダーが仮想化機能を渡していないか、AWS、Azure、Google の場合はそのサーバーの設定がまだ無効であることを意味します。ハードウェアの古さを示すものではありません。

次に、KVM のデバイスを探します。

ls -l /dev/kvm

デバイスが存在することは有用な手掛かりですが、完全な動作確認にはなりません。エミュレーターを使うユーザーにはアクセス権も必要です。Android SDK をインストールしたら、実際に起動するユーザーとしてエミュレーターの -accel-check テストを実行します。Ubuntu では、cpu-checker パッケージの sudo kvm-ok でも追加確認できます。

Windows サーバーについて、BlueStacks 公式のヘルプ記事は、タスク マネージャーの「パフォーマンス」タブを開き、「仮想化」の行を見るよう案内しています。ただし PC 向けの記事なので、仮想サーバーではその行自体が表示されないこともあります。同じサイズの Linux VPS はプロバイダーの予備調査に役立ちますが、Windows インスタンスの確認にはなりません。実際の Windows VPS に対するプロバイダーの設定を調べ、その環境で BlueStacks とアプリを試してください。

以下の 5 社のうち 4 社は、時間単位かそれより細かい単位で課金します。私なら使う予定のサイズを作成して確認し、0 と出たらサーバーを削除します。AWS、Azure、Google では、削除前にそのサーバーの設定を有効にしたか確かめてください。

サーバー上の Android エミュレーターに必要な RAM

RAM 1 GB で済む用途ではありません。Windows サーバーで BlueStacks を 1 インスタンス使うなら、RAM 8 GB を見込んでください。BlueStacks のシステム要件は最低 4 GB、推奨 8 GB 以上です。さらに、デスクトップ付きの Windows Server の Microsoft による最低要件は、エミュレーターを起動する前の状態で 2 GB です。

8 GB は実用上の出発点であり、すべてのアプリに必須だと保証する数字ではありません。BlueStacks の最低 4 GB は PC 全体の値で、Windows の分とは別に 4 GB を割り当てるという意味ではありません。4 GB のサーバーは最低値を満たしますが余裕は少なく、1 GB と 2 GB のプランは最低値を下回ります。また、Cloudzy の BlueStacks ワンクリックイメージは、別途 8 GB 以上を要件としています。

BlueStacks は空きディスク容量 5 GB も必要とし、SSD を推奨しています。ドライブの種類だけでなく、空き容量も確認してください。

CPU について、BlueStacks の割り当てガイドは、グラフィックス負荷の低いアプリには 2 コアと 2 GB、負荷の高いアプリには 4 コアと 4 GB を案内しています。これはインスタンスごとの値です。4 vCPU のサーバーは出発点であって、高負荷アプリが快適に動く証拠ではありません。BlueStacks はホストの全 CPU コアをエミュレーターに割り当てないよう警告しているため、Windows やほかのプロセスの余力を残してください。

Windows と BlueStacks、または Linux とエミュレーター

サーバーで Android を動かす方法は 2 つあります。Windows VPS と BlueStacks なら、リモートデスクトップ経由で使い慣れたデスクトップを利用できますが、Windows ライセンスが必要で、BlueStacks のサポート範囲外です。Linux と Google の Android Emulator、あるいはコンテナー内の Android なら、そのライセンスは不要ですが、自分で行う設定が増えます。

Windows と BlueStacks

リモートデスクトップ クライアントで接続すると、BlueStacks が PC と同じようにサーバーの Windows デスクトップ上で動きます。接続を切ってもサーバーとエミュレーターは動き続けます。このデスクトップには 24 時間インターネットから到達できるため、稼働させたままにする前に、リモートデスクトップのログインを保護してください。

BlueStacks は対応システムにサーバーを挙げていません。要件ページが挙げるのはデスクトップ Windows の 「Microsoft Windows 7 以降」で、最新版には Windows 10 以降が必要です。Windows Server の記載はありません。RDP 経由の実行についてユーザーが質問した際、BlueStacks のサポートアカウントはさらに明確に回答しています。

「BlueStacks 自体が仮想マシンの一種であるため、仮想マシンの中で別の仮想マシンを実行することはあまり推奨されず、動作しなかったり、問題が発生したりする可能性があります。」

私はこれをサポートの境界と受け止めています。何か問題が起きたら、BlueStacks のトラブルは自力で解決することになります。

Linux と Android Emulator、Redroid、Android-x86

Google の Android Emulator は Linux で動作し、VM の高速化に KVM を使います。ただし Google のアクセラレーション ガイドは、VM アクセラレーションを使うエミュレーターを別の VM 内で動かさないよう警告しています。そのため、プロバイダーがネストされた仮想化に対応するだけでは、サポート対象の構成になるとは限りません。ヘッドレスで動かすか、自分で構築した xRDP デスクトップから使います。Android Studio 内でエミュレーターを動かす場合、Google はRAM 16 GB のホストを推奨しています。

Redroid は別の方法を採ります。ネストされた VM ではなく Docker または Podman コンテナー内で Android を動かすため、KVM は不要です。Android Binder のサポートと、構成に応じた ashmem または memfd による互換性のある共有メモリー機構が必要です。コンテナー型 VPS では、プロバイダーが必要なカーネル機能と権限を公開する必要があり、コンテナー内の root 権限だけでは不十分です。特権コンテナーとして動作し、adb と scrcpy で操作します。ドキュメントは adb ポートを公開ネットワークにさらさないよう警告しているため、そのポートはファイアウォールで保護してください。

Android-x86 は、PC に Android を入れる従来からの方法です。最新のリリースブランチは Android 9 で、プロジェクトのニュースの最新記事は 2022 年 4 月です。過去からの選択肢と考え、まずエミュレーターか Redroid を試してください。

5 社の仮想化、Windows、料金の扱い

この 5 社はいずれも、少なくとも 1 つのサービスでハードウェア仮想化を明記しており、それを掲載基準としています。利用できる範囲、その上で Windows を動かせるか、Windows ライセンスがいくらかに違いがあります。

有名な 2 社は意図的に外しています。Hostinger のヘルプセンターは VPS プランでネストされた仮想化をサポートしないと説明しています。DigitalOcean は Windows を一切提供せず、ネストされた仮想化も機能として明記していません。

プロバイダー仮想化機能を利用できる構成Windows + BlueStacks の方法Windows ライセンス料金または課金の基準
AWS(Amazon EC2)新しい Intel ベースのインスタンス(第 7・第 8 世代)で、インスタンスごとに有効化理論上は可能(Hyper-V 対応)。AWS、BlueStacks とも組み合わせの記載なしWindows 料金に含まれるオンデマンド料金はリージョンで異なります。サイズ例:c7i.xlarge(4 vCPU、8 GiB)。Windows 料金に Windows Server ライセンスを含み、EBS ストレージと該当するネットワーク料金は別です。EC2 オンデマンド料金を参照してください。
Cloudzy全プランで標準有効Windows Server 2016、2019、2022 向けの BlueStacks ワンクリックイメージを提供。アプリとグラフィックスの互換性は要テスト。試用ライセンスまたは持ち込み通常は月額 $52.95。現在は 50% 割引の月額 $26.48 と広告されています。Linux も広告上のコンピューティング料金は同じです。4 vCPU、RAM 8 GB、NVMe 240 GB を含み、永続 Windows ライセンスは別料金です。
Contabo専用コアの最上位層のみ。標準 VPS は対象外Windows は利用可能。Hyper-V は動作せず、BlueStacks は未検証サーバーサイズに応じた有料オプション。持ち込み不可注文前に Max Performance VPS/VDS の最新料金と Windows オプション料金を確認
Google Compute Engine大半の Intel マシンで有効化後に利用可能。コスト最適化、メモリー最適化、Arm、大半の AMD マシンは対象外不可:内部でサポートされるのは Linux KVM のみn/a比較対象外(Windows の方法なし)
Microsoft Azureコンピューティング最適化と現行の汎用 Intel サイズ。バースト可能サイズは対象外。セキュリティの種類は Standard に設定理論上は可能(Hyper-V 対応)。Microsoft、BlueStacks とも組み合わせの記載なしWindows 料金に含まれる従量課金の料金はリージョンで異なります。サイズ例:Standard_F4s_v2(4 vCPU、8 GiB)。標準の Windows 料金に Windows Server ライセンスを含み、マネージド ディスクと該当するネットワーク料金は別です。Azure Windows VM の料金を参照してください。

AWS と Azure は月額料金の数値による順位付けには含めていません。

AWS(Amazon EC2)

AWS は2026 年 2 月 16 日の発表で、ベアメタルではない通常の EC2 インスタンスにもネストされた仮想化を開放しました。インスタンスごとに有効化し、既存インスタンスは先に停止する必要があります。

AWS は内部でサポートするものとして KVM と Hyper-V(Microsoft のハイパーバイザー)を挙げ、用途に「Android Studio エミュレーター」を含めています。この機能の追加料金はありません。Windows では、有効にすると Credential Guard が自動的に無効になり、休止状態も使えなくなります。性能が重要な用途について、AWS 自身は物理サーバー全体を借りるベアメタルインスタンスを案内しています。

現行の BlueStacks は Hyper-V を有効にしたまま動くため、理論上の条件はそろいます。ただし、確認できるのはそこまでです。AWS も BlueStacks も、この組み合わせを文書化していません。すでに AWS で業務を動かしている場合や、会社の請求書にライセンスを含めたい場合は AWS を選べます。エミュレーター 1 つなら、AWS 連携や同じ請求書での Windows ライセンスが必要でない限り、まず単純な VPS 構成と比べます。

Cloudzy

Cloudzy は Windows を含む全プランでハードウェア仮想化を標準で有効にしており、サポートへの依頼、追加の有効化、プラン変更は不要です。Windows Server 2016、2019、2022 が用意され、これらのイメージ向けに RAM 8 GB 以上を要する BlueStacks ワンクリックアプリがあります。

注意点はライセンスです。Cloudzy の Windows VPS は試用ライセンスまたは持ち込みライセンスを使用するため、表の料金に加えて永続 Windows ライセンスの予算が必要です。Cloudzy のサポートは VPS 自体を担当し、BlueStacks の設定は利用者が行います。

完成済みの BlueStacks イメージを重視するなら Cloudzy を選び、永続 Windows ライセンスは別に予算を組んでください。

Contabo

Contabo は階層によって異なります。ヘルプセンターは「Contabo Virtual Private Servers ではネストされた仮想化を設定できない」と説明しており、標準 VPS は対象外です。専用コアの最上位層はネストされた仮想化をサポートし、Proxmox VE、KVM、XenServer を挙げています。注文前に、現在の対象サイズを確認してください。Windows は Contabo が提供する追加ライセンスを購入する形で、持ち込みは認められていません。

Contabo のドキュメントは、この階層の Windows Server では Hyper-V が動作しないとも説明しています。一方、ナレッジベースでは VMware Workstation Player は「テストされ、動作が確認されている」としています。私の解釈では、BlueStacks の Hyper-V 版は候補から外れます。標準版についても Contabo、BlueStacks ともこの構成での記載がないため、依存する前にテストしてください。

BlueStacks を自分で試し、Windows オプションを予算に含められるなら、専用コア構成を理由に Contabo を選べます。

Google Compute Engine

Google は表の例外を除き、大半の Intel マシンで VM ごとにネストされた仮想化を有効にできます。ただしハイパーバイザーの対応一覧から、BlueStacks の用途は除外されます。ドキュメントでは VM 内でサポートされるのは Linux KVM のみで、Hyper-V は非対応です。Windows と BlueStacks は Google のサポート範囲外です。

Google は vCPU 単位、メモリー 1 GB 単位で、最低 1 分、その後は秒単位で課金します。

Google を選ぶのは、アプリのテストなど Linux エミュレーターを使う場合に限り、主に既存の業務が Google Cloud にある場合です。

Microsoft Azure

Azure はサイズごとにネストされた仮想化への対応を表示します。Azure のコンピューティング最適化 Intel サイズのページと現行の汎用 Intel サイズでは対応、バースト可能サイズでは非対応です。注意したいのは既定のセキュリティの種類 Trusted Launch で、ネストされた仮想化に対応しません。そのため、VM 作成時に Standard を選択してください。

BlueStacks は AWS と同様、理論上の可能性にとどまります。内部では Hyper-V に対応しますが、Microsoft も BlueStacks も組み合わせを文書化していません。Microsoft Q&A のあるユーザーは、古い汎用サイズでAndroid Studio エミュレーターの起動に「何時間もかかる」と報告しています。ただし、これは 1 件の報告であってベンチマークではありません。

すでに Azure で業務を動かしているなら Azure を選び、購入前にサイズのページを確認してください。

どのプロバイダーを選ぶか

仮想化、メモリー、ライセンス、グラフィックス対応による Android エミュレーター用 VPS の選び方

Windows 上の BlueStacks に完成済みイメージを使いたいなら、適切な Windows ライセンスを用意できることを条件に、私は Cloudzy を選びます。会社がすでに AWS や Azure を使っている場合、あるいは Windows ライセンスをサーバー料金に含めたい場合は、Windows 込みの料金を提供するそちらが候補になります。コンピューティング料金だけでなく、請求総額を Cloudzy と適切な Windows Server ライセンスの合計に対して比較してください。

複数インスタンスを動かす余裕が必要で、BlueStacks を自分でテストするなら、Contabo の最上位層が候補になります。次の 2 つのケースでは Windows サーバー自体が不要です。

  • 自分のアプリを Linux エミュレーターでテストする場合、Cloudzy、AWS、Azure、Google は必要な CPU 仮想化機能を公開する構成を提供しています。ただしエミュレーターとグラフィックスの互換性はテストが必要です。違いは、仮想化が最初から有効か、サーバーごとに有効化する設定かです。
  • 1 つのアプリを起動したままにしたいだけなら、私はまず安い物理 Android 端末の価格を調べます。ここに挙げたどのサーバーでも数か月分の料金より安く済む可能性があり、独自のグラフィックスハードウェアも備えています。

どの端末からでもアクセスできる Windows デスクトップ上で BlueStacks を使うことが目的なら、仮想化機能を渡し、Windows を動かし、RAM 8 GB 以上を備えるサーバーに絞ります。Cloudzy の BlueStacks ワンクリックアプリは Windows Server と一緒に BlueStacks を展開するため、初回接続時からデスクトップに用意されています。14 日間の返金保証で、GPU なしでも自分のアプリが動くか確かめる時間を確保できます。BlueStacks 自体がサーバーをサポートしないため、ここでは特に意味があります。接続元に最も近い場所を選び、Cloudzy に BlueStacks をワンクリックで展開してください。

よくある質問

1 台の VPS で BlueStacks を複数起動できますか?RAM はどれだけ必要ですか?

はい。BlueStacks のマルチインスタンスマネージャーは、インスタンスごとに CPU コアとメモリーを設定できるため、別々のアプリや、異なる Android バージョン上の同じアプリを並行して動かせます。各インスタンスへの割り当てメモリーに、Windows、BlueStacks のホストプロセス、ほかのソフトウェアが実際に使うメモリーを加えてください。3 インスタンスに各 2 GB を割り当てると、それだけで 6 GB を確保するため、8 GB サーバーでは余裕がないかもしれません。残りの 2 GB で十分と考えず、総使用量を測定してください。BlueStacks は 8 GB 以下の場合や、多数のインスタンスを同時に使う場合に低メモリモードを推奨しています。

VPS 内で自分で仮想化を有効にできますか?

サーバー内部からはできません。プロバイダーがホスト側で追加します。たとえばGoogle のネストされた仮想化のドキュメントは、Compute Engine が VM に VT-x または AMD-V 命令を追加すると説明しています。AWS、Azure、Google では、そのサーバーに対するプロバイダー側の設定で有効にします。VPS が公開していなければ、プロバイダーに問い合わせるか移行してください。

BlueStacks では Hyper-V を無効にする必要がありますか?

いいえ。バージョン 5.20 以降は不要です。BlueStacks の Hyper-V 要件ページは、Microsoft 内蔵のハイパーバイザー Hyper-V が有効でも無効でも BlueStacks 5 を使えると説明しています。有効にする場合、Windows アカウントは Hyper-V Administrators グループに属している必要があり、インストーラーが対応版を自動選択します。Hyper-V を無効にするという助言は、この変更より前のものです。

GPU のない VPS で BlueStacks は動きますか?

保証はありません。GPU パススルーのない VPS でも、BlueStacks のバージョンと Android インスタンスに互換性のあるグラフィックス環境が必要です。ネストされた仮想化はその互換性を保証しません。また BlueStacks は、任意の Windows VPS 構成上の Android アプリに使える汎用的な CPU レンダリングへのフォールバックを文書化していません。特に 3D 用途では、利用を決める前に、実際のサーバーイメージで BlueStacks と使用予定のアプリをテストしてください。

Mac やスマートフォンから VPS 上の BlueStacks を使えますか?

はい。Mac、iPhone、Android スマートフォンを含め、リモートデスクトップ(RDP)クライアントのある端末なら、サーバーの Windows デスクトップに接続できます。切断後も BlueStacks は動き続けます。スマートフォンでAndroid から Windows VPS に接続するには、RDP アプリとサーバーのアドレス、ログイン情報が必要です。

共有

ディスカッション

コメント

ログインしてディスカッションに参加してください。

ブログの他の記事

読み進める。

デプロイの準備はできましたか? 月額2.48ドルから。

2008年から独立運営のクラウド。AMD EPYC、NVMe、40 Gbps。14日間返金保証。