보안 그룹 연결 추적 - Amazon Elastic Compute Cloud

보안 그룹 연결 추적

보안 그룹은 연결 추적을 사용해 인스턴스가 송수신하는 트래픽에 대한 정보를 추적합니다. 규칙은 트래픽의 연결 상태를 기반으로 적용되어 해당 트래픽을 허용 또는 거부할지 결정합니다. 이 방법을 사용하면 보안 그룹의 상태가 유지됩니다. 인바운드 트래픽에 대한 응답은 아웃바운드 보안 그룹 규칙에 관계없이 인스턴스에서 나가도록 허용되며 반대의 경우도 마찬가지입니다.

예를 들어 홈 컴퓨터에서 인스턴스에 대해 ICMP ping 명령을 실행하는데, 인바운드 보안 그룹 규칙에서 ICMP 트래픽을 허용한다고 가정하겠습니다. 연결에 대한 정보(포트 정보 포함)가 추적됩니다. ping 명령에 대한 인스턴스의 응답 트래픽은 새로운 요청이 아니라 설정된 연결로 추적되며, 아웃바운드 보안 그룹 규칙이 아웃바운드 ICMP 트래픽을 제한하더라도 인스턴스에서 나가도록 허용됩니다.

TCP, UDP 또는 ICMP 이외의 프로토콜에 대해서는 IP 주소와 프로토콜 번호만 추적됩니다. 인스턴스가 다른 호스트(호스트 B)로 트래픽을 보내고 호스트 B가 원래 요청 또는 응답으로부터 600초 이내에 별도의 요청으로 사용자의 인스턴스에 대해 동일한 유형의 트래픽을 시작할 경우 인스턴스는 인바운드 보안 그룹 규칙에 관계없이 해당 트래픽을 수락합니다. 인스턴스가 응답 트래픽으로 간주되기 때문에 트래픽을 수락하는 것입니다.

보안 그룹 규칙을 제거하는 즉시 트래픽이 중단되도록 하거나 모든 인바운드 트래픽이 방화벽 규칙에 따르도록 하려면 서브넷의 네트워크 ACL을 사용할 수 있습니다. 네트워크 ACL은 상태 비저장이므로 자동으로 응답 트래픽을 허용하지 않습니다. 자세한 내용은 Amazon VPC 사용 설명서네트워크 ACL를 참조하세요.

추적되지 않는 연결

모든 트래픽 흐름이 추적되지는 않습니다. 보안 그룹 규칙이 모든 트래픽(0.0.0.0/0 또는 ::/0)에 대해 TCP 또는 UDP를 허용하고, 다른 방향에서 모든 포트(0~65535)에 대해 모든 응답 트래픽(0.0.0.0/0 또는 ::/0)을 허용하는 해당 규칙이 있을 경우 해당 트래픽 흐름은 추적되지 않습니다. 그러므로 응답 트래픽이 추적 정보가 아니라 응답 트래픽을 허용하는 인바운드 또는 아웃바운드를 기반으로 흐름이 허용됩니다.

흐름을 허용하는 규칙이 제거 또는 수정될 경우 추적되지 않는 트래픽 흐름이 즉시 중단됩니다. 예를 들어 열린 (0.0.0.0/0) 아웃바운드 규칙이 있고 인스턴스에 대한 모든 (0.0.0.0/0) 인바운드 SSH(TCP 포트 22) 트래픽을 허용하는 규칙을 제거하거나 연결이 더 이상 허용되지 않도록 수정할 경우 인스턴스에 대한 기존 SSH 연결이 즉시 삭제됩니다. 이전에 연결이 추적되지 않았으므로 변경으로 인해 연결이 끊어집니다. 반면에 처음에는 SSH 연결을 허용하는(연결이 추적되었음을 의미) 보다 좁은 범위의 인바운드 규칙이 있지만 현재 SSH 클라이언트의 주소에서 새 연결을 더 이상 허용하지 않도록 해당 규칙을 변경할 경우 규칙 변경으로 인해 기존 연결이 끊어지지 않습니다.

Example

다음 예제의 보안 그룹에는 TCP 및 ICMP 트래픽에 대한 특정 인바운드 규칙과 모든 아웃바운드 IPv4 및 IPv6 트래픽을 허용하는 아웃바운드 규칙이 있습니다.

인바운드 규칙
프로토콜 유형 포트 번호 소스 IP
TCP 22 (SSH) 203.0.113.1/32
TCP 80 (HTTP) 0.0.0.0/0
TCP 80 (HTTP) ::/0
ICMP All 0.0.0.0/0
아웃바운드 규칙
프로토콜 유형 포트 번호 목적지 IP
All All 0.0.0.0/0
All All ::/0
  • 인바운드 규칙은 203.0.113.1/32의 트래픽만 허용하며 모든 IP 주소(0.0.0.0/0)를 허용하는 것은 아니기 때문에 인스턴스에서 양방향으로 이동하는 포트 22(SSH)의 TCP 트래픽이 추적됩니다.

  • 인바운드 및 아웃바운드 규칙이 모든 TCP 트래픽(0.0.0.0/0 또는 ::/0)을 허용하기 때문에 인스턴스에서 양방향으로 이동하는 포트 80(HTTP)의 TCP 트래픽이 추적되지 않습니다.

  • 규칙에 관계없이 ICMP 트래픽은 항상 추적됩니다.

  • 보안 그룹에서 아웃바운드 규칙을 제거할 경우 포트 80을 통해 전송되는 트래픽(HTTP)을 비롯하여 해당 인스턴스로/에서 송/수신되는 모든 트래픽이 추적됩니다.

Throttling

Amazon EC2는 인스턴스당 추적할 수 있는 최대 연결 수를 정의합니다. 최대값에 도달하면 새 연결을 설정할 수 없기 때문에 전송하거나 수신하는 패킷이 삭제됩니다. 이 경우 패킷을 전송하고 수신하는 애플리케이션이 제대로 통신할 수 없습니다.

인스턴스의 네트워크 트래픽이 추적할 수 있는 최대 연결 수를 초과하여 패킷이 삭제되었는지 여부를 확인하려면 conntrack_allowance_exceeded 네트워크 성능 지표를 사용합니다. 자세한 내용은 EC2 인스턴스의 네트워크 성능 모니터링 섹션을 참조하세요.

네트워크 로드 밸런서를 통해 이루어진 연결은 보안 그룹 구성에 추적하도록 설정되어 있지 않더라도 자동으로 추적됩니다. 인스턴스당 추적할 수 있는 최대 연결 수를 초과할 경우 로드 밸런서에 등록된 인스턴스의 수 또는 로드 밸런서에 등록된 인스턴스의 크기를 조정하는 것이 좋습니다.