修行のために何かを作る話(AWS環境準備)

この話の続き

参考情報

ほぼ全てこのzennです。

今回の目標はRDSは作成せずにrails newの画面だけ見せるように作るところまで。

インターネットにドメインを晒す

まずはスタードメインで取得したteslur.jpのドメインのDNSをAWS Route 53に向ける。
sshとかを楽にしたいため。

ドメインとDNS設定の話は以下を参考にした。

2021/02/07 00:00:00 現在、いわゆる「浸透」待ち…のはず。

❯ nslookup -timeout=5 blog.teslur.jp 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
*** Can't find blog.teslur.jp: No answer

2021/02/07 01:00:00 くらいには「浸透」してた。

❯ nslookup -timeout=5 blog.teslur.jp 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	blog.teslur.jp
Address: 54.64.162.177

途中defaultのsgいじっちゃったけど、いじるべきではなさそうな気がしたので戻した。

上記と並行してAWS内のもろもろを整える。

とりあえずインストールは避ける

おおよそzennの記事通りに進めて、いつも嫌な「とりあえず色々install」に当たる。
インストールで必要なものは最小にしたいので、必要になったらインストールする進め方にする。

結果必要だったもの:
 git(anyenv含むOSSのインストール、blogリポジトリのコピー)
 make、gcc、openssl-devel(rbenvによるrubyのインストール)
 sqlite-devel(bundle installのため。そのうちpostgresqlにする)
 gcc-c++(bundle installでsasscのコンパイルに必要らしい)

まあこの辺は確かに必要そう。

bundlerのインストールで警告あり。正しくはconfigなんだ。

$ bundle install --without development test
[DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'development test'`, and stop using this flag

動かす

とりあえず3000番ポートで起動、EC2のセキュリティグループを一時的にインバウンド3000番を解放して確認。

スクリーンショット 2021-02-07 18.04.14

productionモードで起動してるからYey画面はみられない。
けどこの画面はRailsのエラー画面なので、Railsまではアクセスが通った。やったね。

TODO

pumaの設定
nginx導入と設定(リバースプロキシ入れた方が良かろう)
デプロイフロー作る(GitHub Actions?)
config/master.keyの本番運用について確認(多分環境変数)
rails credentialsの役割について確認(これは環境変数ではダメかも)

その内やりたいこと

docker image作った方がデプロイが楽な気がしなくもない。
(EC2インスタンスが死んだ時にインストールし直しとかになるのも嫌だから。)
ローリングデプロイとかブルーグリーンデプロイとか。
(ソースコード配布したらpumaにシグナル送れば良い?)

この記事が気に入ったらサポートをしてみませんか?