AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안 - 섹션 3. AWS 클라우드 VPC 네트워크 이해와 인프라 구성
VPC 네트워크 구성 이해
VPC(Vitrual Private Cloud)
: 클라우드 서비스 내 논리적으로 독립된 가상의 네트워크
사용자 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨어, 보안 그룹, 네트워크 ACL 등을 생성/수정, 제어할 수 있음
- 기본 VPC : AWS에서 미리 생성, 1개
- 사용자 VPC : 사용자가 수동으로 생성, 최대 5개
VPC 특징
- 확장성 : vpc 자원을 생성, 수정, 삭제 가능, 편의성 제공
- 보안 : 보안그룹과 네트워크 ACL 제공
- 사용자 중심 : 관리 시각화 더할 수 있음
VPC 실습
: 사용자 VPC를 생성하고, 서브넷(Subnet)으로 퍼블릭과 프라이빗 대역을 구분
사용자 VPC : 10.0.0.0/16
퍼블릭 서브넷 : 10.0.0.0/24
프라이빗 서브넷 : 10.0.1.0/24
네트워크 구성 후 인스턴스를 생성하여 서버를 만든다. 그 다음 서버에 퍼블릭 서브넷 범위에서 IP 대역을 할당하고 VPC를 연결하는 방식으로 실습을 진행한다.
프로젝트 네트워크 구성
1개의 퍼블릭 서브셋과 2개의 프라이빗 서브셋으로 구성
퍼블릭 10.0.0.0/24
- 워드프레스, 오픈웹서버 배치
- 인터넷게이트웨이와 가상라우터를 통해 인터넷 연결
프라이빗 10.0.1.0/24 : 데이터베이스, 로봇서버 등 중요한 서버들 배치
프라이빗 10.0.2.0/24 : 오피스 구간, 내부 개발자 PC, 내부 점검 PC 등
- 내부(프라이빗)로는 인터넷이 직접적으로 연결될 수 없기 때문에 NAT게이트웨이(퍼블릭대역에 위치)를 통해 외부 IP와 접속
Amazon CloudWatch, CloudTail : 모니터링 서비스, VPC 망 안에 포함
S3 저장소 : 사용 방식에 따라 VPC 외부 또는 퍼블릭 대역에 위치
보안 그룹과 네트워크 ACL
보안 그룹
- 인스턴스 레벨의 접근 제어를 수행, 각각의 서버에 대한 방화벽이라고 이해
- Stateful 접근 제어 동작 : 이전 상태 정보를 기억, 인바운드로 들어오는 트래픽이 허용되면 아웃바운드로 돌아갈 때 규칙 상관 없이 허용. 허용할 것만 고려하면 됨.
네트워크 ACL
- 서브넷 레벨의 접근 제어를 수행, 네트워크에 관련된 방화벽이라고 이해
- Stateless 접근 제어 동작 : 아웃바운드 규칙을 허용할지 거부할지 결정
- 새로 만들 때는 모두 거부하는 것으로 설정되어 있어 따로 설정을 해줘야 통신이 가능함
* 둘을 같이 사용하기보다 보안그룹만 사용하는 경향이 있음.
부하 분산 Elastic Load Balancing
로드밸런싱
: 인스턴스의 상태를 확인하고 데이터를 분산하여 전달하는 네트워크 역할 수행, 보안 가용성을 최대한 유지
로드밸런싱 특징
- 고가용성
- 주기적 상태 확인
- 보안 기능 : 보안 그룹 적용
- 4계층/7계층(애플리케이션) 로드밸런싱
- 운영 모니터링
Auto Scaling을 이용한 다중 서버
- 갑자기 많은 트래픽이 발생했을 때, EC2 기반의 서버를 여러 대의 서버로 서비스를 하여, 서비스의 가용성을 유지
- 트래픽의 용량 조건에 따라 서버의 수를 자동으로 늘리고 줄이는 자동 조정 (미리 저장된 이미지를 활용하여 서버를 새로 생성하는 방식)