n週刊 自宅サーバを作る 創刊号
おことわり
本記事は勉強のメモがてら作成している。内容の正確性については一切保証できないためご了承いただきたい。誤りがあればご指摘いただければ大変うれしい!
きっかけ
なにかモノづくりとIT学習を兼ねた勉強方法が無いか探していたところ...
自宅サーバ作りたい...作りたくない?
と聞こえてきた。たしかに!
しかもRaspberry Piという手ごろなハードが便利らしいとの情報を入手。
AWSなどのクラウドに触れる前に、まずはオンプレミスで作ってみて修行したい。
野望
超ざっくり、以下のようなキーワードで学習を進めたい。
- Web サーバ
- APサーバ
- API
- ネットワーク
- セキュリティ
- IoT
ステップとしては以下のような流れを想定。
- STEP0
- サーバとなるハードを調達/整備する
- 環境構築する
- 大変そう...?
- STEP1
- Webサーバを立てる
- ApacheかNginx?
- 何かしらデプロイ?する
- ローカルホストで立ててアクセスする
- Webサーバを立てる
- STEP2
- グローバルに公開する
- 固定IP、DDNS....あたり?でIPアドレスをどうにかする
- ちなみに我が家のとくとくBBだと固定IP1つ辺り1000円弱/月する。意外と高い?
- ポートあたりのセキュリティを考える
- HTTPS化とかも挑戦したいね
- 固定IP、DDNS....あたり?でIPアドレスをどうにかする
- グローバルに公開する
- STEP3
- STEP4
- IoT機器として機能させる
- 各種ハードの整備
- アプリの整備
- ここまで常時稼働させるなら電気代とか熱設計とかも考慮した方がいいのか?
- 例えば
- 気温を取ってDBに記録するとか
- でAPI経由でDBのデータを取ってこれるようにするとか
- IoT機器として機能させる
Raspberry Piとは
シングルボードコンピュータの1種。
ざっくり言うと手のひらサイズコンピュータのこと。(マイコンとはちょっと違うらしい?)
https://www.raspberrypi.com/
CPU、メモリ、オンボードチップセットからI/Oまで一通りそろっている。しかも1万円程度で購入できる。安い。それでいてデュアルディスプレイ対応などそれなりにハイスペック。いい時代になった。
他のシングルボードコンピュータとの違い
他の有名どころとしてはArduino、M5Stackなどがある。違いはよくわからん。
以下を参考にする。
比べれば分かる!ラズパイ・Arduino・M5Stackの特徴と使い分け【第1回】
こんなときはRaspberry Pi(ラズパイ)から始めよう
① 映像を表示するデバイスの開発がしたい
② USB接続で使える機器を導入したい
③ パソコン上で動作するプログラムを扱いたい
④ 大部分はパソコン上のアプリケーションで動くが、簡単な入出力もしたい
.
ArduinoやM5Stackのほうがいい“かもしれない“ケース
①必ずしもパソコン上のアプリで動作させなくてもいいとき
②電源を立ち上げて瞬時に動作させたいとき
③消費電流を抑えたいとき
うーん、アプリをデプロイしたり、将来的にIoT機器として働かせたいeat-sushiとしてはRaspberry Piでよさそう?
Raspberry Piの種類
色々あるらしい。3とか4とか。
Pico(マイコン)やZero(低スペック)はもはや別物。
https://sozorablog.com/raspberry-pi-pico/
https://raspi-school.com/versions-of-raspberrypi/#Raspberry_Pi_%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA
https://manumaruscript.com/raspberrypi-model-comparison/
今回はサーバとして無理なくアプリを稼働させたいので、余裕のある4B+でよさそう。というか3以前のものは入手困難OR高額。
次回
Webサーバの立ち上げまでには何を準備すべきか学ぼう。