[고객성공사례] 인천꾸러미 쇼핑몰 – 코디웍스

고객 개요

코디웍스는 숙박/물류/배달 등의 분야에서 B2B 사이트를 컨설팅 및 구축하는 전문 회사입니다.

이번에 누리클라우드와 인천시 교육청 예산으로 기획된 코로나시대 식자재 지원사업을 지원하는 사이트를 AWS 서비스를 이용하여 구축하게 되었습니다.

과제

300만 인천시민을 대상으로 한 쇼핑몰이고, 이벤트로 인해 갑자기 몰리게 될 사용자에 대비해야 했으며, 특히 지역화폐 시스템과 연동을 고려해야 했습니다.

효과

프로젝트 기간 동안 지속적인 개선을 하여 사이트 로딩속도가 개선되었으며 많은 사용자가 갑자기 몰려도 원활한 접속을 유지할 수 있었습니다.

중단 없는 디비 서비스를 위해 Amazon Aurora를 데이터베이스로 채택하였고, 웹과 어플리케이션 인스턴스는 사용자 증가에 따른 확장성을 위해 2대 이상의 인스턴스로 Auto-Scailing 구성하였습니다. 2대 이상의 인스턴스가 실시간으로 컨텐츠를 공유하기 위해 Amazon EfS를 공유 스토리지로 각 인스턴스에 NFS 파일 시스템으로 마운트하여 안정적으로 네트워크를 통한 파일 공유가 될 수 있도록 하였습니다. EFS의 단점인 작은 사이즈의 다수의 파일을 빈번하게 읽고 쓰기를 해야 하는 디렉토리는 EFS의 성능을 저해할 수 있어서 로컬 EBS 디스크에 구현되도록 하거나, 반드시 실시간 공유해야 하는 세션 등의 데이터는 디비캐시를 사용하여 공유하도록 하였습니다.

쇼핑몰의 특성 상 상품의 이미지 파일들이 많아서 관리자는 쉽고 빠르게 상품이미지를 업로드하고, 사용자는 한 페이지에 수많은 상품이미지를 로딩할 수 있어야 했습니다. 이 문제를 해결하기 위해서 AWS의 컨텐츠 딜리버리를 위한 전형적인 서비스 조합인 S3+CloudFront를 적용하였으며 여기에 추가로 Lambda@Edge를 더해 썸네일 가속화까지 구현하였습니다.

맺음말

이 글을 작성하는 지금은 현재 지원기간이 끝나 사이트는 종료되었지만, CloudFormation으로 데이터를 제외한 전체 시스템의 구성을 코드화하여 보관하여 혹여 코로나-19가 장기화되거나 유사한 행사가 다시 있을 때 신속하게 재구축할 수 있도록 준비하고 있습니다.

이번 구성을 통해서 대규모 사용자 접속이 예상되는 사이트를 구성할 때 Amazon의 관리형 서비스인 S3, RDS, CloudFront를 활용한다면 물리적인 시스템의 제약으로 인해 마음을 졸여야 했던 상황은 이제는 더 이상 없을 것 같다는 확신을 가져봅니다.