728x90
보안그룹에서 ALB를 통해서만 인스턴스에 접근할 수 있게 하기
인스턴스에 단독으로 직접 접근 차단
보안그룹 생성(로드밸런서용)

또 다른 보안 그룹 생성(인스턴스관리용)
- 인바운드 규칙을 앞에서 만든 demo-ALB-SG로 온 트래픽만 받도록 설정

인스턴스의 보안그룹 변경하기

방금 만든 demo-EC2-SG를 추가


새로운 보안 그룹이 추가된 모습

다른 인스턴스도 보안 그룹을 모두 추가해준다.

로드밸런서도 보안그룹 추가


NACL(Network ACL)
- 서브넷 단위로 적용되는 방화벽 규칙 세트
- 보안그룹과 달리, Stateless 방식
- 인바운드 규칙에 허용을 줬다고 해서 자동으로 아웃바운드가 허용되는 게 아님 -> 반드시 양쪽 방향에 규칙을 따로 설정해야 함
특징
- 적용 범위
- VPC 안에서 서브넷 단위로 적용됨(보안그룹은 EC2 인스턴스 단위)
- 하나의 서브넷에는 반드시 하나의 NACL만 연결 가능
- Stateless
- Inbound 규칙과 Outbound 규칙을 각각 작성해야 함
- 예: 인바운드 80포트 허용해도 아웃바운드 80포트를 따로 허용해야 응답이 가능
- 규칙 번호(Rule Number)
- 1~32766 사이의 번호를 가짐
- 번호가 낮을수록 우선순위가 높음
- 첫 번째로 매칭되는 규칙이 적용됨
- Allow / Deny 가능
- 보안그룹은 Allow만 가능 -> 기본적으로 Deny는 암묵적 거부
- NACL은 Allow와 Deny 모두 가능 -> 특정 IP를 차단 가능
- 기본(Default) NACL
- 모든 인바운드/아웃바운드 트래픽을 허용.
- 새로운 NACL은 기본적으로 모든 트래픽을 거부(Deny).
주의할 점
- 다양한 서브넷으로 구성 되어있는 멀티 티어 아키텍처라면 더 많은 고민이 필요함
- 가능한 보안그룹으로 먼저 처리 후 꼭 필요할 때 NACL 활용
- 하나의 서브넷은 하나의 NACL만 연동 가능, 단 하나의 NACL은 여러 서브넷 연동 가능
NACL에 인바운드 규칙추가
VPC > NACL
NACL가서 기본으로 있는 NACL 누르고 인바운드 규칙 추가
- 200 SSH Deny로 추가하기
- 그럼 새로 생성한 인스턴스에 SSH로 연결할 수 없어야한다.

인스턴스 생성해서 확인해보기
이름 : test
나머지는 그대로 AMI 아마존 리눅스, 키페어 없음, 보안그룹 기본

새로 만든 test 인스턴스에 연결해보기
- 아까 NACL에서 200번에 SSH로 연결을 Deny(거절) 했는데 연결이 된다.
- NACL은 번호가 낮은 것 부터 우선 적용된다. 그래서 SSH 접속이 되버림

NACL가서 200번 인바운드 제거하기
VPC > 보안그룹 > default > 아웃바운드 > 규칙삭제

로드밸런서의 DNS 주소로 접속해서 정삭 작동 되는지 확인
- 잘 된다. 로드밸런서는 Stateful이라서 인바운드를 통과한 트래픽은 별도 설정 없이 아웃바운드도 통과된다.
이번에는 NACL의 아웃바운드 100번을 Deny로 변경

NACL의 아웃바운드를 거부로 하니까 로드밸런서가 작동하지 않는다.
- 로딩스패너가 계속 돌아간다.

웹서버 만들기
이름: EC2-NEW
새로 생성한 인스턴스의 퍼블릭 IP로 접근 했을 때 [[AWS - EC2 Web 서버 만들기|It Works]] 가 나오도록 설정하기
인스턴스를 만들고 퍼블릭 IP로 접근하면 It Works가 나오지 않는다.
위에서 default 보안그룹의 아웃바운드를 제거했기 때문에 다시 default의 아웃바운드를 모든트래픽으로 열어주자
리소스 정리(별말 없으면 그냥 다 삭제)
- AutoScaling
- 로드밸런서
- 대상그룹
- 인스턴스
- 시작템플릿
728x90