メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

セキュリティグループのルールのリファレンス

セキュリティグループを作成し、そのセキュリティグループに関連付けられたインスタンスのロールを反映したルールを追加できます。たとえば、ウェブサーバーとして設定されたインスタンスは、インバウンド HTTP および HTTPS アクセスを許可するセキュリティグループルールを必要とし、データベースインスタンスは、MySQL 用のポート 3306 経由のアクセスなどのタイプのデータベースアクセスを許可するルールを必要とするなどです。

以下は、特定の種類のアクセスのセキュリティグループに追加できるルールの種類の例です。

ウェブサーバー

次のインバウンドルールでは、任意の IP アドレスからの HTTP および HTTPS アクセスを許可します。VPC が IPv6 に対して有効になっている場合、IPv6 アドレスからインバウンド HTTP および HTTPS トラフィックを制御するルールを追加できます。

プロトコルのタイプ プロトコル番号 ポート 送信元 IP コメント
TCP 6 80 (HTTP) 0.0.0.0/0 任意の IPv4 アドレスからのインバウンド HTTP アクセスを許可します
TCP 6 443 (HTTPS) 0.0.0.0/0 任意の IPv4 アドレスからのインバウンド HTTPS アクセスを許可します
TCP 6 80 (HTTP) ::/0 (VPC のみ) 任意の IPv6 アドレスからのインバウンド HTTP アクセスを許可します
TCP 6 443 (HTTPS) ::/0 (VPC のみ)、任意の IPv6 アドレスからのインバウンド HTTPS アクセスを許可します

データベースサーバー

次のインバウンドルールは、インスタンスで実行中のデータベースのタイプに応じて、データベースアクセス用に追加するルールの例です。Amazon RDS インスタンスの詳細については、Amazon Relational Database Service ユーザーガイドを参照してください。

ソース IP には、次のいずれかを指定します。

  • ローカルネットワークの特定の IP アドレスまたは IP アドレスの範囲

  • データベースにアクセスするインスタンスのグループのセキュリティグループ ID

プロトコルのタイプ プロトコル番号 ポート コメント
TCP 6 1433 (MS SQL) Amazon RDS インスタンス上など、Microsoft SQL Server データベースにアクセスするデフォルトのポート
TCP 6 3306 (MYSQL/Aurora) Amazon RDS インスタンス上など、MySQL または Aurora データベースにアクセスするデフォルトのポート
TCP 6 5439 (Redshift) Amazon Redshift クラスターデータベースにアクセスするデフォルトのポート。
TCP 6 5432 (PostgreSQL) Amazon RDS インスタンス上など、PostgreSQL データベースにアクセスするデフォルトのポート
TCP 6 1521 (Oracle) Amazon RDS インスタンス上など、Oracle データベースにアクセスするデフォルトのポート

(VPC のみ) オプションで、データベースサーバーからのアウトバウンドトラフィックを制限できます。たとえば、ソフトウェアの更新のためにインターネットへのアクセスを許可するが、その他すべての種類のトラフィックを制限することができます。最初に、すべてのアウトバンドトラフィックを許可するデフォルトのアウトバウンドルールを削除する必要があります。

プロトコルのタイプ プロトコル番号 ポート 送信先 IP コメント
TCP 6 80 (HTTP) 0.0.0.0/0 任意の IPv4 アドレスへのアウトバウンド HTTP アクセスを許可します
TCP 6 443 (HTTPS) 0.0.0.0/0 任意の IPv4 アドレスへのアウトバウンド HTTPS アクセスを許可します
TCP 6 80 (HTTP) ::/0 (IPv6 が有効な VPC のみ) 任意の IPv6 アドレスへのアウトバウンド HTTP アクセスを許可します
TCP 6 443 (HTTPS) ::/0 (IPv6 が有効な VPC のみ)、任意の IPv6 アドレスへのアウトバウンド HTTPS アクセスを許可します

同じグループ内の他のインスタンスからのアクセス

同じセキュリティグループに関連付けられたインスタンスが相互に通信できるようにするには、そのためのルールを明示的に追加する必要があります。

次の表は、関連付けられたインスタンスの相互通信を可能にする VPC セキュリティグループのインバウンドルールを示します。このルールでは、すべてのタイプのトラフィックが許可されます。

プロトコルのタイプ プロトコル番号 ポート 送信元 IP
-1 (すべて) -1 (すべて) -1 (すべて) セキュリティグループの ID

次の表は、関連付けられたインスタンスの相互通信を可能にする EC2-Classic セキュリティグループのインバウンドルールを示します。このルールでは、すべてのタイプのトラフィックが許可されます。

プロトコルのタイプ プロトコル番号 ポート 送信元 IP
ICMP 1 -1 (すべて) セキュリティグループの ID
TCP 6 0~65535 (すべて) セキュリティグループの ID
UDP 17 0~65535 (すべて) セキュリティグループの ID

ローカルコンピュータからのアクセス

インスタンスに接続するには、セキュリティグループに SSH アクセス (Linux インスタンスの場合) または RDP アクセス (Windows インスタンスの場合) を許可するインバウンドルールが必要です。

プロトコルのタイプ プロトコル番号 ポート 送信元 IP
TCP 6 22 (SSH) ローカルコンピュータのパブリック IPv4 アドレス、またはローカルネットワークの IP アドレスの範囲。VPC が IPv6 に対して有効で、インスタンスに IPv6 アドレスがある場合、IPv6 アドレスまたは範囲を入力できます。
TCP 6 3389 (RDP) ローカルコンピュータのパブリック IPv4 アドレス、またはローカルネットワークの IP アドレスの範囲。VPC が IPv6 に対して有効で、インスタンスに IPv6 アドレスがある場合、IPv6 アドレスまたは範囲を入力できます。

パス MTU 検出

パス MTU は、送信側ホストと受信側ホスト間のパスでサポートされている最大のパケットサイズです。ホストが受信側ホストの MTU よりも大きなパケット、またはデバイスの MTU よりも大きなパケットをパスに沿って送信する場合、受信側ホストは次の ICMP メッセージ

Copy
Destination Unreachable: Fragmentation Needed and Don't Fragment was Set
を返します。

インスタンスがこのメッセージを受信し、パケットが削除されないようにするには、インバウンドセキュリティグループのルールに ICMP ルールを追加する必要があります。

プロトコルのタイプ プロトコル番号 ICMP タイプ ICMP コード 送信元 IP
ICMP 1 3 (送信先に到達できません) 4 (フラグメント化が必要で、"フラグメント化しない" が設定されました) インスタンスと通信するホストの IP アドレス

インスタンスへの Ping の実行

ping コマンドは、ICMP トラフィックの一種です。インスタンスに ping を実行するには、次のインバウンド ICMP ルールを追加する必要があります。

プロトコルのタイプ プロトコル番号 ICMP タイプ ICMP コード 送信元 IP
ICMP 1 8 (Echo) 該当なし ローカルコンピュータのパブリック IPv4 アドレス、またはローカルネットワークの IPv4 アドレスの範囲

ping6 コマンドを使用してインスタンスの IPv6 アドレスに ping を実行するには、次のインバウンド ICMPv6 ルールを追加する必要があります。

プロトコルのタイプ プロトコル番号 ICMP タイプ ICMP コード 送信元 IP
ICMPv6 58 128 (Echo) 0 コンピュータの IPv6 アドレス、またはローカルネットワークの IPv6 アドレスの範囲

DNS サーバー

DNS サーバーとして EC2 インスタンスをセットアップした場合、TCP および UDP のトラフィックがポート 53 経由で DNS サーバーに到達できるようにする必要があります。

ソース IP には、次のいずれかを指定します。

  • ネットワークの特定の IP アドレスまたは IP アドレスの範囲

  • ネットワークで、DNS サーバーにアクセスする必要があるインスタンスのグループのセキュリティグループ ID

プロトコルのタイプ プロトコル番号 ポート
TCP 6 53
UDP 17 53

Amazon EFS ファイルシステム

Amazon EC2 インスタンスから Amazon EFS ファイルシステムをマウントし、アクセスする場合、セキュリティグループのルールでは NFS プロトコル経由のアクセスを許可する必要があります。

プロトコルのタイプ プロトコル番号 ポート 送信元 IP コメント
TCP 6 2049 (NFS) セキュリティグループの ID. このセキュリティグループに関連付けられたリソース (マウントターゲットを含む) からのインバウンド NFS アクセスを許可します。
TCP 6 22 (SSH) ローカルコンピュータの IP アドレス範囲、またはネットワークの IP アドレスの範囲。 ローカルコンピュータからのインバウンド SSH アクセスを許可します。

Elastic Load Balancing

ロードバランサーを使用している場合、ロードバランサーに関連付けられたセキュリティグループには、インスタンスやターゲットとの通信を許可するルールが必要です。

インバウンド
プロトコルのタイプ プロトコル番号 ポート 送信元 IP
TCP 6 リスナーポート

インターネット向けロードバランサーの場合: 0.0.0.0/0 (すべての IPv4 アドレス)

内部ロードバランサーの場合: VPC の IPv4 CIDR ブロック

ロードバランサーのリスナーポートでインバウンドトラフィックを許可します。
アウトバウンド
プロトコルのタイプ プロトコル番号 ポート 送信先 IP
TCP 6 インスタンスリスナーポート インスタンスセキュリティグループの ID インスタンスリスナーポートでインスタンスへのアウトバウンドトラフィックを許可します。
TCP 6 ヘルスチェックポート インスタンスセキュリティグループの ID ヘルスチェックポートでインスタンスへのアウトバウンドトラフィックを許可します。

インスタンスのセキュリティグループルールは、リスナーポートとヘルスチェックポートの両方でインスタンスと通信することをロードバランサーに許可する必要があります。

インバウンド
プロトコルのタイプ プロトコル番号 ポート 送信元 IP
TCP 6 インスタンスリスナーポート

ロードバランサーのセキュリティグループの ID

インスタンスリスナーポートでロードバランサーからのトラフィックを許可します。
TCP 6 ヘルスチェックポート ロードバランサーのセキュリティグループの ID ヘルスチェックポートでロードバランサーからのトラフィックを許可します。

詳細については、Classic Load Balancer ガイド の「Classic Load Balancer のセキュリティグループを設定する」と Application Load Balancer ガイド の「Application Load Balancer のセキュリティグループ」を参照してください。