web-dev-qa-db-ja.com

EC2インスタンスにアクセスしようとしたときのタイムアウトの考えられる理由

インスタンスにSSHで接続できません-操作がタイムアウトしました。理由は何ですか、それを解決するにはどうすればよいですか?通常、再起動は有効になるまでに長い時間がかかり、事態を悪化させる可能性があります

更新:許可に関するものではありません-通常は正常にログインできます。メモリの問題が原因の可能性があります

91
ming yeow

インスタンスに適切なセキュリティグループを設定しましたか?つまりネットワークからインスタンスのポート22へのアクセスを許可するもの。 (デフォルトでは、すべてのトラフィックは許可されていません。)

更新:OK、セキュリティグループの問題ではありません。しかし、同じAMIから別のインスタンスを起動してアクセスしようとすると、問題は解決しませんか?たぶん、この特定のEC2インスタンスは何らかの形でランダムに失敗しました。そのようなことが起こるのは時間の問題です。 (推奨読書: Architecting for the Cloud:Best Practices (PDF)、AmazonのWebサービスエバンジェリストであるJinesh Variaの論文。特に「失敗に備えて何も失敗しない」というタイトルのセクションを参照してください。 )

63
Jonik

私も同じ問題を抱えていたため、解決策は、ローカルマシンのIPをアクティブなセキュリティグループの受信ルールのリストに追加することでした。以下の受信ダイアログで、ポート範囲に22、ソースフィールドに local IP /32を入力し、ドロップダウンに「カスタムtcpルール」を残します。

enter image description here

85
ted.strauss

破壊して新たに作成する

接続できるアベイラビリティゾーンと、接続できない別のゾーンがありました。数時間後、私はとてもイライラして、その可用性ゾーンのすべてを削除しました。

すべてを元に戻すには、すべてを作成する必要がありました。これに含まれるもの:

  • 作成[〜#〜] vpc [〜#〜]
    • CIDR: 10.0.0.0/24
  • 作成インターネットゲートウェイ
  • インターネットゲートウェイ[〜#〜] vpc [〜#〜]に接続します
  • 作成ルーティングテーブル
  • ルートルーティングテーブル に追加します
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • 作成サブネット
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

これをすべて手に入れるのに手間がかかりました。最も効率的だと思われる方法でステップを注文しましたが、次のアイテムを利用できるように調整する必要があるかもしれません。

提案

私がやったように熱核に行くことを提案しているのではありません。これらの関連性を確認して、適切なものであることを確認できるように、すべての情報を提供しています。

26
Bruno Bronosky

この答えは、(私のような)愚かな人々向けです。 EC2のパブリックDNSは、再起動すると変更される可能性があります。これに気づかずに古いパブリックDNSにSSHで接続しようとすると、接続が停止してタイムアウトになります。これにより、EC2またはセキュリティグループに何か問題があると思われる可能性があります。そして、~/.ssh/configファイルが必要な場合!

20
dslosky

接続するには、次のようにsshを使用します。

ssh -i keyname.pem [email protected]

keyname.pemはプライベートキーの名前、usernameはosディストリビューションの正しいユーザー名、xxx.xx.xxx.xxはパブリックIPアドレスです。

タイムアウトまたは失敗した場合は、次を確認してください。

セキュリティグループ

tcp port 22およびすべてのipsまたは自分のipのインバウンドルールがあることを確認してください。インスタンスのオプションのec2メニューからセキュリティグループを見つけることができます。

ルーティングテーブル

Vpcの新しいサブネットの場合、.0.0.0/0 to internet gateway targetを指すルーティングテーブルに変更する必要があります。 vpcでサブネットを作成すると、デフォルトでデフォルトのルーティングテーブルが割り当てられますが、これはおそらくインターネットからの着信トラフィックを受け入れません。 vpcメニューでルーティングテーブルオプションを編集してから、サブネットを編集できます。

エラスティックIP

Vpcのインスタンスの場合、パブリックエラスティックIPアドレスを割り当てて、インスタンスに関連付ける必要があります。プライベートIPアドレスは外部からアクセスできません。 ec2メニュー(インスタンスメニューではない)でElastic IPを取得できます。

Username

正しいユーザー名を使用していることを確認してください。 ec2-userまたはrootまたはubuntuのいずれかでなければなりません。必要に応じてすべて試してください。

秘密鍵

正しい秘密キー(インスタンスの起動時にダウンロードまたは選択したもの)を使用していることを確認してください。当たり前のように思えますが、コピーペーストで2回取得しました。

11
AJcodez

インスタンスからのコンソール出力を見ましたか?これは AWSコンソール (インスタンス->インスタンスを右クリック->システムログの取得)を使用して実行できます。 EC2インスタンスのネットワークサービスが正しく開始できず、SSH接続がタイムアウトすることがありました。通常、インスタンスを再起動すると問題が修正されました。

7
gareth_bowles

enter image description here

これを見つけた2時間後

Ssh ip 120.138.105.251/32

  • IS IPアドレスではありません

  • ローカルIPではありません127.0.0.1

  • ローカルIP localhostではありません

BUT BUT BUT

そのYourあなたのパーソナルコンピュータのパブリックIPアドレスAWSインスタンスにアクセスする

  1. https://www.whatismyip.com/ に入力したIPアドレスsshに移動します

すべてのIPアドレスへのSSHを完全に開きたい場合enter image description here

THIS ISどのように完全にアクセス可能なエントリが表示されるか-基本的な推奨事項enter image description here

THIS IS本番で使用しているものenter image description here

2
vijay

ルールを適用したら、Ec2インスタンスを再起動するだけです

1
Shaz

考えられる問題は次のとおりです。

  • 最も可能性が高いのは、ポート22でi.pにSSHアクセスを提供するようにセキュリティグループが適切に構成されていないことです。セキュリティ設定を変更しても、サーバーを有効にするためにサーバーを再起動する必要はありませんが、サーバーが適用されるまで数分待つ必要があります。

  • ローカルファイアウォール構成では、サーバーへのSSHアクセスが許可されていません。 (別のインターネット接続、電話/ドングルを試してみることができます)

  • サーバーが適切に起動されていません(その後、Amazonコンソールでもアクセスチェックが失敗します)。その場合、サーバーを停止して起動する必要があります。

1
pradosh nair

インスタンスで作業していましたが、大丈夫でした。翌日、インスタンスにSSHで接続しようとしました-接続タイムアウト。

私はこの投稿を試してみましたが、何も機能しませんでした。だから私はやった-

Edit inbound rulesソース列からMY IPを選択すると、CIDR形式でパブリックIPアドレスが自動的に入力されます(XXX.XXX.XXX.XX/32)。

ローカルIPを提供して@ ted.straussの回答を試しましたが、私の場合は役に立ちませんでした。それで、私は自分のIPを選択しましたが、うまくいきました。

これが誰かを助けることを願っています!

0
rbashish

パスワードのないパブリックWifiを使用していたときに、同様の問題が発生しました。インターネット接続を安全な接続に切り替えることで問題は解決しました。

0
Bharath Ram

もう1つの可能性。 AWSセキュリティグループは、特定の着信IPアドレスでのみ動作するように設定されています。セキュリティグループがこのように設定されている場合、あなた(またはアカウント所有者)はセキュリティグループにIPアドレスを追加する必要があります。これを行うには、AWSダッシュボードを開き、セキュリティグループを選択し、セキュリティグループを選択して、[受信]タブをクリックします。次に、必要に応じてIPを追加します。

0
LA Ferguson

同じ問題があり、セキュリティグループにルールを追加することで解決しました

インバウンドSSH 0.0.0.0/0

または、IPアドレスのみを追加できます

0
Majali

AWSドキュメントのこのヘルプページをご覧ください。

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout おそらくそこにソリューションがあります。私にとって、この部分は修正を行いました:

[EC2-VPC]サブネットのルートテーブルを確認します。 VPCの外部を宛先とするすべてのトラフィックをVPCのインターネットゲートウェイに送信するルートが必要です。

  • https://console.aws.Amazon.com/vpc/ でAmazon VPCコンソールを開きます。

  • ナビゲーションウィンドウで、[インターネットゲートウェイ]を選択します。 VPCにインターネットゲートウェイが接続されていることを確認します。それ以外の場合は、[インターネットゲートウェイの作成]を選択し、指示に従ってインターネットゲートウェイを作成し、インターネットゲートウェイを選択し、[VPCにアタッチ]を選択し、指示に従ってVPCにアタッチします。

  • ナビゲーションペインで[サブネット]を選択し、サブネットを選択します。

  • [ルートテーブル]タブで、宛先として0.0.0.0/0を持ち、ターゲットとしてVPCのインターネットゲートウェイを持つルートがあることを確認します。それ以外の場合は、ルートテーブルのID(rtb-xxxxxxxx)を選択してルートテーブルの[ルート]タブに移動し、[編集]、[別のルートを追加]を選択し、[宛先]に0.0.0.0/0を入力し、[ターゲット]からインターネットゲートウェイを選択してから、保存を選択します。

しかし、上記のリンクがカバーするすべてのオプションをチェックすることをお勧めします。あなたが見つけた1つ以上の問題があるかもしれません。

0
Meltzer

私の問題-「マイIP」用にポート22を開いて、インターネット接続とIPアドレスの変更を変更しました。そのため、元に戻す必要がありました。

0
smDev

VPCサブネットのインスタンスに対してインターネットからのsshアクセスを有効にするには、次の手順を実行します。

  • インターネットゲートウェイをVPCに接続します。
  • サブネットのルートテーブルがインターネットゲートウェイを指していることを確認します。
  • サブネットのインスタンスにグローバルに一意のIPアドレス(パブリックIPv4アドレス、Elastic IPアドレス、またはIPv6アドレス)があることを確認してください。
  • ネットワークアクセス制御(VPCレベル)およびセキュリティグループルール(ec2レベル)で、関連するトラフィックがインスタンスとの間でやり取りできるようにします。ネットワークのパブリックIPアドレスが両方で有効になっていることを確認してください。デフォルトでは、ネットワークAcLは、明示的に設定されている場合を除き、すべての着信および発信トラフィックを許可します
0
Innocent Anigbo

私にとっては、ブートボリュームからすべてを削除したということでした。そして、インスタンスに接続できなくなりました。

0
t_sologub

私も同じ問題を抱えていましたが、解決策はどこからでもアクティブなセキュリティグループ内の受信ルールのリストへのアクセスを許可することでした。インバウンドダイアログで、ポート範囲に22、ソースフィールドにanywhereと入力し、ドロップダウンで「ssh」を選択します。

追伸:これは、このインスタンスをどのマシンからでもsshできることを意味するため、推奨されるソリューションではないかもしれませんが、ローカルIPで動作させることができませんでした。

0
Yahya

私にとっては、EC2インスタンス自体ではなく、t2.micro linux EC2インスタンスでホストされているApacheサーバーでした。

私はそれを修正して修正しました:

Sudo su

service httpd restart

0
Gus

ビルドオフ@ted.straussの答えは、サードパーティのサイトに移動する代わりに、ドロップダウンメニューからSSHMyIPを選択できます。

0