2回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
タスクをALBに紐づけないで1つだけ起動することは可能ですか?
ECSクラスターの画面からタスクを起動して同じVPC内のEC2などから「/healthcheck」に対して正常に接続できるか確認してみてください。
接続確認はEC2から以下のコマンドで行えると思います。
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/standalone-task-create.html
curl http://ECSタスクのプライベートIPアドレス/healthcheck
また、タスクのログなどを確認して「/healthcheck」にアクセスが発生しているか確認してみてください。
0
ご回答ありがとうございます!
まず頂いた記事に基づいてサービスを介さずにタスクを起動してみました。 タスクにセキュリティグループを設定する必要があったため、新規にセキュリティグループを作成して設定しました。 インバウンドルールは以下のようになっています。
続いてEC2インスタンスが無かったため、同じVPC内にEC2インスタンスを新規作成してsshでインスタンスに入り、接続確認を試みました。 以下、実行結果になります。
[ec2-user@ip-10-0-3-58 ~]$ curl http://10.0.24.193/healthcheck
curl: (7) Failed to connect to 10.0.24.193 port 80 after 2 ms: Couldn't connect to server
タスクのログも確認しましたが今回作成したタスクも他のタスクもRails起動時のログがあるのみでアクセスログは見当たりませんでした。
回答済み 1ヶ月前
関連するコンテンツ
- 質問済み 4年前
- 質問済み 1年前
- AWS公式更新しました 6ヶ月前
- AWS公式更新しました 1ヶ月前
- AWS公式更新しました 2年前
ご回答ありがとうございます! すみません、コメントにて画像など貼れなかったため'回答を追加する'から追記させていただきます。
Railsのポート番号は80番で合っていまでしょうか? 少し調べてみたところデフォルトだと3000番を使用しているといった情報が出てきました。 つまり、アプリケーション側のリスナーポートが誤っていてアクセスに失敗しているのではないかと予想しています。
仰る通りrailsは3000番を開放していました。 お恥ずかしながら完全に盲点でした・・・
railsに合わせてECSのタスク定義を3000番に変更、更にターゲットグループ、ecs-sgのインバウンドルールを修正したところヘルスチェックが成功し、アプリでもフロントと疎通することが出来ました。 大変助かりました、ありがとうございました。