처음 만난 AWS 문서


3.3 Security Group

지금부터는 Security Group에 대해서 배워보도록 하겠습니다.

Security Group은 우리 말로 보안 그룹이라고 부릅니다.
이름이 가진 의미 그대로 보안을 위해 사용되는 개념이라고 보면 됩니다.

이 보안 그룹은 하나 이상의 인스턴스에 대한 트래픽을 제어하는 가상의 방화벽 역할을 합니다.
여기서 방확벽이라는 것에 대해서 한 번 짚고 넘어가도록 하겠습니다.

Firewall

방화벽은 영어로 Firewall이라고 하며, 컴퓨터의 보안을 위해 외부에서 내부 또는 내부에서 외부의 정보통신망에 접근하는 것을 허용하거나 차단하기 위한 시스템입니다.
그리고 AWS에서 이러한 방화벽의 역할을 하는 것이 바로 Security Group(보안 그룹)입니다.

Security Group이 작동하는 방식을 그림으로 나타내면 다음과 같습니다.

Security Group

먼저 서버의 입장에서 안으로 들어오는 트래픽Inbound 트래픽이라고 하며, 서버의 밖으로 나가는 트래픽Outbound 트래픽이라고 합니다.

그리고 Security Group은 서버와 클라이언트 사이에서 Inbound와 Outbound 트래픽을 허용하거나 차단하게 됩니다.
예를 들어, 인바운드 규칙에 등록되어 있으면 들어오는 트래픽을 허용하고, 그렇지 않으면 막히게 됩니다.
반대로 아웃바운드 규칙에 등록되어 있으면 나가는 트래픽을 허용하고, 그렇지 않으면 막히게 되는 것입니다.

그리고 위 그림에서 볼 수 있는 것처럼, 하나의 Security Group에는 보안 규칙이 여러개 등록될 수 있습니다.
이러한 규칙들 중 하나라도 만족할 경우에는 트래픽이 허용된다고 보면 됩니다.
또한 여러 개의 EC2 인스턴스가 하나의 Security Group과 연동될 수도 있습니다.

보안 그룹에서 중요한 점은 기본적으로 보안그룹은 모든 아웃바운드 트래픽을 허용한다는 점입니다.
이 말은 서버의 입장에서 밖으로 나가는 트래픽은 기본적으로 모두 허용한다는 뜻입니다.
쉽게 말해서, 들어올 때는 검사를 하지만 나갈 때는 신경쓰지 않겠다는 것이죠.

그리고 또 한 가지 보안 그룹에서 중요한 점은 보안 그룹 규칙은 항상 허용적이라는 점입니다.
그래서 액세스를 거부하는 규칙을 생성할 수 없습니다.

Security Group Rule

예를 들면, "특정 IP주소에서 서버의 3000번 포트로 접속하는 것을 허용하겠다." 라고 규칙을 작성할 수는 있지만, "특정 IP주소에서 서버의 3000번 포트로 접속하는 것을 허용하지 않겠다."처럼 액세스를 거부하는 형태로 규칙을 작성할 수 없다는 말입니다.

아래 화면은 AWS에서 보안그룹을 관리하기 위한 화면입니다.

AWS Console Security Group

여기에 보면 인바운드 규칙과 아웃바운드 규칙이 각각 탭으로 분리되어 있는 것을 볼 수 있으며, 여기에 내가 허용할 규칙들을 작성하면 됩니다.

보안 그룹에는 언제든지 규칙을 추가하고 제거할 수 있습니다.
그리고 이렇게 변경 된 규칙은 보안 그룹과 연결된 인스턴스에 자동으로 적용된다고 보면 됩니다.

또한 여러 보안 그룹을 하나의 인스턴스에 연결할 수도 있습니다.

Multiple Security Group 1

이렇게 할 경우 각 보안 그룹의 규칙이 유효하게 결합된 단일 규칙 세트가 생성됩니다.

Multiple Security Group 2

이렇게 말이죠.

그리고 이 규칙 세트를 사용하여 액세스를 허용할지 여부를 결정합니다.
쉽게 말해서, 인스턴스에 연결된 모든 보안 그룹의 합집합이 적용된다고 보면 됩니다.


마지막 업데이트: 2023년 11월 10일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.