AWS EC2 に SSH 接続できない・繋がらないときの確認項目

クラウドサービス AWS

AWS の仮想サーバー EC2 に接続できないときの確認項目を解説します。
EC2 インスタンス、ネットワーク、SSH コマンド の3つの観点に分けてチェックしましょう。

EC2 インスタンスが正常に起動していない

EC2 インスタンスが異常となっている場合は接続できません。
管理画面にログインし、該当サーバーの状態を確認します。

AWS EC2 に SSH 接続できないときの確認項目

 

  • 状態が running となっていること
  • ステータスチェックが 2/2 となっていること
ステータスチェックが 0/21/2 の場合は何らかの異常があります。
再起動しても解消しない場合は AWS サポートへ問い合わせましょう。

状態が stopping の場合はサーバーが起動していません。
インスタンスを右クリック → 開始 からサーバーを起動しましょう。

AWS EC2 に SSH 接続できないときの確認項目

EC2 のセキュリティグループを確認する

EC2 には、セキュリティグループ いう考え方があります。
ファイアウォールのような「接続許可設定」をイメージすれば OK です。

サーバーに SSH 接続するためには、セキュリティグループによる許可が必要です。
インスタンスを右クリック → ネットワーキングセキュリティグループの変更 から設定します。

AWS EC2 に SSH 接続できないときの確認項目

 
SSH 接続用のセキュリティグループが入っているかを確認しましょう。
セキュリティグループが存在しない場合は新規作成が必要です。

VPC のサブネット・インターネットゲートウェイを確認する

AWS のネットワークには、外部と通信可能・外部と通信不可の2種類が存在します。
EC2 インスタンスがどちらに所属しているかを確認しましょう。

  • EC2 管理画面を開いてインスタンスを選択する
  • 画面下に表示される サブネット ID を控えておく
AWS EC2 に SSH 接続できないときの確認項目
  • VPC 管理画面を開いて左メニューから サブネット を選択する
  • 先ほど控えた サブネット ID を検索する
  • ルートテーブル タブを開く
AWS EC2 に SSH 接続できないときの確認項目

この中に 0.0.0.0/0 : igw-xxxxxx のような設定があれば OK です。
設定がない場合は、外部と通信できないネットワークになっています。

EC2 のパブリック IP アドレスを確認する

上記の項目を確認し、外部通信可能なネットワークであった場合は、
EC2 インスタンスの IP アドレスを確認しましょう。

EC2 管理画面にて「IPv4パブリック IP」の記載があれば OK です。

AWS EC2 に SSH 接続できないときの確認項目
パブリック IP アドレスを付与しないシステム構成の場合もあります。
その場合は、パブリック IP アドレスを持つ別サーバー(※)上から SSH 接続します。

※踏み台サーバーなどと呼ばれます

SSH 接続用のキーペアを見直す

EC2 インスタンス作成時には、キーペア を指定しています。
作成時に指定したキーペアでないと接続できません。

EC2 管理画面を開き、指定されているキーペアを再確認しましょう。

AWS EC2 に SSH 接続できないときの確認項目

 
また、接続元の PC でもキーペアファイル (xxxx.pem) の確認が必要です。
ファイルの権限が 600 (読み取り専用) となっている必要があります。

SSH の接続コマンドを見直す

SSH で接続する際のコマンドが誤っている可能性もあります。
以下の形式となっているか確認しましょう。

$ ssh <ユーザ名>@<サーバーのパブリック IP> -i <キーペアファイル>
  • EC2 インスタンスの IP アドレスが正しいこと
  • 接続するユーザ名が正しいこと
  • ポート番号を変更している場合は -p オプションで指定します

 
注意点として、OS によって接続ユーザ名が異なります。
Amazon Linux は ec2-user、Ubuntu は ubuntu、CentOS は centos が初期ユーザです。

EC2 インスタンスの接続トラブルまとめ

EC2 インスタンスに繋がらない・接続できない場合の対処を解説しました。
インスタンス、ネットワーク設定、SSH コマンド の3つに分けて調査することが重要です。

  • EC2 インスタンスが正常に動作していること
  • 外部から接続可能なネットワークになっているか
  • SSH コマンドや使用するキーペアファイル

【関連記事】

AWS EC2 インスタンスの特徴と選び方
EC2 インスタンス料金を節約するテクニック
Elastic IPアドレス (EIP) とは何か?
Fargate, ECS, EKS の違いを解説