例: サブネットのインスタンスへのアクセス制御
この例では、サブネットのインスタンスは相互に通信でき、信頼されたリモートコンピュータからアクセス可能です。リモートコンピュータは、ローカルネットワーク内のコンピュータであるか、別のサブネットまたは VPC 内のインスタンスである可能性があります。これを使用して、インスタンスに接続し、管理タスクを実行します。セキュリティグループルールとネットワーク ACL ルールでは、リモートコンピュータの IP アドレス (172.31.1.2/32) からのアクセスを許可します。インターネットまたは他のネットワークからのその他のトラフィックはすべて拒否されます。このシナリオでは、インスタンスのセキュリティグループまたはセキュリティグループルールを変更し、防衛のバックアップレイヤーとしてネットワーク ACL を持つことができます。
インスタンスに関連付けるセキュリティグループの例を次に示します。セキュリティグループはステートフルです。したがって、インバウンドトラフィックへの応答を許可するルールは必要ありません。
プロトコルのタイプ |
プロトコル |
ポート範囲 |
送信元 |
コメント |
すべてのトラフィック |
すべて |
すべて |
sg-1234567890abcdef0 |
このセキュリティグループに関連付けられたすべてのインスタンスは相互に通信できます。 |
SSH |
TCP |
22 |
172.31.1.2/32 |
リモートコンピュータからのインバウンド SSH アクセスを許可します。 |
プロトコルタイプ |
プロトコル |
ポート範囲 |
送信先 |
コメント |
すべてのトラフィック |
すべて |
すべて |
sg-1234567890abcdef0 |
このセキュリティグループに関連付けられたすべてのインスタンスは相互に通信できます。 |
次に、インスタンスのサブネットに関連付けるネットワーク ACL の例を示します。ネットワーク ACL ルールは、サブネット内のすべてのインスタンスに適用されます。ネットワーク ACL はステートレスです。したがって、インバウンドトラフィックへの応答を許可するルールが必要です。
ルール番号 |
タイプ |
プロトコル |
ポート範囲 |
送信元 |
許可/拒否 |
コメント |
100 |
SSH |
TCP |
22 |
172.31.1.2/32 |
許可 |
リモートコンピュータからのインバウンドトラフィックを許可します。 |
* |
すべてのトラフィック |
すべて |
すべて |
0.0.0.0/0 |
拒否 |
他のすべてのインバウンドトラフィックを拒否します。 |
ルール番号 |
タイプ |
プロトコル |
ポート範囲 |
送信先 |
許可/拒否 |
コメント |
100 |
カスタム TCP |
TCP |
1024-65535 |
172.31.1.2/32 |
許可 |
リモートコンピュータに対するアウトバウンド応答を許可します。 |
* |
すべてのトラフィック |
すべて |
すべて |
0.0.0.0/0 |
拒否 |
他のすべてのアウトバウンドトラフィックを拒否します。 |
誤ってセキュリティグループルールを過度に制限の低いものにした場合、この例ではネットワーク ACL ルールは指定した IP アドレスからのアクセスのみを許可し続けます。例えば、次のセキュリティグループには、任意の IP アドレスからのインバウンド SSH アクセスを許可するルールが含まれています。ただし、ネットワーク ACL を使用するサブネット内のインスタンスに、このセキュリティグループを関連付けると、ネットワーク ACL ルールによってサブネットへの他のインバウンドトラフィックが拒否されるため、そのインスタンスにアクセスできるのは、サブネット内およびリモートコンピュータ内の他のインスタンスのみです。
タイプ |
プロトコル |
ポート範囲 |
送信元 |
コメント |
すべてのトラフィック |
すべて |
すべて |
sg-1234567890abcdef0 |
このセキュリティグループに関連付けられたすべてのインスタンスは相互に通信できます。 |
SSH |
TCP |
22 |
0.0.0.0/0 |
すべての IP アドレスからの SSH アクセスを許可します。 |
タイプ |
プロトコル |
ポート範囲 |
送信先 |
コメント |
すべてのトラフィック |
すべて |
すべて |
0.0.0.0/0 |
すべてのアウトバウンドトラフィックを許可します。 |