http通信
AWS初学者です。目的は既存のnodeのアプリケーションを外部から通信できるようにすることですが過程でつまずいております。
VPC,サブネット,インターネットゲートウェイ,ルートテーブル,セキュリティグループなどの設定をしてEC2のインスタンスを作成しました。
ポートはSSHとHTTPとカスタムでアプリを公開している9507をインバウンドルールに追加しました。
EC2の中で新規ユーザーを作成し、そちらでプロジェクトを/var/www/[プロジェクト] にgitからcloneして配備しました。
アプリケーションはdocker環境で展開しており、ポートの設定はローカルの9507をコンテナの3000にしています。
これでインスタンスのパブリック IPv4アドレスにポート番号を指定すればアクセスできるのかと思い
[アドレス]:9507にアクセスしてみたところ応答が遅いということでアクセスできませんでした。
インスタンスのページでパブリック IPv4 アドレスがリンクになっていたのでそのままクリックしてアクセスしてみても同様でした。
質問としては
①パブリック IPv4 アドレスはそのままアクセスするとhttp通信で80番通信ということ?の認識ですがこれは何もないから応答がないだけで正常な反応なのでしょうか?オープンアドレスにアクセスできないということはEC2のネットワーク関連の設定でアクセスできないようになっているのでしょうか?セキュリティグループのインバウンドルールにhttp通信の80番ポートを追加しています。
②サーバーにsshでログインして、ローカルでcurlコマンドを使用し、
curl -X GET http://loaclhost:9507
としてみると
curl: (52) Empty reply from server
となりました。これは外部の通信以前にアプリを立ち上げられていないということでしょうか?
現状、外部から通信ができておらずサーバー内でも通信が確認できていません。
(追記)
すみません②に関してポートの設定の変更箇所が複数あったため接続できなかったようです。修正したところ
サーバー内でcurlコマンドでアクセスの確認をしました。
①に関してもパブリックIPアドレス:9507でcurlコマンドをしたところ接続を確認しました。
ほぼ自己解決してしまいましたが、1点だけ質問させてください。
ポートを指定しなかった場合、普通の80番のhttp通信(ブラウザアクセス)でアクセスが拒否されているのはポート自体は開いていてアクセスも拒否していないが何もサービスがないためアクセスが拒否されているという認識でいいでしょうか。
初めての質問でした。次回からできるだけ写真など現状をできるだけ伝えられるよう質問します。
失礼しました。
回答1件
あなたの回答
tips
プレビュー