レンタルサーバぐらいのコストでWordpressとDjangoなどのPython WEB フレームワークも動かしたい。そんな人のための構築記録です。
複数のWEBサービスを持っているんだけど、契約も複数になってしまいもっとコスト削減したいと考えたことはありませんか?例えばWordpressなどを運用していたら、レンタルサーバなどの契約が安くて簡単だと思いますが、例えばさくらのレンタルサーバー スタンダードプランで月額524円かかります。さらに発展的なDjangoを活用したサービスを提供したい場合、Herokuなどを使うと月額7ドルかかってしまい。大体月額1300円ぐらいかかってしまいます。これを、Amazon Lightsailを使用し、全部まとめて月額5ドルで運用したいというお話です。(ドメイン費用は除く)
Lightsailでインスタンスを起動する
最初にインスタンスを作成します。場所は東京、インスタンスのイメージはOSのみを選択し、Ubuntu18.04LTSを選びます。インスタンスプランはメモリが1GBの5ドルのプランにしました。なんとか3.5ドルで運用できないかを挑戦してみましたが、さすがにメモリが少なすぎてスワップが多く発生してしまいました。
SSHでログイン
作成したインスタンスにSSHでログインします。-i オプションでダウンロードしたキーペアを選択しログインします。なお、キーペアはセキュリティ上$chmod 600 mykeypair.pem と権限設定を変えておかないとエラーが出てしまうのでご注意下さい。
$ssh -i mykeypair.pem ubuntu@3.2.4.1
Swapを作成してOSをアップデート
$sudo su - $dd if=/dev/zero of=/swapfile bs=128M count=32 $chmod 600 /swapfile $mkswap /swapfile $swapon /swapfile $swapon -s $echo "/swapfile swap swap defaults 0 0" >> /etc/fstab $apt-get -y update $apt-get -y dist-upgrade
Dockerをインストール
構成の概要は別途記載しようと思いますが、今回はDockerで環境構築しようと考えているので、DockerとDocker-Composeをインストールしておきます。それSSL証明書を発行するためのcertbotも入れておきましょう。
$apt-get -y install docker docker-compose certbot
以上で基本的な環境構築は完了です。次回からアプリケーション類のインストールを行っていきます。