EC2上にdocker-compose + Ruby on Rails環境を立ち上げて運用する際に参考にしたサイト【メモ】

ローカルでdocker-compose + Ruby on Rails環境を構築し、開発していたものの、一辺倒にHerokuで運用するのにも飽きたし、かといってイキナリECS運用は敷居が高いしということで、EC2上にDocker環境を構築してデプロイしてみました。

案外うまく行ったので、それに差し当たって参考にしたサイトを備忘録のためにまとめておきます。

`※本番環境としてEC2上にdockerを展開するのはアンチパターンなようなので、あくまでも学習用としてご利用ください。`

# Docker on Nginx + RoR + MySQLのコンテナを作る
### Rails6×Ruby2.6.3×Docker×Nginx×MySQLで開発環境を作る
https://nothing-behind.com/?p=284

# EC2にDockerを入れてみる
### AWSのEC2でDockerを試してみる
https://qiita.com/yumatsud/items/33bc22f7d8f640a286f4


### EC2（AmazonLinux）にDocker Composeをインストールする
https://qiita.com/maruuuuu/items/7d99cd1230b649591b4f

```
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
https://docs.docker.com/compose/install/

### AWS EC2 Amazon LinuxでDocker, Docker Composeをインストールする
https://qiita.com/shinespark/items/a8019b7ca99e4a30d286

### dockerとdocker-composeのインストール(Linux編)
https://qiita.com/youtangai/items/ff67ceff5497a0e0b1af

# git関係
### EC2 Amazon Linux を立ち上げた時にする初期設定
https://qiita.com/shojimotio/items/79264678e9ea10b6fd19#vim%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E3%81%99%E3%82%8B

### EC2 に構築したサーバーから Github にアクセスしてデプロイをする
https://www.radiuthree.co.jp/2017/04/19/ec2-%E3%81%AB%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%9F%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8B%E3%82%89-github-%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%81%A6%E3%83%87%E3%83%97/

# ポートを指定してアクセスする方法

Railsの起動ポートを3000番とかにしている人は、これを参考に、
パブリックIP:3000とかでアクセスできる。

###【teratail】ドメイン設定　ポート80以外
https://teratail.com/questions/115746

# 運用可能な環境を立ち上げる
### 初心者向け：AWS(EC2)にRailsのWebアプリをデプロイする方法 ①〜⑤まで
この記事ではDockerを使わずにデプロイしているが、VPCやセキュリティグループの設定等は丸っとそのまま参考にできる。
https://qiita.com/iwaseasahi/items/7af16215f06fbc57c490

# RDSとの連携
### 【公式ドキュメント】Ruby アプリケーション環境に Amazon RDS DB インスタンスを追加
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_Ruby.rds.html

### [sequel pro] EC2で参照しているRDSにsequel proで接続する
https://tackeyy.com/blog/posts/how-to-access-rds-with-sequel_pro

# https化
### Route53+ACM+ALB+EC2でHTTPS接続するまで
https://qiita.com/m-kazu/items/aa44789f9183f5a61104

### [新機能]Webサーバでの実装不要！ALBだけでリダイレクト出来るようになりました！
https://dev.classmethod.jp/cloud/aws/alb-redirects/

# ターゲットグループのヘルスチェックが403になる
### Rails6アップデートをproduction環境へリリースしたらインスタンスごと殺してしまった話
https://qiita.com/mishiwata1015/items/7ae533a19e6066667a13

# Redis
### WS EC2にredisをインストールする
https://qiita.com/stoshiya/items/b8c1d2eb41770f92ffcf

# ElastiCache
### 【Amazon ElastiCache】 Rails設定
https://qiita.com/Rubyist_SOTA/items/adcdaa2644be81775cf6

### Amazon ElastiCacheの設定
https://qiita.com/leomaro7/items/f031cfdd7d12d5d5ccc5

# その他
## Rails6でドメイン紐付け時に「Blocked host」とエラーが出る
### RailsのBlocked hostというエラーの解決方法
https://www.tmp1024.com/articles/solve-blocked-host-of-rails

## CloudWatchで監視
### [AWS][EC2]CloudWatchでメモリー使用率とかディスク容量とかロードアベレージとかをモニタリングしたい
https://blog.adachin.me/archives/4832

### CloudWatch で EC2 のメモリ・ディスク使用率を監視する
https://engineers.weddingpark.co.jp/?p=2701

### Redis 用 Amazon ElastiCache（監視項目）
https://qiita.com/fjisdahgaiuerua/items/3c385081a8bfefe4fa61#%E3%83%9B%E3%82%B9%E3%83%88%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E3%83%A1%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9

## vimのコマンドで良く使ったやつ

### 全行削除
```
:%d
```

### 上書き保存
```
Shiftを押したまま Z + Z

または

:wq
```

### 保存しないで終了
```
:q!
```