

# EC2 インスタンスの Amazon EC2 セキュリティグループ
<a name="ec2-security-groups"></a>

*セキュリティグループ*は、EC2 インスタンスの仮想ファイアウォールとして機能し、受信トラフィックと送信トラフィックを制御します。インバウンドルールはインスタンスへの受信トラフィックを制御し、アウトバウンドルールはインスタンスからの送信トラフィックをコントロールします。インスタンスの起動時に 1 つ以上のセキュリティグループを指定できます。セキュリティグループを指定しない場合、Amazon EC2 はデフォルトの VPC のセキュリティグループを使用します。インスタンスを起動した後、そのセキュリティグループを変更することができます。

セキュリティは、AWS とお客様の間の共有責任です。詳細については、[セキュリティとコンプライアンスの目標を満たすように Amazon EC2 を設定し、Amazon EC2 リソースの保護に役立つ他の  サービスの使用方法を学びます。](ec2-security.md)を参照してください。AWS は、インスタンスをセキュリティで保護するためのツールの 1 つとしてセキュリティグループを提供しています。このセキュリティグループをセキュリティニーズに合わせて設定する必要があります。セキュリティグループでは十分に満たせない要件がある場合は、セキュリティグループの使用に加えて、どのインスタンスでも独自のファイアウォールを使用できます。

**料金**  
セキュリティグループは追加料金なしで使用できます。

**Topics**
+ [

## 概要:
](#security-group-basics)
+ [

# Amazon EC2 インスタンス用のセキュリティグループの作成
](creating-security-group.md)
+ [

# Amazon EC2 インスタンスのセキュリティグループの変更
](changing-security-group.md)
+ [

# Amazon EC2 セキュリティグループの削除
](deleting-security-group.md)
+ [

# Amazon EC2 セキュリティグループの接続の追跡
](security-group-connection-tracking.md)
+ [

# さまざまなユースケースのセキュリティグループのルール
](security-group-rules-reference.md)

## 概要:
<a name="security-group-basics"></a>

各インスタンスは複数のセキュリティグループに関連付けることができ、各セキュリティグループは複数のインスタンスに関連付けることができます。各セキュリティグループに対してルールを追加し、関連付けられたインスタンスに対するトラフィックを許可します。セキュリティグループのルールはいつでも変更することができます。新規または変更したルールは、セキュリティグループに関連付けられたすべてのインスタンスに自動的に適用されます。トラフィックがインスタンスに到達することを許可するかどうかを Amazon EC2 が判断するとき、インスタンスに関連付けられているすべてのセキュリティグループのすべてのルールを評価します。詳細については、「*Amazon VPC ユーザーガイド*」の「[セキュリティグループルール](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html)」を参照してください。

次の図は、サブネット、インターネットゲートウェイ、セキュリティグループを備えた VPC を示しています。サブネットには EC2 インスタンスが含まれています。セキュリティグループはインスタンスに関連付けられています。インスタンスに到達するトラフィックは、セキュリティグループのルールで許可されているトラフィックだけです。例えば、使用しているネットワークからの SSH トラフィックを許可するルールがセキュリティグループに含まれている場合は、使用しているコンピュータからインスタンスに SSH で接続できます。関連付けられたリソースからのすべてのトラフィックを許可するルールがセキュリティグループに含まれている場合、各インスタンスは他のインスタンスから送信されたすべてのトラフィックを受信できます。

![\[セキュリティグループを持つ VPC。サブネット内の EC2 インスタンスは、セキュリティグループに関連付けられています。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/ec2-security-groups.png)


セキュリティグループはステートフルです。インスタンスからリクエストを送信すると、そのリクエストに対するレスポンストラフィックは、セキュリティグループのインバウンドルールにかかわらず、流入できます。また、許可されたインバウンドトラフィックに対する応答 (戻りのトラフィック) は、アウトバウンドルールにかかわらずアウト側に対し通過することができます。詳細については、[接続追跡](security-group-connection-tracking.md)を参照してください。

# Amazon EC2 インスタンス用のセキュリティグループの作成
<a name="creating-security-group"></a>

セキュリティグループは、関連付けられたインスタンスのファイアウォールとして動作し、インバウンドトラフィックとアウトバウンドトラフィックの両方をインスタンスレベルでコントロールします。SSH (Linux インスタンス) または RDP (Windows インスタンス) を使用してインスタンスに接続できるようにするルールをセキュリティグループに追加できます。また、ウェブサーバー宛ての HTTP および HTTPS トラフィックなど、クライアントトラフィックを許可するルールを追加することもできます。

インスタンスを起動する際に、インスタンスにセキュリティグループを関連付けることができます。関連付けられたセキュリティグループのルールを追加または削除すると、それらの変更は、そのセキュリティグループを関連付けたすべてのインスタンスに自動的に適用されます。

インスタンスを起動した後、追加のセキュリティグループを関連付けることができます。詳細については、[Amazon EC2 インスタンスのセキュリティグループの変更](changing-security-group.md)を参照してください。

インバウンドおよびアウトバウンドのセキュリティグループルールは、セキュリティグループの作成時に追加することも、後で追加することもできます。詳細については、[セキュリティグループルールの設定](changing-security-group.md#add-remove-security-group-rules)を参照してください。セキュリティグループに追加できるルールの例については、「[さまざまなユースケースのセキュリティグループのルール](security-group-rules-reference.md)」を参照してください。

**考慮事項**
+ 新しいセキュリティグループには、すべてのトラフィックがリソースを離れることを許可するアウトバウンドルールのみで開始されます。任意のインバウンドトラフィックを許可するには、またはアウトバウンドトラフィックを制限するには、ルールを追加する必要があります。
+ 送信元でインスタンスに対する SSH または RDP アクセスを許可するルールを設定する場合、任意の場所からのアクセスは許可しないでください。これを許可すると、インターネット上のすべての IP アドレスからのインスタンスに対するこのアクセスを許可することになります。この状態は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。
+ 特定のポートに複数のルールがある場合、Amazon EC2 が最も許容度の大きいルールを適用します。例えば、IP アドレス 203.0.113.1 からの TCP ポート 22 (SSH) に対するアクセスを許可するルールと、任意の場所からの TCP ポート 22 に対するアクセスを許可する別のルールがある場合、全員が TCP ポート 22 にアクセスできます。
+ 1 つのインスタンスには複数のセキュリティグループを関連付けることができます。そのため、1 つのインスタンスに数百のルールが適用される場合があります。結果として、インスタンスにアクセスするときに問題が発生する可能性があります。そのため、ルールは可能な限り要約することをお勧めします。
+ ルールに送信元または送信先としてセキュリティグループを指定する場合、ルールはセキュリティグループに関連付けられているすべてのインスタンスに影響します。着信トラフィックは、ソースセキュリティグループに関連付けられたインスタンスのプライベート IP アドレスに基づいて許可されます (パブリック IP アドレスまたは Elastic IP アドレスは考慮されません)。IP アドレスについては、[Amazon EC2 インスタンスの IP アドレス指定](using-instance-addressing.md)を参照してください。
+ デフォルトで、Amazon EC2 はポート 25 のトラフィックをブロックします。詳細については、[ポート 25 を使用した E メール送信の制限](ec2-resource-limits.md#port-25-throttle)を参照してください。

------
#### [ Console ]

**セキュリティグループを作成するには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. **[セキュリティグループの作成]** を選択してください。

1. セキュリティグループの分かりやすい名前と簡単な説明を入力します。セキュリティグループの作成後に名前と説明を変更することはできません。

1. **[VPC]** で、Amazon EC2 インスタンスを実行する VPC を選択します。

1. (オプション) インバウンドルールを追加するには、**[インバウンドルール]** を選択します。ルールごとに、**[ルールの追加]** を選択し、プロトコル、ポート、および送信元を指定します。例えば、SSH トラフィックを許可するには、**[タイプ]** に **[SSH]** を選択し、**[送信元]** にコンピュータまたはネットワークのパブリック IPv4 アドレスを指定します。

1. (オプション) アウトバウンドルールを追加するには、**[アウトバウンドルール]** を選択します。ルールごとに、**[ルールの追加]** を選択し、プロトコル、ポート、および送信先を指定します。追加しない場合は、デフォルトのルールをそのまま使用でき、すべてのアウトバウンドトラフィックを許可します。

1. (オプション) タグを追加するには、**[Add new tag]** (新しいタグを追加) を選択し、そのタグのキーと値を入力します。

1. [**セキュリティグループの作成**] を選択します。

------
#### [ AWS CLI ]

**セキュリティグループを作成するには**  
次の [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html) コマンドを使用します。

```
aws ec2 create-security-group \
    --group-name my-security-group \
    --description "my security group" \
    --vpc-id vpc-1234567890abcdef0
```

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

------
#### [ PowerShell ]

**セキュリティグループを作成するには**  
[New-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SecurityGroup.html) コマンドレットを使用します。

```
New-EC2SecurityGroup `
    -GroupName my-security-group `
    -Description "my security group" `
    -VpcId vpc-1234567890abcdef0
```

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

------

# Amazon EC2 インスタンスのセキュリティグループの変更
<a name="changing-security-group"></a>

Amazon EC2 インスタンスのセキュリティグループは、インスタンスの起動時に指定できます。インスタンスを起動した後、セキュリティグループを追加または削除することができます。また、関連付けられたセキュリティグループのセキュリティグループルールは、いつでも追加、削除、編集できます。

セキュリティグループはネットワークインターフェイスに関連付けられます。セキュリティグループを追加または削除すると、プライマリネットワークインターフェイスに関連付けられているセキュリティグループが変更されます。セカンダリネットワークインターフェイスに関連付けられているセキュリティグループも変更できます。詳細については、[ネットワークインターフェイス属性の変更](modify-network-interface-attributes.md)を参照してください。

**Topics**
+ [

## セキュリティグループの追加または削除
](#add-remove-instance-security-groups)
+ [

## セキュリティグループルールの設定
](#add-remove-security-group-rules)

## セキュリティグループの追加または削除
<a name="add-remove-instance-security-groups"></a>

インスタンスを起動した後、関連付けられているセキュリティグループのリストに対し、セキュリティグループを追加または削除できます。複数のセキュリティグループをインスタンスに関連付けると、各セキュリティグループのルールが効率的に集約され、1 つのルールセットが作成されます。Amazon EC2 はこのルールセットを使用して、トラフィックを許可するかを判断します。

**要件**
+ インスタンスは、`running` または `stopped` 状態である必要があります。

------
#### [ Console ]

**インスタンスのセキュリティグループを変更するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択します。

1. インスタンスを選択し、[**アクション**]、[**セキュリティ**]、[**セキュリティグループの変更**] の順に選択します。

1. [**関連付けられたセキュリティグループ**] で、リストからセキュリティグループを選択し、[**セキュリティグループを追加**] を選択します。

   すでに関連付けられているセキュリティグループを削除するには、そのセキュリティグループで [**削除**] を選択します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**インスタンスのセキュリティグループを変更するには**  
次の [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) コマンドを使用します。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --groups sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**インスタンスのセキュリティグループを変更するには**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) コマンドレットを使用します。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Group sg-1234567890abcdef0
```

------

## セキュリティグループルールの設定
<a name="add-remove-security-group-rules"></a>

セキュリティグループを作成したら、そのセキュリティグループルールを追加、更新、削除できます。ルールを追加、更新、または削除すると、その変更は、セキュリティグループに関連付けられているリソースに自動的に適用されます。

セキュリティグループに追加できるルールの例については、[さまざまなユースケースのセキュリティグループのルール](security-group-rules-reference.md)を参照してください。

**必要なアクセス許可**  
作業を開始する前に、必要なアクセス許可があることを確認してください。詳細については、[例: セキュリティグループの操作](iam-policies-ec2-console.md#ex-security-groups)を参照してください。

**プロトコルとポート**
+ コンソールでは、事前定義されたタイプを選択すると、**プロトコル**と**ポート範囲**が指定されます。ポート範囲を入力するには、**[カスタム TCP]** または **[カスタム UDP]** のいずれかのカスタムタイプを選択する必要があります。
+ AWS CLI では、`--protocol` オプションおよび `--port` オプションを使用して、単一のポートを持つ単一のルールを追加できます。複数のルール、またはポート範囲を持つルールを追加するには、代わりに `--ip-permissions` オプションを使用します。

**送信元と送信先**
+ コンソールでは、インバウンドルールの送信元またはアウトバウンドルールの送信先として、以下を指定できます。
  + **[カスタム]** – IPv4 CIDR ブロック、IPv6 CIDR ブロック、セキュリティグループ、またはプレフィックスリスト。
  + **[Anywhere-IPv4]** – 0.0.0.0/0 IPv4 CIDR ブロック。
  + **[Anywhere-IPv6]** – ::/0 IPv6 CIDR ブロック。
  + **[マイ IP]** – ローカルコンピュータのパブリック IPv4 アドレス。
+ AWS CLI では、`--cidr` オプションを使用して IPv4 CIDR ブロックを指定するか、`--source-group` オプションを使用してセキュリティグループを指定できます。プレフィックスリストまたは IPv6 CIDR ブロックを指定するには、`--ip-permissions` オプションを使用します。

**警告**  
ポート 22 (SSH) または 3389 (RDP) のインバウンドルールを追加する場合は、特定の IP アドレス、またはインスタンスへのアクセスを必要とするアドレスの範囲のみを許可することを強くお勧めします。**[Anywhere-IPv4]** を選択すると、すべての IPv4 アドレスからのトラフィックが、指定されたプロトコルを使用してインスタンスにアクセスできるようになります。**[Anywhere-IPv6]** を選択すると、すべての IPv6 アドレスからのトラフィックが、指定されたプロトコルを使用してインスタンスにアクセスできるようになります。

------
#### [ Console ]

**セキュリティグループのルールを設定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Security Groups**] を選択します。

1. セキュリティグループを選択します。

1. インバウンドルールを編集するには、**[アクション]** または **[インバウンドルール]** タブから **[インバウンドルールを編集]** を選択します。

   1. ルールを追加するには、**[ルールを追加]** を選択し、ルールのタイプ、プロトコル、ポート、および送信元を入力します。

      タイプが TCP または UDP の場合は、許可するポート範囲を入力する必要があります。カスタムの ICMP の場合は、[**プロトコル**] から ICMP タイプ名を選択し、該当するものがある場合は [**ポート範囲**] からコード名を選択します。その他のタイプについては、プロトコルとポート範囲は自動的に設定されます。

   1. ルールを更新するには、必要に応じてプロトコル、説明、送信元を変更します。ただし、送信元のタイプを変更することはできません。例えば、送信元が IPv4 CIDR ブロックの場合、IPv6 CIDR ブロック、プレフィックスリスト、またはセキュリティグループを指定することはできません。

   1. ルールを削除するには、**[削除]** ボタンを選択します。

1. アウトバウンドルールを編集するには、**[アクション]** または **[アウトバウンドルール]** タブから **[アウトバウンドルールを編集]** を選択します。

   1. ルールを追加するには、**[ルールを追加]** を選択し、ルールのタイプ、プロトコル、ポート、および送信先を入力します。オプションとして説明を入力することもできます。

      タイプが TCP または UDP の場合は、許可するポート範囲を入力する必要があります。カスタムの ICMP の場合は、[**プロトコル**] から ICMP タイプ名を選択し、該当するものがある場合は [**ポート範囲**] からコード名を選択します。その他のタイプについては、プロトコルとポート範囲は自動的に設定されます。

   1. ルールを更新するには、必要に応じてプロトコル、説明、送信元を変更します。ただし、送信元のタイプを変更することはできません。例えば、送信元が IPv4 CIDR ブロックの場合、IPv6 CIDR ブロック、プレフィックスリスト、またはセキュリティグループを指定することはできません。

   1. ルールを削除するには、**[削除]** ボタンを選択します。

1. [**ルールの保存**] を選択します。

------
#### [ AWS CLI ]

**セキュリティグループルールを追加するには**  
[authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) コマンドを使用して、インバウンドルールを追加します。次の例では、指定されたプレフィックスリストの CIDR ブロックからの、インバウンド SSH トラフィックを許可します。

```
aws ec2 authorize-security-group-ingress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,PrefixListIds=[{PrefixListId=pl-f8a6439156EXAMPLE}]'
```

[authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) コマンドを使用して、アウトバウンドルールを追加します。次の例では、指定されたセキュリティグループを持つインスタンスへの、ポート 80 でのアウトバウンド TCP トラフィックを許可します。

```
aws ec2 authorize-security-group-egress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bb6EXAMPLE}]'
```

**セキュリティグループルールを削除するには**  
インバウンドルールを削除するには、次の [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) コマンドを使用します。

```
aws ec2 revoke-security-group-egress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-09ed298024EXAMPLE
```

アウトバウンドルールを削除するには、次の [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) コマンドを使用します。

```
aws ec2 revoke-security-group-ingress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-0352250c1aEXAMPLE
```

**セキュリティグループのルールを変更するには**  
[modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html) コマンドを使用します。次の例では、指定されたセキュリティグループルールの IPv4 CIDR ブロックを変更します。

```
aws ec2 modify-security-group-rules \
    --group id sg-1234567890abcdef0 \
    --security-group-rules 'SecurityGroupRuleId=sgr-09ed298024EXAMPLE,SecurityGroupRule={IpProtocol=tcp,FromPort=80,ToPort=80,CidrIpv4=0.0.0.0/0}'
```

------
#### [ PowerShell ]

**セキュリティグループルールを追加するには**  
インバウンドルールを追加するには、[Grant-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupIngress.html) コマンドレットを使用します。次の例では、指定されたプレフィックスリストの CIDR ブロックからの、インバウンド SSH トラフィックを許可します。

```
$plid = New-Object -TypeName Amazon.EC2.Model.PrefixListId
$plid.Id = "pl-f8a6439156EXAMPLE"
Grant-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=22; ToPort=22; PrefixListIds=$plid}
```

アウトバウンドルールを追加するには、[Grant-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupEgress.html) コマンドレットを使用します。次の例では、指定されたセキュリティグループを持つインスタンスへの、ポート 80 でのアウトバウンド TCP トラフィックを許可します。

```
$uigp = New-Object -TypeName Amazon.EC2.Model.UserIdGroupPair
$uigp.GroupId = "sg-0aad1c26bb6EXAMPLE"
Grant-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=80; ToPort=80; UserIdGroupPairs=$uigp}
```

**セキュリティグループルールを削除するには**  
インバウンドルールを削除するには、[Revoke-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupIngress.html) コマンドレットを使用します。

```
Revoke-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-09ed298024EXAMPLE
```

アウトバウンドルールを削除するには、[Revoke-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupEgress.html) コマンドレットを使用します。

```
Revoke-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-0352250c1aEXAMPLE
```

**セキュリティグループのルールを変更するには**  
[Edit-EC2SecurityGroupRule](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SecurityGroupRule.html) コマンドレットを使用します。次の例では、指定されたセキュリティグループルールの IPv4 CIDR ブロックを変更します。

```
$sgrr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleRequest
$sgrr.IpProtocol = "tcp"
$sgrr.FromPort = 80
$sgrr.ToPort = 80
$sgrr.CidrIpv4 = "0.0.0.0/0"
$sgr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleUpdate
$sgr.SecurityGroupRuleId = "sgr-09ed298024EXAMPLE"
$sgr.SecurityGroupRule = $sgrr
Edit-EC2SecurityGroupRule  `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRule $sgr
```

------

# Amazon EC2 セキュリティグループの削除
<a name="deleting-security-group"></a>

Amazon EC2 インスタンスで使用するために作成したセキュリティグループの使用が済んだら、削除できます。

**要件**
+ セキュリティグループをインスタンスまたはネットワークインターフェイスに関連付けることはできません。
+ 別のセキュリティグループのルールでセキュリティグループを参照することはできません。

------
#### [ Console ]

**セキュリティグループを削除するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. (オプション) セキュリティグループがインスタンスに関連付けられていないことを確認するには、以下の操作を実行します。

   1. ナビゲーションペインで、[**Security Groups**] を選択してください。

   1. 削除するセキュリティグループの ID をコピーします。

   1. ナビゲーションペインで、[**インスタンス**] を選択してください。

   1. 検索バーで、**[セキュリティグループ ID が次と等しい]** フィルターを追加し、セキュリティグループの ID を貼り付けます。結果がない場合、セキュリティグループはインスタンスに関連付けられていません。それ以外の場合、セキュリティグループを削除するには、セキュリティグループの関連付けを解除する必要があります。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. セキュリティグループを選択して、**[アクション]**、**[セキュリティグループを削除]** を選択します。

1. 複数のセキュリティグループを選択した場合は、確認を求められます。一部のセキュリティグループを削除できない場合は、削除されるかどうかを示す、各セキュリティグループのステータスが表示されます。削除を確認するには、「**Delete**」と入力します。

1. **[削除]** を選択します。

------
#### [ AWS CLI ]

**セキュリティグループを削除するには**  
次の [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) コマンドを使用します。

```
aws ec2 delete-security-group --group-id sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**セキュリティグループを削除するには**  
[Remove-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SecurityGroup.html) コマンドレットを使用します。

```
Remove-EC2SecurityGroup -GroupId sg-1234567890abcdef0
```

------

# Amazon EC2 セキュリティグループの接続の追跡
<a name="security-group-connection-tracking"></a>

セキュリティグループは、接続追跡を使用してインスタンスを出入りするトラフィックに関する情報を追跡します。ルールはトラフィックの接続の状態に基づいて適用され、トラフィックを許可するか拒否するかが判断されます。このアプローチでは、セキュリティグループはステートフルです。これは、セキュリティグループのアウトバウンドルールにかかわらず、インバウンドトラフィックに対するレスポンスがインスタンスから送信されることを許可することを意味します。逆も同じです。

例えば、自宅のコンピュータからインスタンスに対し netcat や同様の ICMP コマンドを開始する場合を考えます。この時、インバウンドセキュリティグループは、ICMP トラフィックを許可しているとします。接続に関する情報 (ポート情報を含む) が追跡されます。コマンドに対するインスタンスからのレスポンストラフィックは、新しいリクエストではなく確立済みの接続として追跡されます。また、セキュリティグループのアウトバウンドルールが、アウトバウンドの ICMP トラフィックを制限している場合でも、このトラフィックはインスタンスから外部に出力されることが許されます。

TCP、UDP、または ICMP 以外のプロトコルの場合は、IP アドレスとプロトコル番号のみが追跡されます。インスタンスが別のホストにトラフィックを送信し、そのホストが 600 秒以内に同じタイプのトラフィックをインスタンスに送信した場合、インスタンスのセキュリティグループはインバウンドセキュリティグループルールに関係なく、そのトラフィックを受け入れます。そのトラフィックが元のトラフィックのレスポンストラフィックとみなされるからです。

セキュリティグループルールを変更しても、そのルールで追跡された接続がすぐに中断されることはありません。セキュリティグループは、既存の接続がタイムアウトするまで引き続きパケットを許可します。トラフィックをすぐに中断するか、追跡状態に関係なくすべてのトラフィックをファイアウォールルールの対象にするには、サブネットにネットワーク ACL を使用します。ネットワーク ACL はステートレスであるため、レスポンスのトラフィックを自動的には許可しません。いずれかの方向のトラフィックをブロックするネットワーク ACL を追加すると、既存の接続が切断されます。詳細については、「*Amazon VPC ユーザーガイド*」の「[ネットワーク ACL](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)」を参照してください。

**注記**  
セキュリティグループは、「VPC \$12 IP アドレス」(「*Amazon Route 53 デベロッパーガイド*」の「[Amazon Route 53 Resolver とは](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)」を参照)、または「AmazonProvidedDNS」(「*Amazon Virtual Private Cloud ユーザーガイド*」の「[DHCP オプションセットの使用](https://docs.aws.amazon.com/vpc/latest/userguide/DHCPOptionSet.html)」を参照) と呼ばれることもある Route 53 Resolver から送受信される DNS トラフィックに影響を及ぼすことはありません。Route 53 Resolver で DNS リクエストをフィルタリングしたい場合は、Route 53 Resolver DNS ファイアウォールを有効にできます (「*Amazon Route 53 デベロッパーガイド*」の「[Route 53 Resolver DNS ファイアウォール](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html)」を参照)。

## 追跡されていない接続
<a name="untracked-connections"></a>

すべてのトラフィックフローが追跡されるわけではありません。セキュリティグループのルールがすべてのトラフィック (0.0.0.0/0 または ::/0) の TCP または UDP フローを許可していて、片方の方向には任意のポート (0～65535) のすべての応答トラフィック (0.0.0.0/0 または ::/0) を許可するルールがある場合、そのトラフィックフローは[自動的に追跡される接続](#automatic-tracking)の一部でない限り追跡されません。追跡されていないフローのレスポンストラフィックは、追跡情報ではなく、レスポンストラフィックを許可するインバウンドルールまたはアウトバウンドルールに基づいて許可されます。

追跡されていないトラフィックフローは、そのフローを有効にするルールが削除または変更されるとすぐに中断されます。例えば、オープン (0.0.0.0/0) のアウトバウンドルールがあり、インスタンスへのすべて(0.0.0.0/0) のインバウンドの SSH (TCP ポート 22) トラフィックを許可するルールを削除した場合 (または接続を許可しないように変更した場合)、インスタンスへの既存の SSH 接続はすぐに中断されます。接続はそれまで追跡されていないため、この変更によって接続が切断されます。一方、最初に細かく SSH 接続を許可する (つまり、接続を追跡する) インバウンドルールがある場合、現在の SSH クライアントのアドレスからの新しい接続を許可しないようにルールを変更しても、既存の SSH 接続は追跡対象であるため中断されません。

## 自動的に追跡される接続
<a name="automatic-tracking"></a>

セキュリティ グループの構成で追跡が必要ない場合でも、次の方法で行われた接続は自動的に追跡されます。
+ Egress-Only インターネットゲートウェイ
+ Global Accelerator アクセラレーター
+ NAT ゲートウェイ
+ Network Firewall ファイアウォールのエンドポイント
+ Network Load Balancer
+ AWS PrivateLink (インターフェイス VPC エンドポイント)
+ AWS Lambda (Hyperplane Elastic Network Interface)
+ DynamoDB のゲートウェイエンドポイント – DynamoDB への各接続は 2 つの conntrack エントリを消費します。

## 追跡できる接続の最大数
<a name="connection-tracking-throttling"></a>

Amazon EC2 では、インスタンスごとに追跡できる接続の最大数が定義されています。追跡が最大数に達すると、新しい接続が確立されることはないため、送受信されるパケットはすべてドロップされます。この場合、パケットを送受信するアプリケーションは正しく通信できません。`conntrack_allowance_available` ネットワークパフォーマンスメトリクスを使用して、そのインスタンスタイプでまだ利用可能な接続トラッキングの数を判断します。

インスタンスのネットワークトラフィックが追跡可能な接続の最大数を超えたために、パケットがドロップされたかどうかを判断するには、ネットワークパフォーマンスメトリクス `conntrack_allowance_exceeded` を参照します。詳細については、[EC2 インスタンスでの ENA 設定のネットワークパフォーマンスのモニタリング](monitoring-network-performance-ena.md)を参照してください。

Elastic Load Balancing を実行している際にインスタンスごとに追跡できる接続の最大数を超える場合は、ロードバランサーに登録されているインスタンスの数、あるいは登録されているインスタンスのサイズのいずれかをスケールすることをお勧めします。

## 接続追跡のベストプラクティス
<a name="connection-tracking-performance"></a>

トラフィックが特定のネットワークインターフェースからインスタンスに入り、別のネットワークインターフェースから外に出る、非対称ルーティングでは、フローを追跡した場合に、インスタンスが達成できるピークパフォーマンスが低下する可能性があります。

セキュリティグループで接続追跡が有効になっている場合にピークパフォーマンスを維持して接続管理を最適化するには、次の設定をお勧めします。
+ 可能であれば、非対称ルーティングトポロジーは避けてください。
+ フィルタリングにセキュリティグループを使用する代わりに、ネットワーク ACL を使用します。
+ 接続追跡でセキュリティグループを使用する必要がある場合は、可能な限り短い接続追跡のアイドル状態タイムアウトを設定します。接続追跡のアイドル状態タイムアウトの詳細については、次のセクションを参照してください。
+ Nitrov6 インスタンスではデフォルトのタイムアウト時間が短いため、存続期間の長い接続 (データベース接続プール、永続的な HTTP 接続、ストリーミングワークロードなど) を持つアプリケーションは、インスタンス起動時に適切な `TcpEstablishedTimeout` 値を設定する必要があります。
+ 存続期間の長い接続の場合は、接続を開いたままにして追跡状態を維持するために TCP キープアライブを 5 分未満の間隔で送信するように設定します。これにより、アイドルタイムアウトによる接続のドロップを防ぎ、接続の再確立のオーバーヘッドを削減できます。

Nitro システムによるパフォーマンスチューニングの詳細については、[Nitro System のパフォーマンスチューニングに関する考慮事項](ena-nitro-perf.md)を参照してください。

## アイドル接続追跡タイムアウト
<a name="connection-tracking-timeouts"></a>

セキュリティグループは、確立された各接続を追跡し、リターンパケットが期待どおりに配信されることを保証します。インスタンスごとに追跡できる接続の最大数があります。接続がアイドル状態のままになると、接続追跡が使い果たされることで接続が追跡されなくなり、また、パケットがドロップされる原因となります。Elastic Network Interface では、アイドル接続の追跡にタイムアウトを設定できます。

**注記**  
この機能は、[Nitro ベースのインスタンス](instance-types.md#instance-hypervisor-type)でのみ使用できます。Nitrov6 世代インスタンスでアプリケーションをテストするには、本番環境にデプロイする前に、`350` 2 番目のデフォルトの接続追跡タイムアウトを短くする必要があります。

設定可能なタイムアウトは 3 つ用意されています。
+ **TCP 確立タイムアウト**: 確立された状態のアイドル TCP 接続のタイムアウト (秒単位)。
  + 最小: `60` 秒
  + 最大: `432000` 秒
  + デフォルト: [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) インスタンスタイプ (P6e-GB200 を除く) の場合、`350` 秒。その他のインスタンスタイプ (P6e-GB200 を含む) の場合、`432000` 秒。
  + 推奨: `432000` 秒未満
+ **UDP タイムアウト**: 単一方向、または 1 つのリクエスト-レスポンストランザクションのみのトラフィックが発生した、アイドル状態にある UDP フローのタイムアウト (秒単位)。
  + 最小: `30` 秒
  + 最大: `60` 秒
  + デフォルト: `30` 秒
+ **UDP ストリームタイムアウト**: 複数のリクエスト-レスポンストランザクションが発生したストリームとして分類される、アイドル状態にある UDP フローのタイムアウト (秒単位)。
  + 最小: `60` 秒
  + 最大: `180` 秒
  + デフォルト: `180` 秒

以下のいずれかに当てはまる場合は、デフォルトのタイムアウトの変更が必要になる場合があります。
+  [Amazon EC2 のネットワークパフォーマンスメトリクスを使用して追跡接続をモニタリング](monitoring-network-performance-ena.md)している場合は、*conntrack\$1allowance\$1exceeded* および *conntrack\$1allowance\$1available* メトリクスにより、ドロップされたパケットと追跡された接続使用率をモニタリングできるようになります。これにより、スケールアップまたはスケールアウトアクションにより EC2 インスタンスの容量を事前に管理し、パケットのドロップが発生する前にネットワーク接続の需要を満たすことができます。EC2 インスタンスで *conntrack\$1allowance\$1exceeded* のドロップが観測された場合は、不適切なクライアントやネットワークのミドルボックスが原因で TCP/UDP セッションの使用期間が長くなりすぎることを考慮して、TCP 確立のタイムアウトを低く設定すると、メリットが得られる場合があります。
+ 通常、ロードバランサーまたはファイアウォールの TCP Established アイドルタイムアウトは、60 分～90 分の範囲に設定されています。ネットワークファイアウォールなどのアプライアンスからの、非常に多くの (10万件を超える) 接続を処理することが予想されるワークロードを実行している場合は、EC2 ネットワークインターフェイスでも同様のタイムアウトを設定することをお勧めします。
+ 非対称ルーティングトポロジを使用するワークロードを実行している場合は、TCP 確立アイドルタイムアウトを 60 秒に設定することをお勧めします。
+ 主に UDP を使用してリクエストを処理するサービス (例えば DNS、SIP、SNMP、Syslog、Radius) など、接続数が多いワークロードを実行している場合、「UDP ストリーム」のタイムアウトを 60 秒に設定すると、既存の容量のスケール対パフォーマンス比が向上し、グレーな障害を防ぐことができます。
+ Network Load Balancer を経由する TCP/UDP 接続では、すべての接続が追跡されます。TCP フローのアイドルタイムアウト値は 350 秒、UDP フローのアイドルタイムアウト値は 120 秒で、インターフェイスレベルのタイムアウト値により変化します。ロードバランサーのデフォルトよりもタイムアウトを柔軟にするために、ネットワークインターフェイスレベルでタイムアウトを設定することもできます。

以下の操作を行う際には、接続追跡のタイムアウト設定のオプションが用意されています。
+ [ネットワークインターフェイスの作成](create-network-interface.md)
+ [ネットワークインターフェイス属性の変更](modify-network-interface-attributes.md)
+ [EC2 インスタンスの起動](ec2-instance-launch-parameters.md#liw-network-settings)
+ [EC2 インスタンスの起動テンプレートの作成](ec2-instance-launch-parameters.md#liw-network-settings)

## 例
<a name="connection-tracking-example"></a>

次の例では、セキュリティグループに TCP および ICMP トラフィックを許可するインバウンドルールと、すべてのアウトバウンドトラフィックを許可するアウントバウンドルールがあります。


**インバウンド**  

| プロトコルのタイプ | ポート番号 | ソース | 
| --- | --- | --- | 
| TCP  | 22 (SSH) | 203.0.113.1/32 | 
| TCP  | 80 (HTTP) | 0.0.0.0/0 | 
| TCP  | 80 (HTTP) | ::/0 | 
| ICMP | すべて | 0.0.0.0/0 | 


**アウトバウンド**  

| プロトコルのタイプ | ポート番号 | 目的地 | 
| --- | --- | --- | 
| すべて | すべて | 0.0.0.0/0 | 
| すべて | すべて | ::/0 | 

インスタンスまたはネットワークインターフェイスに対して直接ネットワーク接続を確立した場合、追跡動作は次のようになります。
+ インバウンドルールでは 203.0.113.1/32 からのトラフィックのみ許可されるため、ポート 22 のインバウンドおよびアウトバウンド TCP トラフィック (SSH) は追跡されますが、必ずしもすべての IP アドレス (0.0.0.0/0) が追跡されるとは限りません。
+ インバウンドルールとアウトバウンドルールですべての IP アドレスからのトラフィックが許可されるため、ポート 80 (HTTP) のインバウンドおよびアウトバウンド TCP トラフィックは追跡されません。
+ ICMP トラフィックは常に追跡されます。

IPv4 トラフィックのアウトバウンドルールを削除すると、ポート 80 (HTTP) のトラフィックを含めすべてのインバウンドおよびアウトバウンド IPv4 トラフィックが追跡されます。IPv6 トラフィックのアウトバウンドルールを削除すると、IPv6 トラフィックでも同じことが起きます。

# さまざまなユースケースのセキュリティグループのルール
<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)