AWS DVA-C02 #40 서브넷 ACL 및 보안 그룹
AWS DVA-C02 #40 서브넷 ACL 및 보안 그룹 — #개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프 참고: ExamPotic Di...
#개발자의도구들 #AWS시험 #AWSDVA-C02 #DVA-c02문제 #DVA-c02덤프
참고: ExamPotic Disscussion
문제 찾는법 : 여기 최하단
요구사항 분석
- Lambda → Aurora DB (private subnet)
- Aurora는 VPC1, private subnet 안에 존재
- 보안적으로 안전하게 연결해야 함
보기 분석
A.
- Lambda를 VPC1에 연결
- Lambda와 DB에 같은 SG1을 부여
- SG1의 인바운드/아웃바운드에 3306 허용
B
- Lambda를 새 VPC2에 배포
- VPC Peering으로 VPC1 ↔ VPC2 연결
C.
- Lambda에 SG1, DB에 SG2 부여
- SG1 인바운드에서 3306 허용
D
- Aurora 데이터를 S3로 export
- Lambda가 S3에서 데이터 읽기
👏 핵심 솔루션 : vpc, subnet, SG 등 기본 보안에 대한 개념
A.
✅ 정답 패턴
⚠️ 권장 패턴은 SG를 따로 두어 인바운드 그룹을 서로 허용하도록 !
B.
❌ VPC peering만으로 subnet끼리 연동 불가
C.
❌ SG2의 인바운드 설정 미흡
D.
❌ 관리 오버헤드 증가, 보안적이지 않는 솔루션
요구 지식
✅ 인터넷에서 온 패킷이 어떻게 서버 인스턴스로 도달하는가?
👉 이걸알면 풀기 가능
개념 정리
VPC란?
기본적으로 AWS 리소스는 모두 VPC내에 들어있다. VPC는 특정 리소스들을 네트워크 상으로 묶은 요새 같은 개념이다.
서브넷
VPC를 기능별로 묶은 개념이다. Public subnet과 Private subnet이 존재한다. Public subnet은 인터넷과 연결을 허용 해도 되는 인스턴스가 들어있다. 예를들어 서비스용 스프링 서버를 Public Subnet에 배포할 수 있다.
반면, Private Subnet의 경우 외부 접근을 절대 허용하지 않아야 될 리소스들이 들어있다. 예를들어 DB와 같은 서비스들이다. 그럼에도 우리는 Subnet의 데이터를 외부에 공개해야한다. 이때는 Public subnet을 경유하여 공개한다.
👉 API 호출 (HTTPS) ↔ VPC ↔ Public Subnet ↔ Private Subnet ↔ DB
인터넷 패킷은 어떻게 VPC로 들어올까?
IGW
기본적으로 Internet Gateway를 VPC에 붙여야 internet 패킷이 VPC로 들어올 수 있다. 또한 라우팅 테이블을 설정해야, 특정 ip/port의 패킷이 특정 서브넷으로 전송이 가능해진다.
NACL
서브넷 경계에서 트래픽을 검사하는 문지기 역할이다. 승인 목록에 있는 경우에만 패킷을 서브넷 안으로 들여보낸다.
Stateless: 상태 비저장으로 모든 패킷에 대해 별도로 평가한다. 인,아웃 바운드 규칙을 모두 정의해야한다. 즉 기본적으로 인/아웃 바운드 모두 차단된 상태이다.
SG (Security Group)
서브넷에 들어왔다고 해도 끝이 아니다, 내부 리소스들에 대한 개별 접근 제어를 하기 위해 SG를 사용한다. 인바운드의 경우 허용된 트래픽만 통과가 가능하지만, 아웃바운드의 경우 기본적으로 모두 허용한다.
Stateful: 상태저장을 하기 때문에 인바운드에서 허용된 세션이면 아웃바운드 응답을 자동 허용한다. 인스턴스 단위로 적용된다.
🚀 NACL은 stateless라서 같은 패킷이라도 아웃바운드시 재검사 !