AWSでWebアプリを公開するまでに活用したTips
AWS EC2インスタンスからRDSへの接続方法
AWSのEC2から、RDS内のデータベースに接続したい時の操作方法をまとめる。
方法
以下のコマンドをEC2インスタンス内部で打ち込めば良い。
[root@ip-10-0-1-173 ~]# mysql -u admin -p -h sampleapp-mysql.abc111222333.ap-northeast-1.rds.amazonaws.com
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2200
Server version: 5.7.22-log Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
まとめ
mysql -u [RDSユーザ名] -p -h [RDSエンドポイント]
このコマンドを打つことで、接続ができる。
AWSのALBでSSL化したらレスポンスが遅くなった時の対処法
オリジナルのアプリをhttps
化して、サイトにアクセスした時に、1回目のレスポンスが非常に遅くなる現象が発生した。
今回はその対処法をまとめる。
参考にした記事
ちなみに、問題解決にあたって以下の記事を参考にした。
AWS Elastic Load Balancing: Seeing extremely long initial connection time
ALBを立ち上げる際に、サブネットを2つ設定しなければならないのだが、どちらかのサブネットがプライベートサブネットになっていると問題が発生するようだ。
対処法
既存のVPCネットの中に、追加でパブリックサブネットを作成し、ALBを置いておくサブネットとして設定をすれば良い。
No space left on device
AWSでアプリケーションを動かしている時に、No space left on device というエラーが出てきたので、詳しく調べてまとめてみた。
対処法
dfというコマンドを使用して、ディスクの使用量を確認する。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 16G 16G 0G 100% /
devtmpfs 993M 56K 993M 1% /dev
tmpfs 1001M 0 1001M 0% /dev/shm
次にduというコマンドを使用して、どのフォルダがディスク容量を多く使っているかを特定する。
du -h | sort -rh | head -5
10G .
6.5G ./hoji
4.5G ./hoji/log
1.1G ./hoji
1.2G ./hoji
ここでは、/hoji/logというフォルダが容量を多く使用していることがわかるので、logの中身を削除してやると、ディスク容量に空きができる。
log関連
AWS EC2を使って自分のアプリケーションをデプロイするときに、非常に苦労をしたので、対処法をメモしておきます。
対処法
自分のアプリのディレクトリ直下に移動をしてから、logを出力します。
$ cd ~/var/www/rails/myapp # 自分のアプリがあるディレクトリに移動
$ cat /log/unicorn.log # logを出力
デプロイがうまくいかないときに、logファイルの中身を見るとエラーログが出ている時があるので、そのエラーログを見て対処していきましょう。
Discussion