こんにちは、こんです🦊
今回は、前回の記事(Day 70|非エンジニアにも届けたい。業務改善ツールの“ちゃんとした”配布方法を考えた)の続編として、VPS(仮想プライベートサーバー)を初めて契約した話です!
目的はズバリ、「100日チャレンジで作ったStreamlitアプリを、誰でも使える形で社内配布するための基盤づくり」。
VPS?それってなんか難しそう…
ConoHaって聞いたことあるけど、どう選べばいいの?
そんな人に向けて、今回はConoHa VPSの契約から初期設定までのステップを一気に公開します!
実験のきっかけ:ツール配布が一番のハードル?
Streamlitで業務改善ツールを作ってきたものの、ローカル環境だと:
他の人に渡せない(localhost問題)
PC依存で保守性が低い
Cloudサービスは認証・制限が煩雑
という壁にぶつかり、「配布の壁」に直面。
そこで出てきた選択肢が VPS(仮想プライベートサーバー)+Docker でした。
実際に選んだConoHa VPSの契約内容
契約時の設定方針を以下にまとめました👇

初期設定の流れ(初心者向け手順)
🔑 1. VPSにSSHログイン(Teratermまたはブラウザコンソール)
ssh root@<グローバルIPアドレス>
ConoHa管理画面 > サーバー > ステータスが「起動中」のVPSのネームタグをクリック > コンソール で確認できます。
Ubuntu 22.04.5 LTS vm-f4910ca5-af tty1
vm-f4910ca5-af login: root
Password:
// ここにVPS契約時に設定したrootのパスワードを挿入。
// コピー&ペーストが出来ないため、「テキスト送信」ボタンを押し、
// パスワードとEnterをテキストボックスに入れて、「送信」ボタンを押す
🛠 2. OSをアップデート!
apt update && apt upgrade -y
🔥 3. ファイアウォール(ufw)設定
apt install ufw -y
# 必要なポートのみ許可
ufw allow 22 # SSH
ufw allow 80 # HTTP
ufw allow 443 # HTTPS
# デフォルトは全拒否、許可したものだけ通す
ufw default deny incoming
ufw default allow outgoing
# ファイアウォール有効化
ufw enable
# 状態確認(許可ポートが表示されていればOK)
ufw status verbose
🔐 4. SSH攻撃対策(fail2ban)
apt install fail2ban -y
# 起動&自動起動設定
systemctl enable fail2ban
systemctl start fail2ban
🐳 5. Docker & docker-composeインストール
# Docker本体
apt install docker.io -y
# 自動起動設定
systemctl enable docker
systemctl start docker
# docker-compose(Pythonベース)
apt install docker-compose -y
# 動作確認(バージョンが表示されればOK)
docker -v
docker-compose -v
👤 6. 一般ユーザーを作成(sudo付き)
adduser localadm
passwd localadm
New password: // 任意のパスワードを設定
Retype new password: // 上記で指定したパスワードを繰り返す
usermod -aG sudo localadm // 作成したアカウントにroot権限を付与(Superuser do / Substitute user and do)
実感したメリット
非エンジニアにも使いやすい
自分以外の人でも、アプリにアクセスできる形に近づいた
セキュリティも最低限確保
ufw + fail2banの導入で、サーバーが「素通し状態」にならないようにできた
Docker環境が整ったことで次が見えた
複数アプリを1台に集約可能。いよいよ資産化へ!
次回予告:Streamlitアプリのデプロイ!
次は、以下を実施予定です👇
Dockerfileとdocker-compose.ymlの作成
nginxの設定とリバースプロキシ化
JPAddressCheckerの公開URLを用意
日本郵便APIとの本番接続
まとめ:VPS契約って「壁」じゃなかった
「VPS=玄人向け」という思い込みがありましたが、実際にやってみると、
「1つずつ進めば全然いける!」
という感覚になれました。とくにConoHa VPSは日本語のサポート記事が多く、“最初の一歩”を踏み出すには最適だと感じました。
それでは、また次の実験で!🦊
#100日チャレンジ #業務改善 #ノーコード #Docker #Streamlit #ChatGPTで業務効率化 #VPS #ConoHa #住所チェック #初心者向けVPS