VPC를 나누는 이유

Yuri JI·2023년 3월 12일
0

TIL

목록 보기
4/10

💡 프로젝트 진행 중 network topology를 작성하는 도중 vpc를 왜 나누어야하는지 의문이 생겨 이를 정리해보기위해 작성하였습니다.

RDB와 EC2의 VPC를 분리하는 이유

모든 망분리는 보안을 위한 것 !

과거에는 금융업쪽에서도 망을 분리하는 것이 필수적이지 않았던 시절도 있었다.

💡 우리나라에서는 2013년의 큰 쇼핑몰회사가 고객정보를 해커에게 털렸고,

주요원인은 “논리적 망분리 허술과 DB서버에 대한 접근통제실패”로 지목되었었다.

CLOUD 9

aws에서 사용가능한 통합 개발 환경으로, 개발환경과 운영환경을 분리할 수 있다.

vpc

VPC는 독립된 네트워크 환경

AWS에서 소개하는 VPC

Amazon Virtual Private Cloud(VPC)를 사용하면 AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝하여 고객이 정의하는 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있습니다.

AWS의 망 구성요소

  • Region: AWS 의 물리적 서버가 위치하고 있는 국가/지역 (ex.뉴욕,서울)
  • Availability Zone: Region 안에서 사용할 수 있는 데이터 센터(물리적 서버) (ex.서울,부산)
  • VPC: 사용자 전용의 가상 네트워크
    • AWS는 VPC의 중요성을 강조하여 모든 서비스에 VPC를 적용하도록 강제함 → 왜? VPC 이전 EC2-클래식 네트워크는 여러 사용자들의 인스턴스들이 거미줄처럼 얽혀있어 복잡도가 높았다.

⭐ 그러나 Amazon VPC가 도입된 이후로 아래와 같이 인스턴스가 VPC에 속함으로써 네트워크를 구분할 수 있고 VPC 별로 필요한 설정을 통해 인스턴스에 네트워크 설정을 적용할 수 있게 되었다.

Bastion Host란?

보안에 문제가 생겼을시 서비스에 심각한 문제를 방지하고자 피해를 보더라도 Bastion Server만 재구성하여 서비스에 영향을 최소화하도록 다른 서버들과 구분하는 보안을 위해 고안된 서버

Ex. 만약 22번 포트의 보안에 문제가 생긴다면 중요한 회사 서버 내역들의 보안에 문제가 생길 것이다.

때문에, 22번 Port 접속을 Bastion 서버에 오픈하고 그 서버의 보안을 더욱 집중하는 것이 효율적 (모든 서버의 보안을 최상으로 하는 것이 베스트겠지만 관리 요소가 늘어나고 비용 문제가 생김..)

Bastion Host가 없는 경우 외부 네트워크에서 공격을 받아 패스워드가 탈취 당하면 내부 네트워크 Server에 바로 접근이 가능해진다. 하지만 Bastion Host를 운영하고 있다면 외부 네트워크의 패스워드가 탈취 당하더라도 내부 Server까지는 한번에 접근할 수 없다.

NACL

NACL → 트래픽제어 서브넷은 하나의 NACL만 적용 가능

같은 서브넷끼리 통신할 때 : Security Group 정책을 거치면서 통신

다른 서브넷끼리 통신할 때 : NACL의 정책을 먼저 거친 후, Security Group의 정책을 거치면서 통신

+) Pub/ Pri 서브넷을 나누는 이유

보안 대원칙(ground rules) 중에 하나로 "외부에 노출되는 면적 최소화"를 만족하기 위한 조치이다.

참고

웹 서비스를 위한 통신망 (구성/분리)
왜 public과 private으로 subnet을 나누어야 할까요?

[AWS] 📚 VPC 개념 & 사용 - 인프라 구축 [Subnet / Routing / Internet Gateway]

profile
안녕하세요 😄

1개의 댓글

comment-user-thumbnail
2023년 4월 3일

클라우드 환경에서 개발 한 경험이 있는데 보안 측면에서 VPC 망 분리에 대해 깊이 고민해 봐야겠다는 생각이 드네요! 글 잘 읽었습니다 :)

답글 달기