Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

録音機能(録音したものが表示できるまで)の作成 & 本番環境でのpumactlエラーなど解消 #8

Closed
tomo-kn opened this issue Jun 14, 2022 · 15 comments

Comments

@tomo-kn
Copy link
Owner

tomo-kn commented Jun 14, 2022

すいませんチェッカーBOIトレものまねおサービスURLの技術を参考。

@tomo-kn tomo-kn changed the title 録音機能の作成 録音機能(録音したものが再生できるまで)の作成 Jun 21, 2022
@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 21, 2022

メモ:WebSpeechApiが優秀過ぎて、多少滑舌が悪くてもテキスト変換で補完してしまう。
その問題を解決するために、音声認識をひらがなのみで行うよう工夫する。

→いろいろ調べてみたが、あえて精度を悪くすることはどうやら難しそう。
ワードとしては「縦玉手箱 竹玉手箱 高玉手箱」のみが中々正しく録音されないため、これを除外することで解決とする。
理不尽な変換ミスはひらがな化APIで防ぐことにする。

@tomo-kn tomo-kn changed the title 録音機能(録音したものが再生できるまで)の作成 録音機能(録音したものが表示できるまで)の作成 Jun 21, 2022
@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 21, 2022

↑のメモに対する反論:
recognition.maxAlternatives = 3;にして、console.log(event);でコンソールを開きながら、滑舌を変えて「少女シャンソン歌手新春シャンソンショー」を言ってみた。

すると、confidenceの値が変わった。このconfidenceの値が一番大きいものを採用し、それをひらがな化APIでひらがなにして採点すれば、ある程度厳しくできてゲームとして面白くなるかもしれない。(confidenceの値をaccuracy、つまり精度として登録するのは大いにあり。)

同じように「バナナの謎はまだ謎なのだぞ」に対しても何回か口に出してみたところ、きれいに発音した時は1つしか結果が出なかったのに対し、少し崩して発音したら結果が4つほど出た。
この結果の数に応じて点数を付けても面白いかもしれない。(ただ冷静に考えると、漢字の予測変換の数などでこの数は増減してしまうので、あまり現実的ではない。)

「マサチューセッツ州で魔術師修行中」に関しては、魔術修行中になったり窓口修行中になったり、中々ちょうどいい難易度。魔術”師”を強く言わないと中々反応しない。

#1 の候補を色々実験。

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 21, 2022

結論:

  1. 早口言葉ナビなどに載っている言葉をWebSpeechApiで実験してみて、いい感じの精度で認証してくれる早口言葉を採用する。
  2. 理不尽な変換ミスや採点を阻止するために、BOIトレ同様、読み取った後でひらがな化APIを採用する。
  3. accuracyはevent.results.confidenceの値を、timeはsoundstart~soundendまでの時間を採用。

tomo-kn added a commit that referenced this issue Jun 21, 2022
tomo-kn added a commit that referenced this issue Jun 21, 2022
…:GemNotFound)」エラー解消のため、Gemfileを修正 #8
tomo-kn added a commit that referenced this issue Jun 21, 2022
…ls)エラー解消のため、Dockerfileのprecompileする位置をbundle install直後に変更 #8
@tomo-kn tomo-kn closed this as completed Jun 21, 2022
@tomo-kn tomo-kn reopened this Jun 21, 2022
@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 21, 2022

メモ:今度は本番環境でエラー(泣)以下を解決してから次に進むとする。
①sudo: unable to resolve host 9455341f13634382bc542c6a7c8fa193-497361654: Name or service not known
②/usr/bin/entrypoint.sh: line 5: bin/setup: Permission denied
③bundler: failed to load command: pumactl (/usr/local/bundle/bin/pumactl)

tomo-kn added a commit that referenced this issue Jun 22, 2022
tomo-kn added a commit that referenced this issue Jun 22, 2022
…e or director解消のため、shebangを修正 #8
@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

メモ:
FargateにRailsをデプロイする (CI/CDまでの道⑦)
などの記事を参考に、もう少しインフラについて勉強してもいいタイミングかもしれない。

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

メモ:この記事を参考に、ECS→アカウント設定→AWSVPC Trunkingをオンにしてみました。
ECSにおけるインスタンスのENI制限が大幅に改善されネットワーク設計が簡単になりました!

とりあえず今までのタスクをすべて登録解除して、新しくタスクを定義して実行してみた。
すると、eni4つを1つずつ順番に使い果たしていくことがわかった。
よって、タスクは4つ溜まったら、一度登録解除する必要がある。
→いや、違う。使わなくなったeniIDは自動で削除され、新しいeniIDが自動で割り当てられている。よって、eniについては考慮の必要なし。

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

メモ:下のissueを参考に、ENTRYPOINT [ "sh", "/myapp/entrypoint.sh" ]に変えてみたらいい感じ。
/docker-entrypoint.sh": permission denied

@tomo-kn tomo-kn changed the title 録音機能(録音したものが表示できるまで)の作成 録音機能(録音したものが表示できるまで)の作成 & 本番環境でのpumactlエラーなど解消 Jun 22, 2022
@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

メモ:本番環境のエラーが一向に治らない。とりあえず、ここにメモをしておく。
①2日前の「Fix:Dockerfileにアセットのプリコンパイルを記述 #6 」(commit 50f29bc)までは正常に動いていた。その時のCloudWatchのログがこちら。

<html>
<body>
<!--StartFragment-->

2022-06-20T15:21:20.730+09:00 | sudo: unable to resolve host a841dff75cdb42ffa6bccfe5f82f44f1-497361654: Name or service not known
-- | --
  | 2022-06-20T15:21:20.802+09:00 | Starting nginx: nginx.
  | 2022-06-20T15:21:20.803+09:00 | /usr/bin/entrypoint.sh: line 5: bin/setup: Permission denied
  | 2022-06-20T15:21:22.223+09:00 | Puma starting in single mode...
  | 2022-06-20T15:21:22.223+09:00 | * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version")
  | 2022-06-20T15:21:22.223+09:00 | * Min threads: 5
  | 2022-06-20T15:21:22.223+09:00 | * Max threads: 5
  | 2022-06-20T15:21:22.223+09:00 | * Environment: production
  | 2022-06-20T15:21:22.223+09:00 | * PID: 24
  | 2022-06-20T15:21:30.112+09:00 | * Listening on http://0.0.0.0:3000
  | 2022-06-20T15:21:30.113+09:00 | * Listening on unix:///myapp/tmp/sockets/puma.sock
  | 2022-06-20T15:21:30.116+09:00 | Use Ctrl-C to stop
  | 2022-06-20T15:21:38.681+09:00 | I, [2022-06-20T15:21:38.681273 #24] INFO -- : [9888731c-f7d8-41b3-bc5f-1d8f98e7d92d] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-20 15:21:38 +0900

<!--EndFragment-->
</body>
</html>

実はこの頃も、正常に動いていたとは言え、sudo:unable to resolveエラーと、bin/setup: Permission deniedエラーは同様に出ていた。ただし、Pumaが正常に動いていたので、アプリが起動していた(この頃は単純な画面遷移のみ実装)

②そして今がこちら。

<html>
<body>
<!--StartFragment-->

2022-06-22T21:22:37.306+09:00 | sudo: unable to resolve host 51a8f7da89b74f148608c6c8f02a0a91-497361654: Name or service not known
-- | --
  | 2022-06-22T21:22:37.326+09:00 | Starting nginx: nginx.
  | 2022-06-22T21:22:37.395+09:00 | /myapp/entrypoint.sh: 5: bin/setup: Permission denied
  | 2022-06-22T21:22:38.310+09:00 | bundler: failed to load command: pumactl (/usr/local/bundle/bin/pumactl)
  | 2022-06-22T21:22:38.310+09:00 | /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/definition.rb:484:in `materialize': Could not find minitest-5.16.0 in any of the sources (Bundler::GemNotFound)
  | 2022-06-22T21:22:38.310+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/definition.rb:191:in `specs'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/definition.rb:239:in `specs_for'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/runtime.rb:18:in `setup'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler.rb:162:in `setup'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/setup.rb:20:in `block in <top (required)>'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/ui/shell.rb:136:in `with_level'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/ui/shell.rb:88:in `silence'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/setup.rb:20:in `<top (required)>'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli/exec.rb:56:in `require_relative'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli/exec.rb:56:in `kernel_load'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli/exec.rb:23:in `run'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli.rb:479:in `exec'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli.rb:31:in `dispatch'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/cli.rb:25:in `start'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/exe/bundle:48:in `block in <top (required)>'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/gems/bundler-2.3.16/exe/bundle:36:in `<top (required)>'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/bin/bundle:25:in `load'
  | 2022-06-22T21:22:38.325+09:00 | from /usr/local/bundle/bin/bundle:25:in `<main>'

<!--EndFragment-->
</body>
</html>

いずれは最初の2つのエラーも解消しないと、データベースの設定やらうんぬんが働かないのでダメ。
ただ、今はとにかく「pumactl」。これが動けばOKだし、なぜこれが動かなくなってしまったのか。それを解明したい。

「Fix:Dockerfileにアセットのプリコンパイルを記述 #6 」(commit 50f29bc)から何が変化したのか、何を変化させたからこうなってしまったのか、もう一度よく調査する。

ちなみにアセットのプリコンパイルは、以下の記事を参考。
【Dockerfile全解説】Rails本番環境のための一番シンプルなDockerイメージを作る

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

メモ:エラーメッセージが変わった!!!

<html>
<body>
<!--StartFragment-->

2022-06-22T23:10:26.243+09:00 | sudo: unable to resolve host 2b27d3086ffc4bb199111dbdba21b7f7-497361654: Name or service not known
-- | --
  | 2022-06-22T23:10:26.300+09:00 | We trust you have received the usual lecture from the local System
  | 2022-06-22T23:10:26.300+09:00 | Administrator. It usually boils down to these three things:
  | 2022-06-22T23:10:26.300+09:00 | #1) Respect the privacy of others.
  | 2022-06-22T23:10:26.300+09:00 | #2) Think before you type.
  | 2022-06-22T23:10:26.300+09:00 | #3) With great power comes great responsibility.
  | 2022-06-22T23:10:26.300+09:00 | sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
  | 2022-06-22T23:10:26.300+09:00 | sudo: a password is required
  | 2022-06-22T23:10:26.302+09:00 | /myapp/entrypoint.sh: 6: bin/setup: Permission denied
  | 2022-06-22T23:10:27.800+09:00 | Puma starting in single mode...
  | 2022-06-22T23:10:27.800+09:00 | * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version")
  | 2022-06-22T23:10:27.800+09:00 | * Min threads: 5
  | 2022-06-22T23:10:27.800+09:00 | * Max threads: 5
  | 2022-06-22T23:10:27.800+09:00 | * Environment: production
  | 2022-06-22T23:10:27.800+09:00 | * PID: 11
  | 2022-06-22T23:10:35.319+09:00 | * Listening on http://0.0.0.0:3000
  | 2022-06-22T23:10:35.406+09:00 | Permission denied - connect(2) for /myapp/tmp/sockets/puma.sock

<!--EndFragment-->
</body>
</html>

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

よっしゃーー!!解決したー!!!

<html>
<body>
<!--StartFragment-->

2022-06-22T23:17:07.430+09:00 | sudo: unable to resolve host d18b7ff869bd471c9ddf1e351cd02035-497361654: Name or service not known
-- | --
  | 2022-06-22T23:17:07.503+09:00 | Starting nginx: nginx.
  | 2022-06-22T23:17:07.815+09:00 | == Installing dependencies ==
  | 2022-06-22T23:17:09.732+09:00 | The Gemfile's dependencies are satisfied
  | 2022-06-22T23:17:09.740+09:00 | == Command ["bin/yarn"] failed ==
  | 2022-06-22T23:17:11.324+09:00 | Puma starting in single mode...
  | 2022-06-22T23:17:11.324+09:00 | * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version")
  | 2022-06-22T23:17:11.324+09:00 | * Min threads: 5
  | 2022-06-22T23:17:11.324+09:00 | * Max threads: 5
  | 2022-06-22T23:17:11.324+09:00 | * Environment: production
  | 2022-06-22T23:17:11.324+09:00 | * PID: 30
  | 2022-06-22T23:17:19.616+09:00 | * Listening on http://0.0.0.0:3000
  | 2022-06-22T23:17:19.616+09:00 | * Listening on unix:///myapp/tmp/sockets/puma.sock
  | 2022-06-22T23:17:19.618+09:00 | Use Ctrl-C to stop
  | 2022-06-22T23:17:22.383+09:00 | I, [2022-06-22T23:17:22.383355 #30] INFO -- : [2216c7fd-85a3-477b-bf57-6e706ff8a5f9] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:17:22 +0900
  | 2022-06-22T23:17:22.384+09:00 | I, [2022-06-22T23:17:22.384655 #30] INFO -- : [ff8a9e40-fe1e-4845-8845-75e802a36c3d] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:17:22 +0900
  | 2022-06-22T23:17:22.390+09:00 | I, [2022-06-22T23:17:22.385978 #30] INFO -- : [2216c7fd-85a3-477b-bf57-6e706ff8a5f9] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:17:22.390+09:00 | I, [2022-06-22T23:17:22.386305 #30] INFO -- : [ff8a9e40-fe1e-4845-8845-75e802a36c3d] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:17:22.390+09:00 | I, [2022-06-22T23:17:22.390680 #30] INFO -- : [ff8a9e40-fe1e-4845-8845-75e802a36c3d] Completed 200 OK in 4ms (Allocations: 488)
  | 2022-06-22T23:17:22.391+09:00 | I, [2022-06-22T23:17:22.391683 #30] INFO -- : [2216c7fd-85a3-477b-bf57-6e706ff8a5f9] Completed 200 OK in 0ms (Allocations: 157)
  | 2022-06-22T23:17:52.309+09:00 | I, [2022-06-22T23:17:52.309875 #30] INFO -- : [729ec583-8a35-4a56-9c71-43aca5905a03] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:17:52 +0900
  | 2022-06-22T23:17:52.310+09:00 | I, [2022-06-22T23:17:52.310894 #30] INFO -- : [729ec583-8a35-4a56-9c71-43aca5905a03] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:17:52.311+09:00 | I, [2022-06-22T23:17:52.311380 #30] INFO -- : [729ec583-8a35-4a56-9c71-43aca5905a03] Completed 200 OK in 0ms (Allocations: 157)
  | 2022-06-22T23:17:52.319+09:00 | I, [2022-06-22T23:17:52.319437 #30] INFO -- : [a1b5ffe3-4be2-45ff-98a7-09cd35f8a04f] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:17:52 +0900
  | 2022-06-22T23:17:52.321+09:00 | I, [2022-06-22T23:17:52.321255 #30] INFO -- : [a1b5ffe3-4be2-45ff-98a7-09cd35f8a04f] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:17:52.322+09:00 | I, [2022-06-22T23:17:52.321978 #30] INFO -- : [a1b5ffe3-4be2-45ff-98a7-09cd35f8a04f] Completed 200 OK in 1ms (Allocations: 157)
  | 2022-06-22T23:18:22.329+09:00 | I, [2022-06-22T23:18:22.329371 #30] INFO -- : [6c83adbc-a683-4c75-9d95-f453cad36940] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:18:22 +0900
  | 2022-06-22T23:18:22.330+09:00 | I, [2022-06-22T23:18:22.330074 #30] INFO -- : [6c83adbc-a683-4c75-9d95-f453cad36940] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:18:22.330+09:00 | I, [2022-06-22T23:18:22.330760 #30] INFO -- : [6c83adbc-a683-4c75-9d95-f453cad36940] Completed 200 OK in 1ms (Allocations: 157)
  | 2022-06-22T23:18:22.340+09:00 | I, [2022-06-22T23:18:22.340604 #30] INFO -- : [ae5b513c-11ec-4b69-a082-bf3e84bfa8ff] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:18:22 +0900
  | 2022-06-22T23:18:22.341+09:00 | I, [2022-06-22T23:18:22.341451 #30] INFO -- : [ae5b513c-11ec-4b69-a082-bf3e84bfa8ff] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:18:22.342+09:00 | I, [2022-06-22T23:18:22.341947 #30] INFO -- : [ae5b513c-11ec-4b69-a082-bf3e84bfa8ff] Completed 200 OK in 0ms (Allocations: 153)
  | 2022-06-22T23:18:52.342+09:00 | I, [2022-06-22T23:18:52.342631 #30] INFO -- : [ab39c00c-8a0f-49aa-9e70-6dadaef184be] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:18:52 +0900
  | 2022-06-22T23:18:52.344+09:00 | I, [2022-06-22T23:18:52.344113 #30] INFO -- : [ab39c00c-8a0f-49aa-9e70-6dadaef184be] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:18:52.344+09:00 | I, [2022-06-22T23:18:52.344662 #30] INFO -- : [ab39c00c-8a0f-49aa-9e70-6dadaef184be] Completed 200 OK in 0ms (Allocations: 153)
  | 2022-06-22T23:18:52.371+09:00 | I, [2022-06-22T23:18:52.371029 #30] INFO -- : [5a419547-32ff-46eb-b2eb-82dd12aec046] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:18:52 +0900
  | 2022-06-22T23:18:52.371+09:00 | I, [2022-06-22T23:18:52.371747 #30] INFO -- : [5a419547-32ff-46eb-b2eb-82dd12aec046] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:18:52.372+09:00 | I, [2022-06-22T23:18:52.372189 #30] INFO -- : [5a419547-32ff-46eb-b2eb-82dd12aec046] Completed 200 OK in 0ms (Allocations: 153)
  | 2022-06-22T23:19:17.423+09:00 | I, [2022-06-22T23:19:17.423221 #30] INFO -- : [1e4ea395-1451-4072-9b89-6a445d7b7126] Started GET "/" for 123.218.69.10 at 2022-06-22 23:19:17 +0900
  | 2022-06-22T23:19:17.424+09:00 | I, [2022-06-22T23:19:17.423957 #30] INFO -- : [1e4ea395-1451-4072-9b89-6a445d7b7126] Processing by PagesController#index as HTML
  | 2022-06-22T23:19:17.430+09:00 | I, [2022-06-22T23:19:17.430121 #30] INFO -- : [1e4ea395-1451-4072-9b89-6a445d7b7126] Rendered pages/index.html.erb within layouts/application (Duration: 1.0ms \| Allocations: 201)
  | 2022-06-22T23:19:17.431+09:00 | I, [2022-06-22T23:19:17.431450 #30] INFO -- : [1e4ea395-1451-4072-9b89-6a445d7b7126] Rendered layout layouts/application.html.erb (Duration: 2.4ms \| Allocations: 1016)
  | 2022-06-22T23:19:17.431+09:00 | I, [2022-06-22T23:19:17.431709 #30] INFO -- : [1e4ea395-1451-4072-9b89-6a445d7b7126] Completed 500 Internal Server Error in 8ms (Allocations: 3207)
  | 2022-06-22T23:19:17.433+09:00 | F, [2022-06-22T23:19:17.433390 #30] FATAL -- : [1e4ea395-1451-4072-9b89-6a445d7b7126]
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] ActionView::Template::Error (The asset "application.css" is not present in the asset pipeline.
  | 2022-06-22T23:19:17.433+09:00 | ):
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 6: <%= csrf_meta_tags %>
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 7: <%= csp_meta_tag %>
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 8:
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 9: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 10: <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 11:
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] 12: <%= favicon_link_tag('favicon.ico') %>
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126]
  | 2022-06-22T23:19:17.433+09:00 | [1e4ea395-1451-4072-9b89-6a445d7b7126] app/views/layouts/application.html.erb:9

<!--EndFragment-->
</body>
</html>

新しいエラー出たけど、これはassets:precompileをいじくれば何とかなりそうやな。
Dockerfileって順番が大事なんやな。勉強になった。

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

<html>
<body>
<!--StartFragment-->

2022-06-22T23:38:33.314+09:00 | sudo: unable to resolve host a138e9fe166a40218aa536ec3cc6009a-497361654: Name or service not known
-- | --
  | 2022-06-22T23:38:33.385+09:00 | Starting nginx: nginx.
  | 2022-06-22T23:38:33.685+09:00 | == Installing dependencies ==
  | 2022-06-22T23:38:35.503+09:00 | The Gemfile's dependencies are satisfied
  | 2022-06-22T23:38:36.702+09:00 | yarn install v1.22.19
  | 2022-06-22T23:38:37.297+09:00 | [1/4] Resolving packages...
  | 2022-06-22T23:38:41.190+09:00 | [2/4] Fetching packages...
  | 2022-06-22T23:40:04.083+09:00 | [3/4] Linking dependencies...
  | 2022-06-22T23:40:37.385+09:00 | [4/4] Building fresh packages...
  | 2022-06-22T23:40:39.695+09:00 | Done in 123.00s.
  | 2022-06-22T23:40:39.800+09:00 | == Preparing database ==
  | 2022-06-22T23:40:49.101+09:00 | I, [2022-06-22T23:40:49.101362 #56] INFO -- : Migrating to CreatePractices (20220620110711)
  | 2022-06-22T23:40:49.104+09:00 | == 20220620110711 CreatePractices: migrating ==================================
  | 2022-06-22T23:40:49.104+09:00 | -- create_table(:practices)
  | 2022-06-22T23:40:49.223+09:00 | -> 0.1181s
  | 2022-06-22T23:40:49.223+09:00 | == 20220620110711 CreatePractices: migrated (0.1183s) =========================
  | 2022-06-22T23:40:49.234+09:00 | I, [2022-06-22T23:40:49.234771 #56] INFO -- : Migrating to CreateSentences (20220620110935)
  | 2022-06-22T23:40:49.235+09:00 | == 20220620110935 CreateSentences: migrating ==================================
  | 2022-06-22T23:40:49.235+09:00 | -- create_table(:sentences)
  | 2022-06-22T23:40:49.262+09:00 | -> 0.0271s
  | 2022-06-22T23:40:49.262+09:00 | == 20220620110935 CreateSentences: migrated (0.0272s) =========================
  | 2022-06-22T23:40:49.268+09:00 | I, [2022-06-22T23:40:49.268394 #56] INFO -- : Migrating to CreateJudges (20220620110949)
  | 2022-06-22T23:40:49.269+09:00 | == 20220620110949 CreateJudges: migrating =====================================
  | 2022-06-22T23:40:49.269+09:00 | -- create_table(:judges)
  | 2022-06-22T23:40:49.296+09:00 | -> 0.0264s
  | 2022-06-22T23:40:49.296+09:00 | == 20220620110949 CreateJudges: migrated (0.0266s) ============================
  | 2022-06-22T23:40:49.387+09:00 | == Removing old logs and tempfiles ==
  | 2022-06-22T23:40:52.594+09:00 | == Restarting application server ==
  | 2022-06-22T23:41:01.388+09:00 | Puma starting in single mode...
  | 2022-06-22T23:41:01.388+09:00 | * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version")
  | 2022-06-22T23:41:01.388+09:00 | * Min threads: 5
  | 2022-06-22T23:41:01.388+09:00 | * Max threads: 5
  | 2022-06-22T23:41:01.388+09:00 | * Environment: production
  | 2022-06-22T23:41:01.388+09:00 | * PID: 60
  | 2022-06-22T23:41:06.078+09:00 | * Listening on http://0.0.0.0:3000
  | 2022-06-22T23:41:06.079+09:00 | * Listening on unix:///myapp/tmp/sockets/puma.sock
  | 2022-06-22T23:41:06.082+09:00 | Use Ctrl-C to stop
  | 2022-06-22T23:41:17.158+09:00 | I, [2022-06-22T23:41:17.154127 #60] INFO -- : [cf79e5e2-40a7-4944-8a58-0c11e4697b6e] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:41:17 +0900
  | 2022-06-22T23:41:17.158+09:00 | I, [2022-06-22T23:41:17.154651 #60] INFO -- : [f3d33dff-f89b-48bd-8e77-6cd8cbd31e4b] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-22 23:41:17 +0900
  | 2022-06-22T23:41:17.158+09:00 | I, [2022-06-22T23:41:17.156408 #60] INFO -- : [f3d33dff-f89b-48bd-8e77-6cd8cbd31e4b] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:41:17.161+09:00 | I, [2022-06-22T23:41:17.161263 #60] INFO -- : [f3d33dff-f89b-48bd-8e77-6cd8cbd31e4b] Completed 200 OK in 5ms (Allocations: 488)
  | 2022-06-22T23:41:17.162+09:00 | I, [2022-06-22T23:41:17.162760 #60] INFO -- : [cf79e5e2-40a7-4944-8a58-0c11e4697b6e] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-22T23:41:17.163+09:00 | I, [2022-06-22T23:41:17.163686 #60] INFO -- : [cf79e5e2-40a7-4944-8a58-0c11e4697b6e] Completed 200 OK in 0ms (Allocations:

<!--EndFragment-->
</body>
</html>

ここで止まっちゃったなぁ。アプリには「We're sorry, but something went wrong.」が表示されているから、何かがおかしい。
やっぱりsudo service nginx startができていないと考えるしかないかな?

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 22, 2022

Task failed ELB health checks in (target-group arn:aws:elasticloadbalancing:ap-northeast-1:621122484224:targetgroup/ecs-hayakuchi-service-tg/1856544eeb595f7e)

ログにエラーはない!
あともう一息!な気がする。

=====
メモ:
コンテナのメモリ1GB、ヘルスチェックの猶予期間を300、ヘルスチェックのタイムアウトを20秒に設定したが、それでもアンヘルシーだった。HTTPやHTTPS通信が関係しているのかな?明日はヘルスチェックをクリアするところから始めよう。
①HTTPSに揃える
②ターゲットタイプをインスタンスに変える
③nginxをentrypoint.shで実行(採用)

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 23, 2022

/myapp/entrypoint.sh: 3: systemctl: not foundが出たので、serviceに戻す。

<html>
<body>
<!--StartFragment-->

Starting nginx: nginx.
--
  | 2022-06-23T12:26:50.863+09:00 | == Installing dependencies ==
  | 2022-06-23T12:26:52.651+09:00 | The Gemfile's dependencies are satisfied
  | 2022-06-23T12:26:53.767+09:00 | yarn install v1.22.19
  | 2022-06-23T12:26:54.447+09:00 | [1/4] Resolving packages...
  | 2022-06-23T12:26:57.954+09:00 | [2/4] Fetching packages...
  | 2022-06-23T12:28:20.061+09:00 | [3/4] Linking dependencies...
  | 2022-06-23T12:28:53.752+09:00 | [4/4] Building fresh packages...
  | 2022-06-23T12:28:56.049+09:00 | Done in 122.29s.
  | 2022-06-23T12:28:56.146+09:00 | == Preparing database ==
  | 2022-06-23T12:29:05.065+09:00 | == Removing old logs and tempfiles ==
  | 2022-06-23T12:29:08.070+09:00 | == Restarting application server ==
  | 2022-06-23T12:29:16.358+09:00 | Puma starting in single mode...
  | 2022-06-23T12:29:16.358+09:00 | * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version")
  | 2022-06-23T12:29:16.358+09:00 | * Min threads: 5
  | 2022-06-23T12:29:16.358+09:00 | * Max threads: 5
  | 2022-06-23T12:29:16.358+09:00 | * Environment: production
  | 2022-06-23T12:29:16.358+09:00 | * PID: 61
  | 2022-06-23T12:29:20.568+09:00 | * Listening on http://0.0.0.0:3000
  | 2022-06-23T12:29:20.645+09:00 | * Listening on unix:///myapp/tmp/sockets/puma.sock
  | 2022-06-23T12:29:20.647+09:00 | Use Ctrl-C to stop
  | 2022-06-23T12:29:34.351+09:00 | I, [2022-06-23T12:29:34.351593 #61] INFO -- : [a30598ec-9ff4-4d3d-a635-566b1518ec74] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-23 12:29:34 +0900
  | 2022-06-23T12:29:34.353+09:00 | I, [2022-06-23T12:29:34.353846 #61] INFO -- : [a30598ec-9ff4-4d3d-a635-566b1518ec74] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-23T12:29:34.361+09:00 | I, [2022-06-23T12:29:34.361614 #61] INFO -- : [a30598ec-9ff4-4d3d-a635-566b1518ec74] Completed 200 OK in 8ms (Allocations: 488)
  | 2022-06-23T12:29:34.370+09:00 | I, [2022-06-23T12:29:34.370402 #61] INFO -- : [fa9398c3-7f34-4775-9205-439f63a562c3] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-23 12:29:34 +0900
  | 2022-06-23T12:29:34.371+09:00 | I, [2022-06-23T12:29:34.371147 #61] INFO -- : [fa9398c3-7f34-4775-9205-439f63a562c3] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-23T12:29:34.371+09:00 | I, [2022-06-23T12:29:34.371537 #61] INFO -- : [fa9398c3-7f34-4775-9205-439f63a562c3] Completed 200 OK in 0ms (Allocations: 157)
  | 2022-06-23T12:30:04.388+09:00 | I, [2022-06-23T12:30:04.387983 #61] INFO -- : [9017242d-ec5f-433b-a987-90384907daa6] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-23 12:30:04 +0900
  | 2022-06-23T12:30:04.388+09:00 | I, [2022-06-23T12:30:04.388730 #61] INFO -- : [9017242d-ec5f-433b-a987-90384907daa6] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-23T12:30:04.389+09:00 | I, [2022-06-23T12:30:04.389191 #61] INFO -- : [9017242d-ec5f-433b-a987-90384907daa6] Completed 200 OK in 0ms (Allocations: 157)
  | 2022-06-23T12:30:04.404+09:00 | I, [2022-06-23T12:30:04.404317 #61] INFO -- : [bd0ae06b-91bc-4fd3-b0a8-0d75831fe0af] Started GET "/api/v1/health_check" for 127.0.0.1 at 2022-06-23 12:30:04 +0900
  | 2022-06-23T12:30:04.406+09:00 | I, [2022-06-23T12:30:04.405956 #61] INFO -- : [bd0ae06b-91bc-4fd3-b0a8-0d75831fe0af] Processing by Api::V1::HealthCheckController#index as HTML
  | 2022-06-23T12:30:04.406+09:00 | I, [2022-06-23T12:30:04.406607 #61] INFO -- : [bd0ae06b-91bc-4fd3-b0a8-0d75831fe0af] Completed 200 OK in 0ms (Allocations: 157)
  | 2022-06-23T12:30:31.498+09:00 | I, [2022-06-23T12:30:31.498125 #61] INFO -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] Started GET "/" for 123.218.69.10 at 2022-06-23 12:30:31 +0900
  | 2022-06-23T12:30:31.498+09:00 | I, [2022-06-23T12:30:31.498851 #61] INFO -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] Processing by PagesController#index as HTML
  | 2022-06-23T12:30:31.503+09:00 | I, [2022-06-23T12:30:31.503224 #61] INFO -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] Rendered pages/index.html.erb within layouts/application (Duration: 0.4ms \| Allocations: 201)
  | 2022-06-23T12:30:31.504+09:00 | I, [2022-06-23T12:30:31.504543 #61] INFO -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] Rendered layout layouts/application.html.erb (Duration: 1.7ms \| Allocations: 1016)
  | 2022-06-23T12:30:31.504+09:00 | I, [2022-06-23T12:30:31.504892 #61] INFO -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] Completed 500 Internal Server Error in 6ms (Allocations: 3216)
  | 2022-06-23T12:30:31.506+09:00 | F, [2022-06-23T12:30:31.505939 #61] FATAL -- : [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915]
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] ActionView::Template::Error (The asset "application.css" is not present in the asset pipeline.
  | 2022-06-23T12:30:31.506+09:00 | ):
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 6: <%= csrf_meta_tags %>
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 7: <%= csp_meta_tag %>
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 8:
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 9: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 10: <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 11:
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] 12: <%= favicon_link_tag('favicon.ico') %>
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915]
  | 2022-06-23T12:30:31.506+09:00 | [3b2aa60f-631a-4ebf-8ec5-6eb6f7f29915] app/views/layouts/application.html.erb:9

<!--EndFragment-->
</body>
</html>

アセットのプリコンパイルがやはり上手くいっていない。
COPYした後にするべきなのかな?順番が重要っぽい。昔のコミットを見返してみたり、色々調べたりしてみよう。

@tomo-kn
Copy link
Owner Author

tomo-kn commented Jun 23, 2022

ヘルスチェックの猶予期間が短かったので、300→900に変更したら、ちゃんと表示されました!!^^
ちなみに、コンテナのメモリは1GBです。

まだdb:seedがされていなかったりと、問題はありますが、とりあえず本番環境でのエラー解消が目的だったので、これにて解決とします。
残りの本番環境でやるべきことは、少しずつやっていきましょう。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant