複数のEC2セキュリティグループ-許容的または制限的?


27

インスタンスに複数のセキュリティグループを割り当てるとどうなりますか?セキュリティグループのいずれかが許可した場合にトラフィックが許可されるという意味で許容されますか。または、すべてのセキュリティグループが通過するトラフィックを許可する必要があるという意味で制限されていますか?

たとえば、同じアカウントの他のインスタンスとのみ通信するインスタンスのクラスがあるとしましょう。HTTP(ポート80)経由のトラフィックのみを受け入れるインスタンスのクラスもあります。

2つのセキュリティグループを作成して適用することにより、内部インスタンスへのアクセスをHTTP経由でのみ制限することは可能ですか?

  1. 「内部」セキュリティグループ。すべてのトランスポート(TCP、UDP、ICMP)のすべてのポートで、そのセキュリティグループの他のメンバーからのすべてのトラフィックを許可する
  2. 「http」セキュリティグループを作成します。任意のソースからTCP経由でポート80へのすべてのトラフィックを許可します。

または、ソース自体が存在するポート80からのトラフィックを許可する単一のセキュリティグループを作成する必要がありますか?

回答:


5

インスタンスに複数のセキュリティグループがある場合、さまざまなグループのすべてのルールの合計が含まれます。

たとえば、同じアカウントの他のインスタンスとのみ通信するインスタンスのクラスがあるとしましょう。また、http(ポート80)経由のトラフィックのみを受け入れるインスタンスのクラスもあります。

これは、AWS Virtual Private Cloudに最適な状況です。内部インスタンスをプライベートサブネットに配置し、パブリックに面するインスタンスをパブリックサブネットに配置します。


ceejayoz-それは「制限的な」ケースですか?2つのセキュリティグループソリューションが機能するということですか?VPCソリューションについて合意しました。私の例は、複数のグループがどのように機能するかを理解することでした。ところで、どこで答えを見つけましたか?
–SFun28

内部インスタンス用のセキュリティグループと、公開インスタンス用のセキュリティグループが必要です。パブリックに面した80:0.0.0.0/0グループを内部インスタンスに追加すると、パブリックインターネットで利用できるようになります。
ceejayoz

1
非常に明確にするために、個々のセキュリティグループのいずれかが許可した場合にトラフィックが許可されると言っていますか?私は「すべてのルールの合計」についてのあなたのコメントに見捨てられています。合計を考えるとき、私はORではなくANDだと思うからです。
SFun28

2
はい、インスタンスに適用されたグループのいずれかがそれを許可する場合、許可されます。グループルールはANDではなくORで結合されます。
ceejayoz

7
何をすべきかという考えを挿入するのではなく、質問された質問に人々が答えることができないのはなぜですか。あなたがそれをするつもりなら、少なくとも適切に最初に質問に答えてください。Jeez
ビルロスマス

28

寛容。

ここAWSによると:http//docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

特定のポートに複数のルールがある場合、最も寛容なルールを適用します。たとえば、IPアドレス203.0.113.1からTCPポート22(SSH)へのアクセスを許可するルールと、全員からTCPポート22へのアクセスを許可する別のルールがある場合、誰もがTCPポート22にアクセスできます。


3

AWSドキュメントサポートからの応答は次のとおりです。彼らはドキュメントを更新すると言った:

1つ以上のセキュリティグループ内の競合するルールに関する同様の問題に対処するディスカッションフォーラムの投稿をいくつか見つけました。

https://forums.aws.amazon.com/thread.jspa?messageID=221768

https://forums.aws.amazon.com/thread.jspa?messageID=349244吼

複数のセキュリティグループがインスタンスに適用されると、ルールは1つの大きなルールセットを作成するために集約されます。EC2では、セキュリティグループルールは許可のみです。つまり、拒否ルールを追加することはできません。これが意味することは、最も寛容なルールが常に適用されるということです。たとえば、IPアドレス10.10.10.10からポート22へのアクセスを許可するセキュリティグループと、全員からポート22へのアクセスを許可する別のセキュリティグループがある場合、全員がインスタンスのポート22にアクセスできます。


0

ルールのソースまたは宛先としてセキュリティグループを指定すると、そのルールはセキュリティグループに関連付けられているすべてのインスタンスに影響します。着信トラフィックは、ソースセキュリティグループに関連付けられているインスタンスのプライベートIPアドレスに基づいて許可されます(パブリックIPまたはElastic IPアドレスではありません)。IPアドレスの詳細については、「Amazon EC2インスタンスのIPアドレス指定」を参照してください。セキュリティグループルールがピアVPC内のセキュリティグループを参照し、参照されたセキュリティグループまたはVPCピアリング接続が削除された場合、ルールは失効としてマークされます。詳細については、Amazon VPCピアリングガイドの「古いセキュリティグループルールの使用」を参照してください。

特定のポートに複数のルールがある場合、最も寛容なルールを適用します。たとえば、IPアドレス203.0.113.1からTCPポート22(SSH)へのアクセスを許可するルールと、全員からTCPポート22へのアクセスを許可する別のルールがある場合、誰もがTCPポート22にアクセスできます。

複数のセキュリティグループをインスタンスに関連付けると、各セキュリティグループのルールが効果的に集約されて、1セットのルールが作成されます。このルールセットを使用して、アクセスを許可するかどうかを決定します。

注意複数のセキュリティグループをインスタンスに割り当てることができるため、インスタンスには数百のルールを適用できます。これにより、インスタンスにアクセスするときに問題が発生する場合があります。したがって、できる限りルールを凝縮することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.