AWS, Amazon Web Service에서 Security group 설정하는 방법을 알아봅니다.



# Security Group이란?

Security Group은 접근 가능한 ip 및 port를 설정하여 외부로부터 제한하는 보안 서비스입니다. 웹서비스를 공개하여 운영하게 되는 경우 서버환경에 따라 외부에서 접근 못하도록 막는 경우가 반드시 필요합니다.



# AWS 접근을 제어, 통제하는 경우는 ?

예를들어 아래와 같은 부분들은 접근 허용을 통제해야할 필요가 있습니다.

- 데이터베이스(Database) 접근 포트 (Ex. 27017)
- SSH 방식의 접근 허용 설정 (Ex. 22)
- Test 및 개발에 사용되는 포트 (Ex. 8080, 8000)
- 국내에서만 ip 접근을 허용하는 경우

위와 같은 경우는 혹시모를 해킹시도 및 위험으로부터 서버, 데이터베이스를 안전하게 지키기 위해 반드시 필요한 조치입니다.


# AWS Security Group은 어떻게 설정하는가?

Security Group을 사용하는 방법은 비교적 간단합니다. 먼저 접근을 허용할 ip 주소를 설정하기 AWS의 Security Group 메뉴를 선택, 이동합니다.

Security group은 서비스 중인 Public ip에 대하여 외부의 어떤 ip 또는 port에서만 허용할 것인지 선택하여 추가합니다. 즉, 추가된 ip, port에 대하여만 접근을 허용하게 됩니다. 자세한 방법은 아래 스크린샷을 참고하세요. 

1) Security Group을 새롭게 생성합니다. 그룹에 저장된 설정은 나중에 손쉽게 선택, 사용할 수 있습니다.

2) 이미 생성된 Security Group을 조작합니다. 삭제, 수정, 복사 및 Outbound / Inbound rules를 설정할 수 있습니다.

3) 접근 타입을 비롯하여 Port 또는 IP를 설정할 수 있습니다. 이때 ip 선택시 My ip를 선택하면 현재의 ip 주소가 자동으로 추가됩니다. 즉, 현재 컴퓨터에서 저장할 수 있게됩니다.

4) Add Rule 버튼을 클릭하여 설정된 내용을 저정합니다. Rule은 계속해서 추가할 수 있습니다.


이제 저장된 ip에 대해서만 접근이 허용됩니다. 만약 접근이 허용되지 않은 ip에서 접근시도시 에러가 발생하게 됩니다.

(스크린샷) 저장된 Security Group을 선택해 저장 가능

! Group으로 만들어 관리하기
또한 허용하는 ip, port등을 더 쉽게 관리하기 위해서 그룹(Group)으로 관리하여 사용하는 것이 가능합니다. 즉 환경에 따라 다른 Group으로 저장해두면 간단하게 그룹을 변경하는 것만으로 간단하게 원하는 설정으로 변경하는 것이 가능합니다.

! 알아둘 것
참고로 Security 그룹을 설정할때는 Elastic IP, 즉 유동 ip인지 확인이 필요합니다. 현재 서비스 중인 웹어플리케이션이 Elastic Ip 설정이 없는 경우 서버 재구동시 ip가 바뀔 수 있으므로 꼭 확인하세요.