Open1

AWS関連メモ

suesue

EC2インスタンスに繋がらなくなった時の対応備忘録

問題発生

プランナーからJenkinsのJOBがタイムアウトエラーでてるんですが…と報告があった。
確かにJOBのログを見るとタイムアウトで失敗してらっしゃる。

ssh: connect to host X.X.X.X port YY: Operation timed out
Build step 'シェルの実行' marked build as failure

確認・調査

自分のPCからも接続できるか確認

$ ssh -i key -p YY myuser@X.X.X.X
ssh: connect to host X.X.X.X port YY: Connection timed out

接続できない…となるとEC2インスタンス側でなにか起こってそう。

AWSコンソールからも確認

EC2インスタンスがステータスが不十分ですという状態に。
ひとまずEC2インスタンスがおかしいのは確定。

情報収集

色々探しては見るものの、コレ!というのは見当たらず。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-linux-status-check-failure/
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstances.html
EC2インスタンスに入れないので、不明。
なんらかのリソースを食いつぶして死んだ…?程度の仮説にしかならない。

対応

ひとまず、ただの踏み台なので、再起動系を試すことにした。

再起動してみる

AWSコンソールから該当EC2インスタンスを「インスタンスを再起動」で再起動。

結果

駄目だった。
同様の状態で維持されているのか、接続できない。

停止→開始してみる

再起動の機能を使わず、ちゃんと一度停止しきってから開始。

結果

いけた!
停止までに少々時間はかかったが、ステータスチェック部分は「チェックに合格しました」状態で問題なくなった。
ただ、IP固定してなくて変わったので、そこはちょっと調整。

まとめ

完全な原因追求はできていないが、メモリ食いつぶしとかじゃないかと推測。
踏み台だからなんかめっちゃ食う作業もないけど…

インスタンスについては「再起動」は落としきらないで再起動されるから微妙。
ちゃんと再起動したい時は「停止」→「開始」をやったほうがキレイ。