
この記事を読んでいるあなたは「Pythonで作ったプログラムを24時間稼働させたい」と思っているのではないでしょうか。
しかし、Pythonを稼働させるためのサーバーにはいくつか種類があり、よくわからなくなると思います。
そこで、5年以上サーバー関連サイトの運営に携わり、日常的にPythonのプログラムを作ることもある筆者が、Pythonのプログラムを動かすのに最適なサーバーを解説していきます。
サーバー選びを間違えると「高いサーバー代を払ったのに全く動かない!」といったこともあり得るため、この記事を読んで十分注意して契約してください!
Python用サーバーにはVPSが最適
では、Pythonを動かすためのサーバーとしてどんな種類のサーバーが良いのでしょうか。
サーバーにはいくつかの種類があるのですが、結論からいうと「VPS」と呼ばれるサーバーが最適です。
ここで「VPSって何?」「横文字難しそう」と感じた方もいるでしょう。
しかし、心配はいりません。
ここでは、とりあえずVPSという種類のサーバーがあり、「Pythonを動かすサーバーならVPS」と覚えてもらえばOKです。
では、VPSと他の種類のサーバーについてもう少し解説していきます。
VPSとは一言で言うと仮想化されたサーバーです。
サーバーには共用サーバー、VPS、専用サーバーの3つがあります。
それぞれを家で例えると以下のようなイメージです。
- 共用サーバー:シェアハウス
- VPS:マンション
- 専用サーバー:一軒家
ではそれぞれの違いを見ていきましょう。
共用サーバーとは
共用サーバーは1つのサーバーの中に複数のユーザーがごちゃまぜに入っています。
そのため、一部のユーザーが重い処理を行うと全体に影響が出ます。
そこで、無茶な使い方をされないように、他の2つのサーバーと比べると厳しめのルールが決められています。
(後述しますが、この厳しめのルールがPythonのプログラムを動かす上で致命的な問題になります。)
このように、共用サーバーは家で例えると1つの家を複数人で使う分安いけれど、マンションなどと比べると少々居心地が悪いシェアハウスのイメージです。
VPSとは
VPSは1つのサーバーを複数人で使う点は共用サーバーと同じですが、1人1人に区分け(仮想化)がされています。
そのため、同じサーバー内に重い処理を行う人がいても影響を受けません。
逆に自分が高負荷な処理を行っても他人に迷惑をかけません。
(なお、あまりにも高負荷すぎると運営会社に止められる可能性があるため、非常に高負荷な処理を行う場合は専用サーバーが向いています。)
このように、VPSは家で例えると1人1人に部屋があるものの、暴れると迷惑が掛かってしまうマンションのようなイメージです。
ちなみに、仮想化と説明するとなんだか難しそうなイメージがあり引っかかるかと思います。
実は仮想化はサーバー会社側で行っていることで、ユーザーには関係ありません。
そのため、「VPSはそこそこ自由に使えるサーバーなんだな」というあいまいな理解でもOKです。
専用サーバーとは
専用サーバーは文字通り自分専用のサーバーです。
サーバー会社が用意してくれたサーバーを1台まるごと使えます。
そのため、基本的にはどんな高負荷な処理を行っても問題ありません。
また、機能面でのVPSとの違いはほとんどありません。
しかし、性能が高い分、共用サーバーやVPSと比べて利用料は高額です。
なぜなら専用サーバーは法人レベルの規模での利用を前提に作られていることが多いからです。
そのため、個人での利用にはVPSが適しています。
このように、専用サーバーは自由度は高いものの、高額であるため、家で例えると一軒家となります。
【誤解あり】「レンタルサーバー」の意味
ここで一点注意点です。
よく「サーバーを借りるられるサービス=レンタルサーバー」という認識がされがちなのですが、厳密には異なります。
この記事にたどり着くまでに「Python レンタルサーバー」と検索した人も多いのではないでしょうか。
しかし、実はサーバー界隈ではレンタルサーバーは主に共用サーバーのことを指します。
つまり、「Python レンタルサーバー」と検索すると基本的には共用サーバーをおすすめする記事が出てくることになります。
では、共用サーバーでPythonのプログラムを動かすことに何か問題があるのでしょうか。
結論からいうとYESです。
先ほども書いたように共用サーバーは使う上で様々な制約があります。
また、Pythonのプログラムを動かす上で少しクセがあります。
そこについて次の項目で詳しく解説していきます。
【超重要】Pythonを使うなら共用サーバー?VPS?
ここまででPythonを使う際には共用サーバー(≒レンタルサーバー)とVPSのどちらでも使えることをわかっていただけたかと思います。
では、Pythonを使う場合、共用サーバーとVPSのどちらを選べば良いのでしょうか。
もうお分かりかもしれませんが、結論からいうとVPSです。
というのも、共用サーバーでPythonを使う上で、以下の3つの大きなデメリットがあるからです。
- Web用途を前提にサービスが提供されている
- Pythonのバージョンが古いことがある
- 【致命的】pipが使えないことが多い
特に2番目、3番目は要チェックです。
こちらも詳しく解説していきます。
1. Web用途を前提にサービスが提供されている
1つ目はWeb用途を前提にサービスが提供されているという点です。
共用サーバーでは企業のホームページやブログサイトなど、Webサイトを運営するためにシステム設計・提供されています。
(ちなみにこのサイトは共用サーバーを使って運営しています。)
そのため、Web系の言語(HTML、CSS、JavaScript、PHP など)には特化していますが、Pythonに関しては専門外といった感じです。
それが顕著に現れているのがPythonのバージョンです。
次の項目でも解説しますが、共用サーバーによってはPythonのバージョンが非常に古いことがあります。
つまり、共用サーバーのPythonはおまけ程度の機能というわけです。
それに対して、VPSはアプリやシステムの運営を目的としてサービスが提供されています。
そのため、Pythonを始めとした様々な言語のプログラムを自由に動かすことができます。
このように、共用サーバーではWeb用途をメインとしており、Pythonはおまけ程度となっています。
2. Pythonのバージョンが古いことがある
2つ目は「Pythonのバージョンが古いことがある」という点です。
Pythonのバージョンにはいくつかありますが、大きく分けてバージョン2系(以下、2系)とバージョン3系(以下、3系)があります。
2系は2020年にサポートが終了されており、現在使われているのは3系です。
しかし、共用サーバーのPythonは未だに3系には対応しておらず、2系しか使えないところも多くあります。
理由としてはあくまで推測ですが、先ほども書いたように共用サーバーのPythonがおまけ程度の機能だからだと思われます。
「バージョンが違うといっても1つしか違わないんじゃないの?」と思うかもしれませんが、2系と3系は全く異なります。
詳しくは調べていただければと思いますが、一言で言うと両者でソースコードの書き方が根本的に異なっており、プログラムの互換性がありません。
つまり、3系で書いたプログラムは2系の環境では動かないのです。
ここで、「契約後にバージョンアップすればいいんじゃないの?」とも思われるかもしれません。
しかし、共用サーバーは先ほども書いたように厳しい制限が掛かっているため、ユーザーが自由にバージョンアップさせることはできません。
(専門用語を使うと共用サーバーにはroot権限がないため、バージョンアップさせられません。)
一方で、VPSであれば自由にバージョンアップさせられます。
また、3系のPythonに対応していたとしても、マイナーバージョン(3.X.YのXの部分)が古いことが多いです。
例えばある共用サーバーでは3系には対応しているものの、そのサーバーで使える最新バージョンは3.6代でした。
記事執筆時点で最新バージョンは3.11代のため、古くなっています。
マイナーバージョンに関しても、同様に共用サーバーではバージョンアップできません。
つまり、新しいバージョンがリリースされても、大元であるサーバー会社がバージョンアップしてくれないと使えないのです。
このように、共用サーバーではバージョンの面で大きな問題があります。
VPSであれば自分の都合でバージョンアップ・ダウンが自由自在のため、この問題はありません。
3. 【致命的】pipが使えないことが多い
3つ目は「pipが使えないことが多い」という点です。
この問題はPythonのプログラムを動かす上で一大事です。
自分のパソコンで作ったプログラムをサーバー側で動かす際には、フレームワークやライブラリをサーバー側でpipコマンドを使ってインストールする必要があります。
しかし、共用サーバーではpipコマンドを使えないことが大半です。
使えたとしても少しクセのあるコマンドの入力をしないといけないことが大半で、通常のPythonのように単純に「pip install ○○」のようなものではありません。
Pythonのプログラムを作り際に、ほとんどの場合、何かしらのフレームワークやライブラリをインストールして使っているかと思います。
そのため、pipコマンドが使えないのは致命的といえるでしょう。
一方でVPSではpipコマンドの制限はありません。
普段パソコンでpipコマンドを使うのと同様にVPS側でも使えます。
このように、共用サーバーではpipコマンドを使えないことからあまりおすすめできません。
ここまででPythonのプログラムを動かすなら共用サーバーよりもVPSの方がいいことはお分かりいただけましたでしょうか。
おさらいすると、共用サーバーでPythonを使う上でのデメリットとしては以下の3つがありました。
- Web用途を前提にサービスが提供されている
- Pythonのバージョンが古いことがある
- 【致命的】pipが使えないことが多い
これらの問題はVPSであれば全くありません。
そのため、Pythonを動かすためのサーバーはVPSの方が良いといえるでしょう。
【1時間だけでも使える】おすすめのVPSサービス
では、おすすめのVPSサービスについて解説していきます。
VPSサービスはいくつかありますが、基本的にはどのVPSでもPythonのプログラムを動かすことが可能です。
数あるVPSの中でも個人的に初めて使うVPSとしておすすめなのが「ConoHa VPS」というサービスです。
ConoHa VPSには以下のようなメリットがあります。
- 1時間から使える
- 管理画面が使いやすい
- 当サイトから無料お試し可能
1. 1時間から使える
1つ目は「1時間から使える」という点です。
VPSに限らず、サーバーは短くても1ヶ月、長ければ3年間で契約することがほとんどです。
この場合、期間中の料金を一括で前払いで支払う必要があります。
そのため、例えば1ヶ月契約すれば1か月分の料金を一番最初に払わなければなりません。
一方で、ConoHa VPSでは1時間単位の契約となる「時間課金」プランがあります。
時間課金を選択すれば使った分だけのお支払いとなるため、不要な料金が発生しにくいです。
例えば一番安いプランである512MBプランなら1時間あたり1.3円となっています。
つまり、512MBプランで10時間使った場合は1.3円×10時間=13円だけ支払えば良いというわけです。
まさに使った分だけ支払えば良いため、最低限の料金で利用できます。
(サーバー料金は契約中はずっと発生するため、都度「サーバー削除」を行う必要があります。詳しくは以下の記事をご確認ください。)
このように、一般的なVPSでは1ヶ月の支払いが必要な一方で、ConoHa VPSは使った分だけ支払えばOKです。
特に個人的に作ったプログラムを一時的に動かしたい場合や、サーバーを使ったPythonプログラムの実行を試してみたい方には最適といえるでしょう。
2. 管理画面が使いやすい
2つ目は「管理画面が使いやすい」という点です。
サーバーの管理画面というと、専門用語が多く、どう操作して良いかわからないくらい難しそうな印象があるかと思います。
しかし、ConoHa VPSは非常にシンプルかつわかりやすいデザインになっています。
以下が実際の管理画面です。
左側にメニューがあり、右側のパネルで操作するようなイメージです。
色合いも今っぽいきれいなデザインとなっています。
筆者も初めて使ったVPSがConoHa VPSでしたが、シンプルなデザインのおかげで迷うことはありませんでした。
このように、ConoHa VPSはシンプルかつわかりやすいデザインのため、管理画面に不安を感じる初心者にもおすすめといえます。
3. 当サイトから無料お試し可能
3つ目は「当サイトから無料お試し可能」という点です。
ConoHa VPSは通常では無料お試しできませんが、下記のリンクからお申し込みいただくことで最大1ヶ月分(800円分)が無料となります。
【リンク】
無料クーポンの残額が無くなるまでの間にサーバー削除を行えば使った分以上の料金が発生することはありません。
ぜひ無料でお試ししてみてください!
VPSのおすすめプランは?
では、ConoHa VPSでPythonを使う場合のおすすめプランについても解説します。
ConoHa VPSでは512MBプランから64GBプランまで用意されています。(ちなみにプラン名はメモリ容量を表しています。)
Pythonの場合、それほど大きな負荷がかかることはないと考えられるため、基本的には512MBプランまたは1GBプランで問題ありません。
ConoHa VPSは契約後のプラン変更も可能なため、まずは512MBプランで始めて、重ければ1GBプランにアップする、という使い方でも良いでしょう。
なお、機械学習などを行う場合は非常に高負荷な処理となるため、4GBまたは8GB以上を推奨します。
ちなみに契約形態には大きく分けて1ヶ月以上の契約になる「まとめトク」と1時間単位で使える「時間課金」があります。
「まとめトク」は複数月に渡って契約することで、1ヶ月あたりの利用料金は安くなりますが、期間中の料金を一括で前払いする必要があります。
一方で、「時間課金」であれば1時間単位で利用できるため、先ほどのように「10時間だけ使いたい」という場合に最適です。
契約形態は後ほど変更することも可能なため、まずは時間課金から始めてみるのがおすすめです。
VPSを使ってPythonのプログラムを稼働させる流れ
では、いよいよConoHa VPSを使ってPythonの環境構築を行っていきましょう。
所要時間としては30分から1時間程度で可能です。
ConoHa VPSでのPythonの環境構築は以下の手順で行えます。
- ConoHa VPSを契約する
- Ubuntuをセットアップする
- Pythonを準備して動かす
2番目にあるUbuntuとはOSのことです。
パソコンの場合はWindowsやMacが主流ですが、VPS(サーバー)ではUbuntuがよく使われます。
OSといってもそれほど難しいことはしないため、手順通りに進めればOKです。
ConoHa VPSを使ってPython環境を構築して動かすまでの手順に関しては以下の記事で解説しています。
【リンク】
Pythonとサーバーに関する1問1答
共用サーバー、VPS、専用サーバーの中ではVPSが最適です。
使うことは可能です。
しかし、バージョンが古かったり、pipコマンドが使えないなど、制約が多いためおすすめできません。
ConoHa VPSです。
なぜなら1時間単位で利用でき、管理画面がわかりやすいため、初めてでも気軽に使えるからです。
まとめ
今回はPythonのプログラムを動かす上で最適なサーバーについて解説しました。
Pythonは共用サーバーなどでも稼働しますが、制約が多いため、VPSでの利用がおすすめです。
また、おすすめのVPSはConoHa VPSでした。
この記事があなたのサーバー選びに参考になれば幸いです!
参考リンク
- ConoHa VPS公式サイト
- ConoHa VPS料金ページ