0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webサービスを構築する時は、ファイアウォールの設定を忘れるな

Last updated at Posted at 2024-10-30

はじめに

GCE のVMインスタンス上に「Unleash」を構築しましたが、
ファイアウォールルールの設定をせずにUnleash のWeb サービスにアクセスしようとしたため、接続できない問題が発生しました。
本記事では、この事象と対応方法について紹介します。
なお、Unleash 以外のWeb サービス構築にも応用できる内容なので、同じ問題に直面した際の参考になれば幸いです。

当時の環境

GCE 上にVM インスタンスを作成しており、その上にUnleash を構築しました。
Unleashの構築手順は、https://github.com/Unleash/unleash?tab=readme-ov-file#getting-started-with-unleash に従いました。

発生事象

  • $ docker compose up -d でUnleash を起動
  • ブラウザからhttp://{VMインスタンスの外部IP}:4242 にアクセス(4242 はUnleash のポート番号)

しかし、期待していたUnleash のログイン画面が表示されず、接続失敗の画面が表示されました。
接続失敗の画面.png

原因の特定

まず、URLやポート番号が正しいか、Unleash が起動しているかを確認し、どちらにも問題がないことを確認しました。
次に、インスタンスのファイアウォール設定を確認したところ、設定が行われていないことが判明しました。
このため、インターネットからのネットワークトラフィックがすべてブロックされ、ポート4242 へのアクセスが失敗していました。

解決手順

以下の手順でファイアウォールルールを作成し、 アクセスを許可しました。

  1. GCP コンソールで「VPCネットワーク」→「ファイアウォール」に移動

  2. 「ファイアウォールルールを作成する」を選択

  3. 画面遷移後、以下の内容を設定
    ファイアウォールルール作成画面.png

    • ターゲットタグ
      • 識別しやすい名称を設定
    • 送信元IP 範囲
      • 0.0.0.0/0
      • アクセス制限が必要な場合は、特定のIPアドレス範囲を指定
    • プロトコルとポート
      • TCP を選択し、ポート番号に4242 を入力
  4. VM インスタンス のネットワークタグに、作成したファイアウォールルールのネットワークタグを設定

  5. Unleash を再起動

  6. ブラウザからhttp://{VMインスタンスの外部IP}:4242 にアクセスし、正常にページが表示されることを確認 Unleashログイン画面.png

最後に

ファイアウォールの設定を失念していたため、原因特定に時間がかかりました。
今後同様の問題が発生した場合はまずファイアウォールの設定を確認するようにしたいと思います。
この記事が同じようなトラブル解決の参考になれば幸いです。

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?