こんにちは!管理栄養士×エンジニアのyushiです!
今回は、AWS(AmazonWebService)で環境構築をしている際に起きたエラーについて、書いていこうと思います。
EC2インスタンスを立ち上げて、ターミナル画面でssh接続をしたらエラーが起きたので、
かなり初歩的かとは思いますが自分の理解とアウトプットの為に記録と同じ問題で悩んでいる方の助けに少しでもなればと思います!
EC2インスタンス立ち上げ
EC2インスタンスを立ち上げます。
・AMIの設定
Linux2で作成します。
・インスタンスタイプの設定
無料枠のt2.microを選択します。
・インスタンスの設定
ここでデフォルトのVPCを設定しております。
このVPCがssh接続エラーの原因となっていて、後に確認する場所となってきます。
・4:ストレージの追加は、特に変更なしで何もいじりません。
・5:タグは、任意なので割愛します。
・セキュリティーグループの設定
セキュリティーグループは、HTTPとHTTPSを設定。
ソースは、フルオープンにしておきます。
EC2インスタンスが立ち上がりました!
このEC2インスタンスを使って、次からsshアクセスをしていきます。
ssh接続時に起きたエラー
EC2インスタンスを立ち上げ後、ターミナルからssh接続をしようとした時…
以下のようなエラーが出ました。
ssh: connect to host (パブリックIP) port 22: Operation timed out
まず確認したのは、SSHのポート番号です。
しっかりと開いていましたので、問題なしでした。
VPC側に問題があるのでは…?と仮説を立てる
なぜここでVPCが原因なんじゃないかと感じたかというと、EC2立ち上げ時にデフォルトのVPCを選択したからですね!
VPCには、問題がなさそうでした。
しかし、VPCには、ルートテーブル(サブネット毎にどこに通信できるか定めたもの)が設定されています。
このルートテーブルに問題があるのではないかと更に深掘りをして見ていくことにしました!
そうしたら…
なんとigw(インターネットゲートウェイ)がactiveになっていませんでした…(画像は修正後なので、activeになっています)
ここをしっかりとactive(ルートテーブル選択→ルート→igw追加)にしてから再びssh接続です!
ログインすることができました!