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リクエストの旅:DNSからコンテナ内のLaravelに届くまで

0
Posted at

【図解】Webリクエストの旅:DNSからコンテナ内のLaravelに届くまで

「インフラ・ネットワーク・コンテナの知識がバラバラで、全体像が掴めない」
そんな状態を卒業するために、ブラウザでAPIを叩いてからLaravelコンテナが処理するまでの全工程を、現実世界の「配送」に例えて整理しました。


0. 全体像:インフラ・ネットワークの「階層」まとめ

各工程を理解するために、まずは「TCP/IP 4階層モデル」を配送に例えて整理します。

階層 ネットの用語 配送の例え 役割
第4層 HTTP / SSH / DNS 手紙の内容 「データの中身」や「会話のルール」を決める
第3層 TCP / UDP / ポート 配送方法 「書留(TCP)」か「普通(UDP)」か。窓口番号(ポート)を指定
第2層 IP / ルーティング 宛先住所 ネットワーク上の住所(IPアドレス)を特定する
第1層 ケーブル / Wi-Fi 道路とトラック 電気信号や光として、物理的にモノを運ぶ

1. DNS:住所の特定(第4層:アプリケーション層)

ユーザーが https://api.example.com/users をクリックした瞬間、旅が始まります。

  • アクション: ブラウザが「api.example.com のIPアドレスを教えて!」とDNSサーバーに問い合わせます。
  • 配送の例え: 電話帳で相手の「正確な住所(IP)」を調べるステップです。

2. CloudFront:世界の玄関口(第3・4層)

リクエストはVPCに行く前に、世界中にあるAWSの拠点「CloudFront」に届きます。

  • 役割:
    • キャッシュ確認: すでに同じデータがあれば、ここで即返却して終了。
    • HTTPS終端: 安全な通信(暗号化)のための鍵交換を行います。
  • 配送の例え: 街のあちこちにある「総合受付センター」を通るイメージです。

3. インターネットゲートウェイ & VPC:土地への入場(第1・2層)

データが物理的な光ファイバーを通り、AWS内のあなたのネットワーク(VPC)に届きます。

  • 役割: ルートテーブルという地図を参照し、「このIPは、あのEC2サーバーへ届けろ」と道案内されます。
  • 配送の例え: 私有地(VPC)の門をくぐり、敷地内の道路を走るステップです。

4. セキュリティグループ:門番のチェック(第3層:トランスポート層)

サーバー(建物)の直前で、AWSのファイアウォールが通信を検査します。

  • チェック内容: 「宛先ポートは 443(HTTPS) か?」「許可された送信元か?」を確認。
  • 配送の例え: 建物に入る前の「セキュリティチェック」です。許可のない窓口(ポート)宛の荷物はここで破棄されます。

5. EC2 & Docker:建物内での仕分け(第3層)

無事に建物(EC2インスタンス)の中にパケットが届きます。

  • アクション: OS(Linux)が届いたパケットのポート番号を見て、「これはDockerが管理しているLaravelコンテナ宛だ」と判断し、中へ転送します。
  • 配送の例え: 建物の受付が、荷物の「部屋番号(ポート)」を見て、奥の部屋(コンテナ)へ運ぶイメージです。

6. Laravelコンテナ:アプリケーションの実行(第4層)

ついに、部屋(コンテナ)の中で待機しているLaravelにリクエストが届きます。

  • アクション:
    1. Nginx(Webサーバー)がリクエストを受信。
    2. PHP-FPM/Laravel がプログラムを実行(DBアクセスなど)。
    3. 結果を「JSON」などの形にパッケージングして返送します。
  • 配送の例え: 部屋の中の担当者が、手紙(HTTP)を読んで、返事(HTTPレスポンス)を書いて発送するステップです。

まとめ:トラブルシューティングへの応用

この流れを知っていると、エラー時に「どの階層」を疑えばいいかが見えてきます。

  • 応答が全くない(Timeout): セキュリティグループ(第3層)の門番が止めている可能性が高い。
  • 住所が見つからない: DNSの設定ミス。
  • 500系エラー: 建物(EC2)には届いているが、中のアプリ(Laravel/第4層)がバグっている。

おわりに

インフラは「土地・建物・窓口・言葉」の組み合わせです。この旅路をイメージできるようになれば、モダンなインフラ構成も怖くありません!

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?