AWS 보안 그룹 인바운드 규칙 설정하기

김철기·2022년 3월 17일
5

안녕하세요. Gameeye에서 deeplol.gg 서비스를 개발 중인 김철기입니다.
클라우드 서버 인프라 구축, 백엔드 개발, 딥러닝 모델 연구를 담당하고 있습니다.

AWS EC2 보안 그룹은 외부에서 해당 EC2로의 접근을 허용/제한하는 인바운드 규칙과 해당 EC2에서 외부로의 접근을 허용/제한하는 아웃바운드 규칙을 설정할 수 있습니다. 대부분의 보안 이슈는 우리 EC2로 들어오는 악의적인 접근에 의해 발생합니다. 따라서 해당 포스팅은 인바운드 규칙 위주로 설명드리겠습니다.

*** 해당 포스팅에는 동적으로 생성되는 인프라에서의 보안 그룹을 설정할 수 있는 방법이 포함되어 있습니다!

보안 그룹의 인바운드 규칙

보안 그룹의 인바운드 규칙은 앞서 말씀드린 것처럼 외부에서 해당 보안 그룹에 속한 인스턴스에 접근하는 것을 허용 또는 제한할 수 있습니다. 쉽게 말해 미리 약속된 인스턴스는 접근을 허용해주고 그렇지 않은 인스턴스는 접근을 제한할 수 있는 것이죠.

인바운드 규칙 설정

AWS Console에서 인바운드 규칙을 설정하는 기본적인 방법입니다.

보안 그룹 페이지로 이동

AWS EC2 페이지 > 왼쪽 메뉴 인스턴스 > 설정하고자 하는 인스턴스 > 하단의 보안 탭 > 보안 그룹 클릭
또는
AWS EC2 페이지 > 왼쪽 메뉴 보안 그룹 > 설정하고자 하는 인스턴스 보안 그룹 클릭

인바운드 규칙 편집

보안 그룹 페이지 > 우측 하단의 인바운드 규칙 편집 버튼 클릭

접근을 허용하고자 하는 프로토콜과 포트, 소스를 입력하신 후 우측 하단의 규칙 저장 버튼을 클릭하시면 됩니다.

동적인 인프라 환경에 적용하기

사실 해당 포스팅을 작성하는 가장 큰 이유가 해당 내용입니다. 저는 Auto-Scaling을 사용하여 동적으로 인스턴스가 증감하는 인프라를 사용중입니다. 이러한 인프라 구성에서 만약 특정 IP를 소스로 설정하여 인바운드 규칙을 구성해야한다면 우리는 새로 생성되는 인스턴스의 IP를 미리 알 수 없기때문에 대처할 수 없습니다. 따라서 동적인 인프라에서는 조금 다른 설정이 필요합니다.

IP가 아닌 보안 그룹을 정의

인바운드 규칙에서 소스를 IP가 아닌 보안 그룹으로 지정하는 경우 해당 보안 그룹이 적용된 인스턴스들의 접근을 허용할 수 있습니다. Auto-Scaling으로 생성되는 인스턴스들의 보안 그룹을 미리 소스로 정의하는 것이죠. 아주 간단합니다!

프라이빗 IP만 유효

퍼블릭 IP의 경우 보안 그룹을 소스로 정의하는 방식에서는 접근이 불가능합니다. 프라이빗 IP만 유효하니 기존에 설정된 IP를 프라이빗 IP로 수정해주세요. 이 부분은 단순 기능적인 문제를 넘어 보안 상으로도 필요한 조치입니다.

최소 권한 부여 원칙

보안 그룹에서는 최소 권한 부여 원칙을 준수해야 합니다. 꼭 필요한 IP대역만 허용하시고 불필요한 IP와 Port는 제거해주시는 것이 보안, 운영에 도움이 됩니다.

정리

해당 포스팅에서는 AWS EC2의 보안 그룹 중 인바운드 규칙을 설정하는 기본적인 방법을 살펴보고 동적인 인프라에서 어떻게 적용해야하는지까지 살펴보았습니다. 설정하는 방법이 어렵지는 않지만 모르는 내용이라면 쉽게 생각하기 어려운 내용이라고 생각됩니다. 동적 인프라를 구축하면서 특정 인스턴스에 접근해야하는 문제에 직면하신 분들이 이 포스팅을 읽고 쉽게 해결하셨으면 좋겠습니다. 추가로 궁금한 내용이 있으시면 댓글 남겨주시면 답변 드리겠습니다. 감사합니다.

profile
Deepveloper, deeplol.gg, fleaman.shop

1개의 댓글

comment-user-thumbnail
2023년 6월 3일

HTTPS server 를 AWS 에서 운영중인데, 인바운드 규칙 편집에서 HTTPS TCP 443 을 Anywhere IPv4, Anywhere IPv6 다 열어 줬거든요? (vert.x JAVA 로 서버 돌리고 있습니다.)

그런데 서버 run 을 하고 domain (recoeve.net) 으로 접속을 해봤는데, response 가 없네요;;;; 아웃바운드를 수정해 줘야 하는건가요? 아니면 윈도우 방화벽 문제일까요?

답글 달기