[AWS] 아키텍처 고도화 설계 및 기존 아키텍처와 비교 분석

 

 

1. 서론

구축된 기존 AWS 아키텍처와 고도화된 AWS 아키텍처를 비교 분석하여, 각 구성 요소와 특징을 검토하고 기존 아키텍처의 한계점 및 개선된 점을 설명하고자 한다. 이를 통해 AWS 기반 서비스의 성능과 보안, 확장성 등 주요 요소에서 어떠한 변화가 발생하였는지 작성할 것이다.

 

 

 

2. 기존 AWS 아키텍처

 

 

 

2.1 구성 요소 및 특징

기존 아키텍처는 AWS내에 구성된 여러 가지 핵심 서비스로 구성된다.

대표적인 요소로는 다음과 같다

 

S3 (Simple Storage Service): 정적 컨텐츠를 저장하고 있는 객체 스토리지 서비스

EC2 (Elastic Compute Cloud): 서버 인스턴스 역할을 하는 주요 컴퓨팅 리소스.

Aurora Mysql: RDS(Mysql) 기반의 데이터베이스 서비스.

NAT (Network Address Translation) Gateway: 프라이빗 서브넷의 인스턴스들이 인터넷에 접근할 수 있도록 지원.

 

이 아키텍처는 퍼블릭 및 프라이빗 서브넷으로 구성된 두 개의 가용영역(AZ)을 기반으로 확장성을 갖춘 형태로 설계되었다.

 

 

 

2.2 한계 및 문제점

기존 아키텍처는 기본적으로 확장성을 고려하였지만, 다음과 같은 문제점이 존재한다.

 

리소스 최적화 미흡: EC2 인스턴스의 수동 배포와 관리는 비용 효율성이 떨어질 수 있음.

지연 시간 증가: 정적 컨텐츠 및 데이터의 캐싱과 데이터베이스 간의 연결 성능이 제한적일 수 있으며, 이 때문에 지연 발생 가능.

보안 취약점: Private 리소스에 접근하기 위해 WEB EC2 인스턴스가 외부에 노출되어 있어 잠재적인 보안 위협이 존재한다.

고가용성 및 재해 복구: 로드밸러서와 오토스케일을 배치하지 않아 각 서비스의 부하를 해소 할 수 없으며, 단일 가용 영역 내에서만 리소스를 프로비저닝하여 고가용성에 한계가 존재한다.

 

 

 

3. 고도화된 AWS 아키텍처

 

 

 

3.1 구성 요소 및 특징

고도화된 아키텍처는 기존 아키텍처의 한계를 극복하고자 다양한 신규 요소와 향상된 구성을 도입하였다. 주요 구성 요소는 다음과 같다.

 

Bastion: Private 영역 리소스 접근을 위한 EC2

CloudFront: 정적 콘텐츠의 효율적인 전송을 위한 CDN(Content Delivery Network) 구성.

Auto Scaling Group: 트래픽 변화에 따라 EC2 인스턴스 수 자동 조정.

Elasticache, Redis: 세션 및 데이터베이스 캐싱.

ALB (Application Load Balancer): 웹 애플리케이션 트래픽 분산.

ACM (AWS Certificate Manager): SSL/TLS 인증서 관리를 통한 강화된 보안.

EFS (Elastic File System): 여러 인스턴스 간의 데이터 공유를 지원하는 파일 스토리지.

CI/CD 파이프라인: GitLab Jenkins를 통해 지속적인 통합 및 배포 자동화 구현.

Docker: 컨테이너 기반의 애플리케이션 배포로 관리 및 배포의 유연성 향상.

 

 

 

3.2 아키텍처 흐름도

고도화된 아키텍처는 다양한 AWS 서비스를 연계하여 트래픽 처리 및 데이터 관리의 효율성을 크게 향상시켰다. 트래픽 흐름은 다음과 같다.

 

클라이언트 요청이 AWS CloudFront를 통해 전달되며, 정적 콘텐츠는 S3에서 제공되고, 동적 콘텐츠는 ALB를 통해 EC2 인스턴스로 전달된다.

EC2 인스턴스는 Docker 컨테이너를 사용하여 애플리케이션을 실행하며, 파일 스토리지는 EFS를 사용하여 공유된다.

데이터베이스는 Aurora Mysql이 제공하며, 캐싱 계층은 Elasticache를 사용하여 응답 시간을 단축시킨다.

CI/CD 파이프라인을 통해 GitLab에서 코드가 Jenkins로 배포되어 자동화된 빌드와 배포가 이루어진다.

 

 

 

3.3 기존 아키텍처 대비 개선된 점

컨테이너 기반 배포: Docker를 통해 EC2 인스턴스의 관리 및 배포를 효율적으로 진행할 수 있어 개발 환경과 운영 환경의 일관성을 보장.

데이터 관리 향상: EFS 도입으로 여러 인스턴스 간의 데이터 공유가 원활해지고, CloudFront로 인한 정적 콘텐츠 전달 속도 향상 및 Elasticache를 통해 데이터 접근 속도가 개선되었다.

보안 강화: ACM을 통한 SSL 인증서 관리와 CloudFront, Bastion 서버로 인해 연결 보안성이 보장되고, CI/CD 자동화를 통해 코드 품질과 배포 안정성이 향상되었다.

비용 절감 및 확장성: Auto ScalingLoad Balancer를 통해 트래픽에 유연하게 대응할 수 있어 리소스 최적화로 인한 비용 절감도 가능하다.

 

 

 

4. 결론

기존 아키텍처와 고도화된 아키텍처를 비교하여 개선된 부분을 분석하였다. 고도화된 AWS 아키텍처는 성능, 보안, 관리 용이성 측면에서 더욱 강화되었으며, 특히 CI/CD 파이프라인과 컨테이너 기술 도입으로 더욱 편한 개발환경을 지원할 수 있는 구조를 갖추게 되었다. 향후 지속적인 모니터링과 최적화를 통해 비용절감을 할 수 있을 것으로 기대된다.