Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行されているサービスに接続できません。セキュリティグループおよびネットワークアクセスコントロールリスト (ネットワーク ACL) の両方で必要なポートへのインバウンドトラフィックを許可しましたが、まだ機能しません。どうすれば解決できますか?
簡単な説明
セキュリティグループはステートフルであるため、必要なポートへのインバウンドトラフィックを許可すると、接続が有効になります。ネットワーク ACL はステートレスであるため、インバウンドトラフィックとアウトバウンドトラフィックの両方を許可する必要があります。
解決方法
インスタンスで実行されているサービスへの接続を有効にするには、関連するネットワーク ACL で以下を許可する必要があります。
- サービスが待機しているポートのインバウンドトラフィック
- 一時ポートへのアウトバウンドトラフィック
クライアントがサーバーに接続すると、一時ポート範囲 (1024-65535) のうちのランダムなポートがクライアントの送信元ポートになります。
指定された一時ポートは、サービスからのリターントラフィックの送信先ポートになります。一時ポートへのアウトバウンドトラフィックをネットワーク ACL で許可する必要があります。ネットワーク ACL ルールの変更に関する詳細は、「 ルールの追加と削除 」を参照してください。
デフォルトでは、ネットワーク ACL によりすべてのインバウンドおよびアウトバウンドのトラフィックが許可されています。ネットワーク ACL がより制限されている場合は、一時ポート範囲へのトラフィックを明示的に許可する必要があります。
注意: インターネットからのトラフィックを受け入れる場合は、インターネットゲートウェイ を経由するルートも確立する必要があります。VPN/AWS Direct Connect/Transit Gateway 経由でトラフィックを受け入れる場合は、仮想プライベートゲートウェイ/トランジットゲートウェイ 経由で対応するルートを確立する必要があります。
関連情報
ネットワーク ACL を使用してサブネットへのトラフィックを制御する
セキュリティグループを使用してリソースへのトラフィックを制御する