🦔

AWSでWebアプリを公開するまでに活用したTips

2022/03/30に公開

AWS EC2インスタンスからRDSへの接続方法

AWSのEC2から、RDS内のデータベースに接続したい時の操作方法をまとめる。

方法

以下のコマンドをEC2インスタンス内部で打ち込めば良い。

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を出力します。

terminal
$ cd ~/var/www/rails/myapp # 自分のアプリがあるディレクトリに移動
$ cat /log/unicorn.log # logを出力

デプロイがうまくいかないときに、logファイルの中身を見るとエラーログが出ている時があるので、そのエラーログを見て対処していきましょう。

Discussion