はじめに
初めましての人もそうでない人もこんにちは!
今回はタイトルの通りエラーが出まくって軽く詰んだことが直近であったので同じようなことがないよう個人的なメモ用として書いていこうと思います!
今回は、2024年11月ごろにエラーが発生し、解決後すぐに記事を書いたのでバージョンの違いなど気をつけてください!
ぜひ最後まで見ていったら嬉しいです!
背景
現在、AWSを使ったChatBotの開発を進めていて、技術はPython
とそのフレームワークであるStreamlit
を使っています!
開発を進めるにあたってインスタンスを起動させてVSコードを使って接続したり、環境構築をしたりなど色々設定をしました!
そしてテスト実行として以下のコードを入力して実行をしました!
import streamlit as st
st.write("streamlit")
するとERR_CONNECTION_TIMED_OUT
というエラーが表示されてしまいました!
調べた感じリージョンであったりセキュリティグループの影響であったりインターネット回線だったりなど様々な要因があるみたいですがどれも課題を解決するには至りませんでした!
当時の状態
- OS:Amazon Linux
- インスタンスタイプ:t2.micro
- 回線:良好(光回線)
- セキュリティグループ:https、http、ssh含めソースは
0.0.0.0/0
- EIP:割当て済み
- リージョン:東京
多くの参考記事を読み込んだり、動画などを見ながらインスタンスを起動したりなどしましたがERR_CONNECTION_TIMED_OUT
の魔の手からは逃れられませんでした!
解決方法
解決方法は本当に単純でした!
Streamlitを使ったことがある方なら分かると思いますが、Streamlitを起動すると8501番ポートで通信を行うのですが、セキュリティグループのインバウンドのルールで8501ポートが設定されていないことが問題でした!
なので「セキュリティグループ」→「インバウンドルールの編集」の順番で移動して編集をしてください!
そして「ルールを追加」→タイプ:カスタムTCP、ポート範囲:8501、ソース:カスタム・0.0.0.0/0を追加して保存してください!
Before
After
おわりに
このエラーを解決するまでにかなりの時間を費やしてしまいました(泣)
皆さんも同じようなエラーに悩まされていたら試されせてはいかがでしょうか?
おそらくすでに同じような解決法が載っているような気がしますがこの記事を参考にしたら「うまく動作した!」となれば幸いです!
今回は試していないのでわからないですがReactなら3000
、Goなら8080
とポート範囲を技術によって入れ替えるだけで使用技術が違うけどエラーの解決に繋がると思います!
今回の記事はいかがだったでしょうか?
またどこかの記事でお会いしましょう!