修行のために何かを作る話(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番を解放して確認。
productionモードで起動してるからYey画面はみられない。
けどこの画面はRailsのエラー画面なので、Railsまではアクセスが通った。やったね。
TODO
pumaの設定
nginx導入と設定(リバースプロキシ入れた方が良かろう)
デプロイフロー作る(GitHub Actions?)
config/master.keyの本番運用について確認(多分環境変数)
rails credentialsの役割について確認(これは環境変数ではダメかも)
その内やりたいこと
docker image作った方がデプロイが楽な気がしなくもない。
(EC2インスタンスが死んだ時にインストールし直しとかになるのも嫌だから。)
ローリングデプロイとかブルーグリーンデプロイとか。
(ソースコード配布したらpumaにシグナル送れば良い?)
この記事が気に入ったらサポートをしてみませんか?