クラウドに私専用のLinux PCを構築したい!
私は、自分の生活にまつわる様々なデータ、具体的には、自分の体重、飼育している動物達の体重、ESP32などで計測した温度・湿度あるいは電流・電圧、買い物データ、血糖値、貴金属価格、などをスマホあるいはパソコンに記録しています。
わかりやすいところで「体重」を例に挙げれば、その日の数値がいくつか、ということよりもここ一週間あるいは一ヶ月でどのような推移だったかという見方の方が大事だったりします。そのような考え方に立つと、データベースに保存した過去のデータから、必要な分を取得してグラフを作成する処理が必要になります。
今までは自分のパソコンでプログラムによりグラフ化していましたが、この状態だとこのパソコンを開かないとグラフを見られません。むしろ、データや処理するプログラムをクラウドに設置して全てをクラウドで処理できれば、外出先でもデータを閲覧できるし楽しそう、と思いました。
これを実現するためには、少なくとも2つの方法があります。
(1) クラウドにVPS(Virtual Private Server)を用意し、そこにデータベースと処理プログラムを設置する。
メリット:
・システムのセットアップはワンクリックで準備時間はほぼゼロ。
・管理画面で、許可ポートをSSH / HTTP / HTTPSだけに簡単に絞れる。
・停電でもない限り、VPSは安定稼働し、電気代の心配がない。
デメリット:
・Linuxのコマンドを勉強しないといけない。
・webサーバの他に動的処理を行うためのappサーバが必要で設定が煩雑。
(2) 自宅にサーバ機を用意し、サーバでデータ処理をしてからレンタルサーバに転送する。
メリット:
・動的処理がないので、クラウドはwebサーバだけで良い。
・クラウドで追加で設定する必要がない。
デメリット:
・システムをゼロからセットアップする必要があり、それなりの時間がかかる。
・ファイヤーウォールを始めとするセキュリティ設定を自分で準備する必要がある。
・自宅でサーバを稼働させ続けていると(エアコンと比較すれば少額だが)電気代がかさ
それぞれの長所・短所を見比べ、今回はVPSを使う方法を選択しました。仕事でAWSを触って半年弱が経ち、Linuxに親しみが出てきてVPSを触ってみたいという気持ちが強くなったからです。今までの、htmlファイルや画像をレンタルサーバにアップロードしてホームページを構築するのとは違う、新たな挑戦です。
ということで、ネットでVPSのレンタル業者を探しました。どこの業者もキャンペーンを行っていて、人気があるみたいですね。負荷がかかることをする訳ではないので、ハードは最低スペックで十分です。私が選んだ業者では、メモリ:512MBでストレージ:30GBの仕様です。SSLは後から自分で組み込みたいので、あえてシンプルプランを選びました。キャンペーン価格で毎月321円って激安です。
Pythonのインストール
さぁ、設定が完了してログインし、VPSのタブを見ると、インスタンスが生成されているのがわかります。細かい情報を確認するため、詳細情報をクリックしてみます。
ネットワーク情報の中にある接続許可ポートをSSHとWebの2つを選択します。
VPSをSSH接続で操作するため、作成した秘密鍵をダウンロードしました。ローカルPCはWindows11なのでターミナルソフトが必要ですが、私はRloginを使います。類似ソフトはいくつかありますが、基本的な機能は変わらないので、個人の好みですね。
これからPythonでの様々な通信を行いたいので、とりあえず下記のソフトウェアをソースからインストールしました。
・OpenSSL(v3.0)
・Python(v3.11)
SSL機能を付加するため、Pythonより先にOpenSSLをインストールする必要があります。また、Pythonをインストールする際、既にシステムに組み込まれているPythonを邪魔しないよう、以下のコマンドでインストールします。
sudo make altinstall
Pythonのインストールが無事に完了したら、OpenSSLが正しくインストールされているか確かめます。まずは、’pip list’コマンドでエラーが出ないか、そして、sslモジュールがエラーなくインポートできるか、を確認します。下記のようになっていれば、まずはメデタシ、です。
実際には、以下のコマンドを実行し、仮想環境下でPythonのテストを行います。
$ python3.11 -m venv (仮想環境名)
$ source ./(仮想環境名)/bin/activate
(仮想環境名)$
これからは、作成した仮想環境に必要なライブラリをインストールします。次は、SSLのインストールを行います。
コメント