앞서 이거와 같이 설정되어 있는 상태에서 이어서 실습을 진행할 것이다.
- 서브넷의 모든 ec2를 Security 그룹으로 묶고 NACL을 거치게 된다.
- 모든 서버는 꼭 NACL를 거쳐 Subnet단의 보안역할을 진행한다.
- 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할이다.
- 서브넷 수준이 아니라 인스턴스 수준에서 작동한다.(EC2인스턴스의 ENI와 연결됨, 작은 범위)
- 하나의 EC2 인스턴스 ENI에 5개까지 보안 그룹연결이 가능하다.
- 보안 그룹은 허용 규칙만 지정 가능하고 거부 규칙은 지정할 수 없다.
- 보안 그룹은 연결 상태를 추적하는 상태저장 방화벽 (Stateful Firewall)
- 보안 그룹은 생성된 VPC 내에서만 사용 가능
보안그룹이란?
Network Access Control List (NACL)이란?
- 서브넷 내부와 외부의 트래픽을 제어하는 방화벽
- 서브넷 레벨의 연결 방화벽
- 하나의 NACL은 여러 서브넷과 연결 가능
- 하나의 서브넷은 하나의 NACL만 연결 가능
- NACL은 허용 규칙과 거부 규칙 모두 지정 가능
- NACL은 연결 상태를 추적하지 않은 상태 비저장 방화벽 (Stateless Firewall)이다. (나가오 들어오고 모두 체크)
- 인바운드 트래픽에 대한 응답은 아웃바운드 트래픽 규칙을 따르고
- 아웃바운드 트래픽에 대한 응답은 인바운드 트래픽 규칙을 따른다.
- EC2 웹서버 운영시 외부에서 Client가 접속 후 리턴 트래픽을 받을 때 NAT를 사용하므로 임시포트 (ephemeral ports) 1024-65535를 사용한다.
NACL 규칙 번호
- 가장 낮은 규칙 번호가 지정된 규칙부터 시작해서 트래픽이 내부 또는 외부로 전달되도록 허용되는지 결정한다.
- 규칙에 사용할 수 있는 가장 높은 번호는 32766이다.
- 90번 규칙이 가장 낮으므로 먼저 적용된다.
- 따라서 HTTP 80 프로토콜의 트래픽은 1차적으로 허용한다.
- 그다음 낮은 규칙인 100번 규칙을 적용한다.
- 여기서는 모든 트래픽을 거부하므로 1차적으로 허용한 HTTP 80을 제외한 모두가 거부된다.
- 그다음 낮은 규칙인 101번 규칙을 적용하는데 이미 2차에서 모두 거부됐으므로 소용이 없다..
보안 그룹과 네트워크 ACL 차이점
보안 그룹 | 네트워크 ACL |
인스턴스 레벨에 적용 (ENI와 연결) | 서브넷 레벨에 적용 |
허용 규칙만 지원 | 허용 및 거부 규칙 지원 |
상태 저장 : 규칙에 관계없이 변환 트래픽이 자동으로 허용됨 | 상태 비저장 : 반환 트래픽이 규칙에 의해 명시적으로 허용 |
트래픽 허용 여부를 결정하기 전에 모든 규칙을 평가 | 트래픽 허용 여부를 결정할 때 번호가 가장 낮은 규칙부터 선수대로 규칙을 처리 |
인스턴스 시작 시 누군가 보안 그룹을 지정하거나, 나중에 보안 그룹을 인스턴스와 연결하는 경우에만 인스턴스에 적용 | 연결된 서브넷의 모든 인스턴스에 자동으로 적용 |
실습
- 인스턴스 시작을 눌러 생성화면으로 들어간다.
- 이름은 EC2_Linux_Web으로 설정 후 AWS 툴을 선택한다.
- 네트워크 [편집]을 눌러 서브넷은 Public Subnet을 선택 및 ip 자동활당하여 외부 접속을 용이
- 보안 그룹은 web_ssh_sg로 바꿔주고
- ssh - anywhere로 설정
- 보안그룹 규칙 추가하여 http 선택후 anywhere로 바꿔준다.
- 고급세부정보에서 사용자 데이터는 웹서버 스크립트를 넣어 인스턴스를 만든다.
#!/bin/bash
yum update -y
yum install httpd -y
systemctl enable httpd.service
systemctl start httpd.service
cd /var/www/html
echo "안녕하세요. AWS EC2입니다. $(hostname -f)" > index.html
완성!!
IPv4로 접속해보면 잘 접속이 된다!
즉, EC2가 보안그룹과 연결되고 이 EC2가 속한 서브넷이 네트워크 ACL과 연결된다.
ACL은 방화벽 역활을 해서 인,아웃바운드 역할을 수행하며 규칙에 따른다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
VPC Peering이란? (0) | 2023.01.22 |
---|---|
AWS NAT Instance and NAT Gateway (0) | 2023.01.22 |
AWS Route 53 Faliover & Multi value Routing Policy (0) | 2023.01.22 |
AWS Custom VPC 생성하기 (0) | 2023.01.16 |
AWS VPC 개요란? (0) | 2023.01.16 |