보안그룹이란?
- 인스턴스로 외부에서 내부로 들어오는 트래픽 (인바운드) 내부에서 외부로 나가는 트래픽(아웃바운드)을 관리하는 문지기 같은 역할.
- 프로토콜 유형, 포트, IP 등 지정 가능
- 대표 포트번호:
http - 80
ssh - 22
https - 443
보안그룹 특징
- 허용 규칙만 가능. 특정 IP만 비허용 불가.
- 아웃바운드 규칙은 기본적으로 모든 트래픽 (0.0.0.0) 허용 상태.
- 하나의 인스턴스에 여러 보안 그룹 설정 가능
- 각 인스턴스에 여러 보안 그룹 할당 가능 (각 보안 그룹의 모든 룰 적용)
- 한 번 인바운드/아웃바운드 통과한 트래픽은 아웃바운드/인바운드 규칙 적용 X
⇒ stateful 하다!
⇒ 즉, 아웃바운드를 전부 막아놔도, 인바운드에 443 포트 신호가 들어오면 해당 포트로 응답을 함.
설정하기
인바운드 규칙
- 웹서비스이므로 HTTP, HTTPS로 들어오는 모든 요청을 받도록 우선 설정.
- SSH를 통한 접근은 관리자(나)만 접근할 수 있도록 특정 IP만 열어두기.⇒ SSM (session manager)로 관리할 수 있음.
- ⇒ 만약 도서관, 카페, 회사 등 여러 곳에서 접근해야 하는 경우라면 특정 IP만 열어두는게 불가능함
아웃바운드 규칙
- 기본적으로 보안그룹은 stateful 하므로, 모든 위치로 허용한다.
- 추후 필요할 경우에만 설정.
설정이 완료됐다면?
해당 보안 그룹을 적용하고 싶은 인스턴스에 적용하면 된다.
용도에 따라 보안 그룹을 미리 설정해두고, 인스턴스를 생성해서 바로 적용해놓자!