

# さまざまなユースケースのセキュリティグループのルール
<a name="security-group-rules-reference"></a>

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

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

**Topics**
+ [

## ウェブサーバールール
](#sg-rules-web-server)
+ [

## データベースサーバールール
](#sg-rules-db-server)
+ [

## コンピュータからのインスタンスへの接続ルール
](#sg-rules-local-access)
+ [

## 同じセキュリティグループを持つインスタンスからインスタンスに接続するためのルール
](#sg-rules-other-instances)
+ [

## Ping/ICMP のルール
](#sg-rules-ping)
+ [

## DNS サーバールール
](#sg-rules-dns)
+ [

## Amazon EFS ルール
](#sg-rules-efs)
+ [

## Elastic Load Balancing ルール
](#sg-rules-elb)

手順については、「[セキュリティグループを作成する](creating-security-group.md)」および「[セキュリティグループルールの設定](changing-security-group.md#add-remove-security-group-rules)」を参照してください。

## ウェブサーバールール
<a name="sg-rules-web-server"></a>

次のインバウンドルールでは、任意の 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 | 任意の IPv6 アドレスからのインバウンド HTTP アクセスを許可します | 
| TCP | 6 | 443 (HTTPS) | ::/0 | 任意の IPv6 アドレスからのインバウンド HTTPS アクセスを許可します | 

## データベースサーバールール
<a name="sg-rules-db-server"></a>

次のインバウンドルールは、インスタンスで実行中のデータベースのタイプに応じて、データベースアクセス用に追加するルールの例です。Amazon RDS インスタンスの詳細については、[Amazon RDS ユーザーガイド](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/)を参照してください。

ソース IP には、次のいずれかを指定します。
+ ローカルネットワークの特定の IP アドレスまたは IP アドレス範囲 (CIDR ブロック表記)
+ データベースにアクセスするインスタンスのグループのセキュリティグループ 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 データベースにアクセスするデフォルトのポート | 

必要に応じて、データベースサーバーからのアウトバウンドトラフィックを制限できます。例えば、ソフトウェアの更新ではインターネットへのアクセスを許可し、その他のトラフィックはすべて制限することができます。最初に、すべてのアウトバンドトラフィックを許可するデフォルトのアウトバウンドルールを削除する必要があります。


| プロトコルのタイプ | プロトコル番号 | ポート | 送信先 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 アクセスを許可します | 

## コンピュータからのインスタンスへの接続ルール
<a name="sg-rules-local-access"></a>

インスタンスに接続するには、セキュリティグループに 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 アドレスまたは範囲を入力できます。 | 

## 同じセキュリティグループを持つインスタンスからインスタンスに接続するためのルール
<a name="sg-rules-other-instances"></a>

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

**注記**  
ミドルボックスアプライアンスを介して異なるサブネット内の 2 つのインスタンス間のトラフィックを転送するようにルートを設定するには、両方のインスタンスのセキュリティグループでインスタンス間のトラフィックがフローできるようにする必要があります。各インスタンスのセキュリティグループは、他のインスタンスのプライベート IP アドレス、または他のインスタンスを含むサブネットの CIDR 範囲を送信元として参照する必要があります。他のインスタンスのセキュリティグループを送信元として参照する場合、インスタンス間のトラフィックは許可されません。

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


| プロトコルのタイプ | プロトコル番号 | ポート | 送信元 IP | 
| --- | --- | --- | --- | 
| -1 (すべて) | -1 (すべて) | -1 (すべて) | セキュリティグループの ID、または他のインスタンスを含むサブネットの CIDR 範囲 (注を参照)。 | 

## Ping/ICMP のルール
<a name="sg-rules-ping"></a>

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


| タイプ | プロトコル | ソース | 
| --- | --- | --- | 
| カスタム ICMP - IPv4 | エコーリクエスト | お使いのコンピュータのパブリック IPv4 アドレス、特定の IPv4 アドレス、または任意の場所の IPv4 あるいは IPv6 アドレス。 | 
| すべての ICMP - IPv4 | IPv4 ICMP (1) | お使いのコンピュータのパブリック IPv4 アドレス、特定の IPv4 アドレス、または任意の場所の IPv4 あるいは IPv6 アドレス。 | 

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


| タイプ | プロトコル | ソース | 
| --- | --- | --- | 
| すべての ICMP - IPv6 | IPv6 ICMP (58) | お使いのコンピュータの IPv6 アドレス、特定の IPv4 アドレス、または任意の場所の IPv4 あるいは IPv6 アドレス。 | 

## DNS サーバールール
<a name="sg-rules-dns"></a>

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

ソース IP には、次のいずれかを指定します。
+ ネットワークの IP アドレスまたは IP アドレス範囲 (CIDR ブロック表記)
+ ネットワークで、DNS サーバーにアクセスする必要がある一連のインスタンスのセキュリティグループの ID


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

## Amazon EFS ルール
<a name="sg-rules-efs"></a>

Amazon EC2 インスタンスで Amazon EFS ファイルシステムを使用している場合、Amazon EFS マウントターゲットに関連付けるセキュリティグループは、NFS プロトコル経由のトラフィックを許可する必要があります。


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

Amazon EC2 インスタンスに Amazon EFS ファイルシステムをマウントするには、インスタンスに接続する必要があります。したがって、インスタンスに関連付けられているセキュリティグループには、ローカルコンピュータまたはローカルネットワークからのインバウンド SSH を許可するルールが必要です。


| プロトコルのタイプ | プロトコル番号 | ポート | 送信元 IP | コメント | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | ローカルコンピュータの IP アドレス範囲、またはネットワークの IP アドレス範囲 (CIDR ブロック表記)。 | ローカルコンピュータからのインバウンド SSH アクセスを許可します。 | 

## Elastic Load Balancing ルール
<a name="sg-rules-elb"></a>

EC2 インスタンスをロードバランサーに登録する場合、ロードバランサーに関連付けられたセキュリティグループは、インスタンスとの通信を許可する必要があります。詳細については、「Elastic Load Balancing ドキュメント」の次のトピックを参照してください。
+ [Application Load Balancer のセキュリティグループ](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html)
+ [Network Load Balancer のセキュリティグループ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)
+ [Classic Load Balancer のセキュリティグループの設定](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-vpc-security-groups.html)