개요
아키텍처는 AWS의 네트워크와 보안 설정을 활용하여 Public과 Private Subnet의 명확한 구분과 통신을 설정하고, VPC Endpoint를 통해 Private Subnet에서 S3와 안전하게 데이터를 주고받을 수 있도록 구성했습니다.
아키텍처 구성
VPC
- VPC는 AWS 클라우드에서 사용자 전용 가상 네트워크를 설정할 수 있는 환경입니다.
- VPC 안에 Public Subnet과 Private Subnet을 구성하여 민감한 파일은 외부에서 접근이 불가능 하게 Private Subnet에 연결합니다.
Internet Gateway
- 인터넷 게이트웨이는 Public Subnet의 EC2 인스턴스가 외부 인터넷과 통신할 수 있도록 연결해주는 장치입니다.
- Public Subnet의 Routing Table 과 연결되어 인터넷 연결이 되어 있습니다.
Private Subnet
- Private Subnet은 외부 인터넷과 연결되지 않는 Subnet으로, 외부 접근이 차단된 내부 리소스를 배치하는 데 사용됩니다.
- EC2 인스턴스가 Private Subnet에 배치되어 있으며, 이 인스턴스는 VPC Endpoint(Gateway Endpoint)를 통해 외부 인터넷을 거치지 않고S3 버킷과 통신할 수 있습니다.
- Private Subnet에 접근을 위해 EC2 Instance Endpoint를 생성하여 EC2 인스턴스에 연결합니다.
Private Subnet
- Private Subnet은 외부 인터넷과 연결되지 않는 Subnet으로, 외부 접근이 차단된 내부 리소스를 배치하는 데 사용됩니다.
- EC2 인스턴스가 Private Subnet에 배치되어 있으며, 이 인스턴스는 VPC Endpoint(Gateway Endpoint)를 통해 외부 인터넷을 거치지 않고S3 버킷과 통신할 수 있습니다.
- Private Subnet에 접근을 위해 EC2 Instance Endpoint를 생성하여 EC2 인스턴스에 연결합니다.
VPC Endpoint
- VPC Endpoint는 Private Subnet의 EC2 인스턴스가 외부 인터넷을 거치지 않고도 AWS 서비스에 접근할 수 있게 해주는 장치입니다.
- 이 Endpoint는 S3 버킷에 대한 안전한 통신 경로를 제공하며, Public 네트워크로의 트래픽 노출을 방지합니다.
S3
- S3 버킷은 AWS에서 제공하는 객체 스토리지 서비스로 버킷 정책과 ACL을 사용해 버킷과 객체에 대한 접근 제어하고 서버 사이드 암호화(SSE)를 통해 저장된 데이터를 암호화합니다. 또한 IAM 정책을 통해 접근 권한이 제어되며, 안전한 접근이 보장됩니다.
- 아키텍처에서는 외부와 차단되어 VPC Endpoint를 통해 Private Subnet의 EC2 인스턴스와 통신합니다.
EC2
- EC2 인스턴스는 AWS의 가상 서버입니다. SSH 키 페어를 통한 안전한 로그인 방식을 제공합니다. 보안 그룹을 통해 외부로부터 인바운드 트래픽을 관리하며, 허용된 트래픽만 인스턴스에 도달할 수 있도록 설정됩니다.
- Public Subnet EC2 인스턴스에 웹서버를 설치하여 외부에서 접근이 가능하도록 설정합니다.
IAM
- IAM은 AWS 리소스에 대한 접근 권한을 관리하는 서비스로, 특정 사용자 혹은 역할이 가진 권한에 따라 네트워크의 접근을 제한할 수 있습니다.
- 사용자의 권한정책에 정책을 연결한 후 AWS CLI aws configure 접속
- 권한을 가지고 있는 사용자는 EC2를 통해 S3에 접근
'Cloud' 카테고리의 다른 글
Terraform과 Github Actions 활용한 자산식별, ISMS-P, 배포 자동화 (4) | 2024.11.13 |
---|---|
AWS 3-Tier Architecture 설계 (1) | 2024.11.13 |
온프레미스와 클라우드 (2) | 2024.11.12 |
클라우드 보안 (5) | 2024.11.12 |
CNAPP (0) | 2024.11.11 |