🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

1411閲覧

AWSデプロイしたアプリが突如アクセス不可に。原因を教えて頂きたいです。

koji_tanimoto

総合スコア0

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/12/10 04:29

編集2020/12/10 05:43

課題

初めて質問させて頂きます。至らぬ部分あると思いますが、
何卒お力を頂きたいです。

Rails6.0で作成したアプリをAWS(EC2、route53、S3、Mysql)でデプロイ
して先日まで問題なく開発、デプロイができておりましたが、昨日アクセスしようと
したところ、アクセス不可となりました。

イメージ説明

自身のPC環境の問題かと考えましたが、知人のPCからもアクセスできないようです。
herokuでデプロイしているアプリは問題なくアクセスできるので、AWS関連の問題
と思われます。

アクセスできていた時から触ったこととしては、

・別アプリケーションでdocker、travisにてCI/CDを初めて実装。

のみです。Qiita記事を書く為に環境変数入力画面を開いた事もありますが、
再度確認したところ、不備はありませんでした。

発生している問題・エラーメッセージ

ActionController::RoutingError (No route matches [POST] "/Autodiscover/Autodiscover.xml"): ActionController::RoutingError (No route matches [GET] "/wp-content/plugins/wp-file-manager/readme.txt"): ActionController::RoutingError (No route matches [GET] "/console"): ActionController::RoutingError (No route matches [GET] "/index.php"): ActionController::RoutingError (No route matches [POST] "/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"): ActionController::RoutingError (No route matches [GET] "/solr/admin/info/system"): ActionController::RoutingError (No route matches [GET] "/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"):

のように多量のルーティングエラーが発生しております。

加えて、nginxのログをみようとすると、 sudo less /var/log/nginx/error.log,

何もデータが出てきませんでした。

[ec2-user@ip-172-31-45-207 text-31024]$ ps ax | grep nginx 10589 ? Ss 0:00 nginx: master process /usr/sbin/nginx 10616 ? S 0:00 nginx: worker process 10699 pts/0 S+ 0:00 grep --color=auto nginx [ec2-user@ip-172-31-45-207 text-31024]$ ss -natu | grep LISTEN tcp LISTEN 0 128 0.0.0.0:111 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* tcp LISTEN 0 100 127.0.0.1:25 0.0.0.0:* tcp LISTEN 0 128 [::]:111 [::]:* tcp LISTEN 0 128 [::]:80 [::]:* tcp LISTEN 0 128 [::]:22 [::]:*

この状態であればnginx自体は稼働しているのでしょうか?

試したこと

・EC2の再起動→解決せず。EC2自体は実行中、ステータスチェックも問題ありません。
・unicornの再起動。調べて、起動中のunicornをkillして再起動すれば解決した
事例がありましたが、そもそもkillできるunicornが無い状態。

[ec2-user@ip-172-31-45-207 text-31024]$ ps aux | grep unicorn ec2-user 10276 0.0 0.0 119436 964 pts/0 S+ 04:21 0:00 grep --color=auto unicorn

補足情報

このアプリは就活用のPFで作成しているので、それほど負荷がかかる程のアクセスは考えにくいです。
初学者でエラーの内容があまりに馴染みがなさすぎて、どこから手をつけていいか分からず困っております。
AWSの体系的な部分を調べていきたいと思いますが、何か原因がわかる方いらっしゃりましたら、何卒宜しく
お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

no1knows

2020/12/10 06:31

> ActionController::RoutingError (No route matches [GET] "/wp-content/plugins/wp-file-manager/readme.txt"): > ActionController::RoutingError (No route matches [GET] "/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"): エラーからは、PHPやワードプレスのような記述が見受けられますが本当にRailsでしょうか?
koji_tanimoto

2020/12/10 06:40

ご連絡ありがとうございます! そうですね、rails6とjavascript少しです。私自身がPHPやワードプレスは全く触ったことがありません。 なので、エラーの内容が全く分からなくて困っております。
yu_1985

2020/12/10 06:44

unicornを使っていなければunicornのプロセスがないのは当然なのですが…。 もし使ってるなら、起動してなくてエラーになるのは当然なのでまずunicornを立ち上げる必要があります(多分使ってないので関係ないと思いますが) いいのかわかりませんが、今メッセージに見えるドメインにアクセスしたらRailsのエラー画面っぽいものが見えたので恐らく問題はそこです。 エラーログをもっとよく見てみてください。
tanat

2020/12/10 13:50

アクセスログからはアタックされているであろうことが見受けられるので、Basic認証やIP制限を掛けて攻撃を回避してから問題を切り分ける事をお勧めします
inductor

2020/12/11 10:41

systemctl status nginx journalctl -xe はそれぞれ何を示していますか?
koji_tanimoto

2020/12/12 00:46

yu_1985様 ご連絡ありがとうございます! unicornは使っており、 log/unicorn.stderr.log http_server.rb:205:in `pid=': Already running on PID:13932 (or pid=/var/www/text-31024/tmp/pids/unicorn.pid is stale) (ArgumentError) となっておりますが、 ps aux | grep unicorn ec2-user 24999 0.0 0.0 119436 908 pts/0 S+ 00:40 0:00 grep --color=auto unicorn となっており、PID:13932 が稼働している形跡がありません。 これはどういった状態でしょうか?
koji_tanimoto

2020/12/12 00:48

tanat様 ご連絡ありがとうございます! basic認証は設定しました。IP制限を掛ける為に現在AWSやネットワークの体系的な部分を再学習しております。進展あればご連絡致します。
koji_tanimoto

2020/12/12 01:28 編集

inductor様 ご連絡ありがとうございます! systemctl status nginx Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since 木 2020-12-10 05:29:38 UTC; 1 day 19h ago systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument というエラーになっております。 journalctl -xe -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit session-477.scope has finished starting up. -- -- The start-up result is done. こちらは問題なさそうでしょうか。上記のエラーをヒントに探ってみます!
guest

回答1

0

どうにもunicornがエラーで落ちてしまっているのではという気がしますが、ログの抜粋されたその箇所だけだと変なアクセスがあったであろうことしかわかりませんね…。

/var/www/text-31024/tmp/pids/unicorn.pid
にpidファイルが残っているなら、それを手動で消して再度unicornを立ち上げてみてください。
コマンド例

bash

1sudo rm -f /var/www/text-31024/tmp/pids/unicorn.pid

とりあえずそれで復活はすると思います。
ただ、unicornが起動していない状態になった原因がまだこれではわかりません。
unicornのstderrログをもう少しよく見ると何かしら手がかりがあるかもしれないので抜粋した箇所だけではなく、RoutingErrorでないところをたどってみてください。
あと、攻撃のようなアクセスがあったということで、どの程度のアクセスが有ったのかとか、その間サーバリソースがどうだったのかとかが気になるところです。

投稿2020/12/12 09:16

yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問