シナリオ一覧へ戻る
🔌

ポートが既に使われている

初級8デプロイ担当

新バージョンをデプロイしたら、web-app が起動しない。ログには EADDRINUSE の文字が。

このシナリオで練習すること

ログ確認と設定ミスの発見を短時間で反復したい人向けです。

想定ロール

デプロイ担当

到達目標

ポート3000を占有している古いプロセスを終了させ、web-app を起動する

最初に見えている症状
  • web-app プロセスが起動直後にクラッシュする
  • ログに `listen EADDRINUSE :::3000` が記録されている
  • netstat で確認すると 3000 番ポートは LISTEN 状態
このシナリオで学べること
  • netstat / ps でポートからプロセスを特定
  • EADDRINUSE の意味
  • kill と systemctl の使い分け
このページの使い方
  • まず症状を読んで、どこから確認するか仮説を立てる
  • プレイ画面では help、ls、cat、grep から始める
  • 解けたあとに学べることを見返して、型として残す
このシナリオを始める

関連シナリオ

同じ難易度か、次に進みやすいシナリオを選んでいます。

よくある質問

このシナリオはどんな人向けですか?

デプロイ担当 向けです。ログ確認と設定ミスの発見を短時間で反復したい人向けです。所要時間の目安は 8 分で、 最初に見えている症状は 「web-app プロセスが起動直後にクラッシュする」 です。 新バージョンをデプロイしたら、web-app が起動しない。ログには EADDRINUSE の文字が。

何をゴールにすればよいですか?

ポート3000を占有している古いプロセスを終了させ、web-app を起動するのがゴールです。原因の特定そのものより、まず利用者への影響を止めるところまで辿り着けるかを見ています。復旧後に「なぜ起きたか」を説明できる状態になっていれば十分です。

始める前に知っておくと良いことはありますか?

まずは症状を読み、 ログ・設定・再起動の どこから見るかを 決めると進めやすくなります。 help、 ls、 cat、 grep などの基本コマンドから入るのがおすすめです。 このシナリオでは netstat / ps でポートからプロセスを特定、 EADDRINUSE の意味 を扱うので、 そのあたりを意識して進めると 身につきやすいです。