Amazon Lightsail を試している件
Amazon Web Service(AWS)の無料期間が経過していて、3~4回くらい、5000円/月の課金を喰らっていたことを知って、先日あわててアカウントを抹消しました。
# 練習用に使っていただけなに、バカみたいです。
ところで、私が今、個人のWebサイトで利用させて頂いているのは、さくらインターネットの月額500円の仮想サーバです。WordPressと併用できて、とても便利です。
ただ、以前、このサーバを使って実家監視システムを作ろうと思ったのですが、色々問題があって使えませんでした(ホームページ用の仮想サーバなんだから当り前)。
といって、AWSは、高額の上に設定が面倒。このクラウドに、どれだけの時間を持っていかれたことか。
という訳で調べたら、Amazonにも3.5ドル/月のサーバがあることが分かりました。 Amazon Lightsail です。
うん、これ、いい。私は、サーバを攻撃から守る気もないし、システム破られて持ち出された情報なんぞ入れる気もない。EC2なんぞ1つあれば十分だし、DBはUbuntuの中に作りこんでしまえばいい。
そもそも、ファイアウォールとして使っているロードバランサの設定も、Route53の設定もやりたくありません。
という訳で忘れない内にAmazon Lightsail の作成手順をメモしておきます。
(1)AWSのアカウントを作成(省略)
(2)Amazon Lightsail を選んで、「インスタンスの作成」ボタンを押下
私は、Ubuntu20.04を選択
一番安い$3.5を選択
あとは、ほったらかしにして(入力値はデフォルト、タグは無視)「インスタンスの作成」ボタンを押下
で、「データベース」タブは無視して、「ネットワーキングタブ」を選択
「静的IPの作成」ボタンを押して、そのままIPアドレスを作る。ちなみに、pingでは応答しないようです。
次に「DNSゾーン」の作成ですが、私は、お名前.comに1つドメイン名を確保しているので、それを使うことにしました。
そのやり方については、これを参考にして下さい。
基本的には、この情報を、お名前.comの方に書き込むだけです。
DNSレコードは、Aレコードだけを設定すれば良いです(サブドメインを作りたい場合は別)。
結果として、こんな表示が出せれば正解
DNSの反映されるに、10分~20分ってところだったと思います。
それと、どこでやったか忘れてしまったけど、SSHアクセス用の秘密鍵をダウンロードするプロセスがでてくるので、それをダウンロードしておく。LightsailDefaultKey-ap-northeast-1.pem てな名前でした(ダウンロード後、リネームしておくと良いでしょう)。
それを使ってTeraTermで、カーネルにアクセスできるようになります。FTPもteratermから "ファイル" → "SSH SCP"を選ぶと、ファイル転送できます(FFFTPは使えません)
あとは、TeraTermでSSHログインして、こんなコマンド投入しておきました。
>sudo apt-get update
>sudo apt install net-tools
>sudo apt install emacs
>sudo apt install golang-go
ロードバランサを使うと$18/月も取られるようなので、OS剥き出しで運用することにしました。
ポートのオープンはこちらからできます。ローカルのテストで http://localhost:8080 とかを使っていましたので、以下のように8080をオープンしておきます。これで、http://sea-anemone:8080 とかが使えるようになります。
(因みに、IPアドレスはデタラメな値に差し替えています)
なお、go言語で作っているサーバの方ですが、以下のような書き換えだけで対応できるようです。
//var addr = flag.String("addr", "localhost:8080", "http service address") // これは動かない
//var addr = flag.String("addr", "0.0.0.0:8080", "http service address") // ローカルでの環境
var addr = flag.String("addr", ":8080", "http service address") // AWS lightsailでの環境
お金がかかるので不満なのですが、システムが丸ごと壊れるのが怖いので、やっぱりスナップショットは1つ作っておくことにしました。