본문 바로가기
AWS

[AWS] NACL vs Security Group

by chan10 2022. 4. 13.

NACL (Network ACL)

NACL은 방화벽과 같이 외부에서 유입되는 트래픽을 차단 및 허용하는 역할을 수행합니다. VPC에서 기능을 제공하고 있기에 VPC가 구성이 되어있어야 사용이 가능합니다.

 

-  트래픽 제어 시 서브넷 단위로 적용되기에 해당 서브넷에 포함된 모든 인스턴스에 적용됩니다.

    (여러 개의 서브넷에 적용이 가능합니다.)

-  Stateless 방식 -> 인바운드 정보를 저장하고 있지 않습니다. 아웃바운드 정책을 명시적으로 허용해야만 통신이 가능합니다.

    (하나의 통신 흐름이더라도 인바운드, 아웃바운드 트래픽 정책이 별도로 적용됩니다.)

-  Default Allow 정책이 적용되며 트래픽을 제어 하고 싶을 경우 Allow, Deny 정책을 추가할 수 있습니다.

    (Default NACL의 경우 Default Allow 정책이 있으며 제거할 수 있습니다.

     Allow 정책을 지우면 결과적으로 NACL도 Default Deny 정책이 적용됩니다.)

    (사용자가 생성한 NACL은 Default Allow 정책 없이 Default Deny 정책만 존재합니다.)

-  번호가 가장 낮은 규칙부터 판단합니다. 규칙에 일치하는 트래픽이 있으면 이와 모순되는 하위 규칙이 있더라도 적용됩니다.

 

참고

-  VPC당 최대 200개의 NACL 생성 가능

-  NACL당 인바운드 20개, 아웃바운드 20개 제한


Security Group

Security Group도 NACL과 마찬가지로 방화벽과 같이 트래픽을 제어하는 역할을 수행합니다. 다만, NACL에서 한번 필터링 된 트래픽에 대해 제어하게 됩니다.

 

-  트래픽 제어 시 인스턴스 단위로 적용됩니다.

-  Stateful 방식 -> 인바운드 트래픽 정보를 기억하고 있습니다.

    (인바운드 된 트래픽이 아웃바운드 시 아웃바운드 정책이 적용되지 않습니다.)

-  Default Deny 정책 적용으로 트래픽을 허용할 경우 정책을 추가해서 적용합니다.

-  Security Group은 Allow정책만 적용이 가능하며 트래픽 검토 시 모든 정책을 확인합니다.

 

참고

-  VPC 당 최대 2500개 까지 생성 가능

-  Security Group당 인바운드 60개, 아웃바운드 60개 제한

 


요약

  NACL Security Group
적용 범위 서브넷 인스턴스
상태 저장 여부 Stateless Stateful
Default Policy Default Allow Default Deny
적용 Action Allow, Deny Allow
Rule 검토 객체 내 모든 Rule 검토 Rule을 번호 순으로 처리

 

같은 서브넷끼리 통신할 때 : 인스턴스끼리 통신이기에 Security Group 정책이 적용 됨

다른 서브넷끼리 통신할 때 : 인스턴스를 넘어 네트워크 간 통신이 되기에 NACL의 정책이 먼저 적용되고, Security Group의 정책이 적용 됨

 

[참고사이트]

https://potato-yong.tistory.com/84

https://willseungh0.tistory.com/109