実現したいこと
APIモードで作成したRuby on RailsのアプリをAWSにデプロイ
AWS ECSでサービスの作成後タスクが動くようにしたい
前提
AWSのECS サービスの作成をするとエラーがでます
ALBのヘルスチェックで504になる
◽️手順
1.Dockeイメージの作成
2.ECRにpush
3.ECS サービス作成
4.ヘルスチェックで失敗504
ロードバランサーやセキュリティグループの設定も行っています。
サーバ環境 unicornとnginx
発生している問題・エラーメッセージ
Doker-composeでローカル環境での動作確認
localhost:80は502エラーでした
ロードバランサーのログ このエントリは、Cloudflare経由でのリクエストがタイムアウトし、504 Gateway Timeoutが発生したことを示しています。クライアントからのリクエストがターゲットに正常に転送されなかった可能性があります。
ヘルスチェックのエラー
ターゲットグループを確認するとタイムアウトになっていた
Amazon ECS Exec(https://techblog.styleedge.co.jp/entry/2023/05/31/083500) ECS SSH接続 RDS(https://teratail.com/questions/v1nruunpzn1nsx)
などMacからのターミナル操作も失敗します。
該当のソースコード
https://github.com/yon-s/cat-img-api/pull/8
試したこと
Doker-composeでローカル環境での動作確認
localhost:3000にアクセスできました。(Railsの画面)
ただしlocalhost:80は502エラーでした
nginxのエラーログを確認するとなにも書き込まれていません
nginxもunicornも起動していました。
/tmp/sockets/.unicorn.sock
もあります
ECSのログでunicornとnginxは問題なく立ち上がっている
ドメインにアクセスはできるが503/504エラー
Nginxにproxy_read_timeoutを設定
https://www.yokoyan.net/entry/2018/11/08/180708
ECSのセキュリティグループのインバウンドルール
タイプHTTP ソース ロードバランサーのセキュリティグ
ループに設定
https://qiita.com/iloveomelette/items/27f45f6c2c14627a19fd
考えられる原因
https://qiita.com/three_mouth_ago/items/a9d268290fd656700712#%E3%82%BF%E3%82%B9%E3%82%AF%E5%AE%9A%E7%BE%A9
にはないロードバランサーとRoute53(ドメイン設定)を行ったのでその設定周りが怪しい
ECS上のログを確認しようと、EC2インスタンスを作成した。そしてSSH接続をしようとしたがこれもタイムアウト(セキュリティグループ インバウンドルール SSH myipadressに設定済み)
cat-img-api/nginx/nginx.confの設定ミス?
サービス作成設定
ターゲットグループ周り
セキュリティグループ周り
タスク定義
回答2件
あなたの回答
tips
プレビュー