2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS SAA対策】エフェメラルポートとは?? 

Posted at

はじめに

AWS SAA(Solutions Architect Associate)合格に向けた学習で、「エフェメラルポートって何?」という疑問にぶち当たったので、調べながらまとめていきたいと思います!

エフェメラルポートとは

定義

エフェメラルポート(Ephemeral Port)とは、クライアント側のアプリケーションが一時的に使用する動的に割り当てられるポート番号のことです。
「ephemeral」という単語は「一時的な、はかない」という意味を持ち、その名前の通り通信セッションの期間中のみ存在する短命なポートです。

通常のサーバーアプリケーションは固定されたウェルノウンポート(HTTPなら80番、HTTPSなら443番など)で待機していますが、クライアント側では接続のたびに異なるポート番号が必要になります。この時、オペレーティングシステムが自動的に未使用のポート番号を選択して割り当てるのがエフェメラルポートの仕組みです。

ポート番号の分類と範囲

  • ウェルノウンポート: 0-1023

HTTP(80)、HTTPS(443)、SSH(22)など、よく知られたサービス用のポート

  • 登録済みポート: 1024-49151

特定のアプリケーションやサービスが登録して使用

  • エフェメラルポート: 49152-65535

クライアントが一時的に使用する動的ポート

OSごとの実際の範囲

実際のエフェメラルポート範囲は、オペレーティングシステムによって異なります:

OS エフェメラルポート範囲
Linux 32768-61000(一般的)
Windows Vista/7/Server 2008以降 49152-65535
Windows XP以前 1025-5000

エフェメラルポートの動作メカニズム

基本的な通信フロー

  1. 接続開始: クライアントがサーバーへの接続を要求

  2. ポート割り当て: OSがクライアントに対してエフェメラルポートを動的に割り当て

  3. 通信実行: クライアントが割り当てられた一時ポートを使用してサーバーと通信

  4. リソース解放: 通信終了後、エフェメラルポートが解放され、再利用可能な状態に

具体例:Webブラウジングのケース

image.png

※ AIに作成してもらいました。

AWSにおけるエフェメラルポートの重要性

ネットワークACLでの考慮事項

AWSのネットワークACLはステートレスな性質を持つため、インバウンドとアウトバウンドの両方向でトラフィックを明示的に許可する必要があります。

問題の具体例

状況設定

  • あなたの自宅PC(Windows)からAWS EC2にSSH接続しようとしている
  • EC2はプライベートサブネットに配置
  • ネットワークACLが設定されている

何が起きているか?

1. 接続開始時(成功)

あなたのPC:52341 → EC2:22 (SSH接続要求)
  • インバウンドルール:「ポート22への接続を許可」→ ✅ 通過

2. EC2からの応答時(失敗)

EC2:22 → あなたのPC:52341 (SSH応答)
  • アウトバウンドルール:「ポート52341への応答を許可?」→ ❌ 設定されていない

問題点

  • ポート22(SSH)は許可されているが...
  • クライアントのエフェメラルポート(この例では52341)への応答は許可されていない
  • 結果:接続タイムアウト

解決策
アウトバウンドルールに以下を追加

| ルール# | タイプ | プロトコル | ポート範囲 | 宛先 | 許可/拒否 |
|---------|--------|-----------|-----------|------|----------|
| 100 | カスタム TCP | TCP | 1024-65535 | 0.0.0.0/0 | ALLOW |

💡 「エフェメラルポートが許可されていない」= 「クライアントが使用する一時的なポート番号への戻りトラフィックが、ネットワークACLのアウトバウンドルールで止められている状態」

最後に

エフェメラルポートはクライアントに割り当てられる「一時的なポート」ということがわかりました
インフラでの問題の原因をいち早く特定するためにも、このような知識は必要だと思いました!

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?