SK 플래닛

FineLee·2022년 10월 16일

AWS Case Studey

목록 보기
3/3

❗어떤 회사?

SK 텔레콤의 인터넷 사업을 담당하는 자회사

오픈 마켓 서비스를 제공하고 있습니다.

❗당면 과제

  • 전통적인 로컬 IDC를 기반으로 하는 인프라 환경을 구축하는 과정에서 발생하는 투자 비용
  • 글로벌 환경에서 적시에 서비스 제공
  • 대량 트래픽에 대응

❗SK 플래닛 아키텍처

❗사용 서비스

📌 AWS 사용

  • 이점 :
    • 초기 비용 없이 구현
    • 다양한 IaaS, PaaS 솔루션을 제공하는 클라우드
    • 기존 인력의 재 사용 → 현지 운영 인력 확보에 대한 부담 덜음.
    • 구축 기간 절반 단축
    • 즉시성의 강점
    • 빠르게 높은 사양으로 변경 가능
    • 운영체제 선택 + 인프라 구축
    • AWS 서비스의 확장성, 편의성, 보안성, 비용 효율성

📌 EC2 사용

  • 예측 불가능한 수요에 대비하기 위해 Dynamic 한 Scailing In, Out 기능 반드시 필요 → 코드 배포환경 전체 다시 설계 구축

📌 S3

  • 사용자들의 Rich Contents 를 보관 및 서비스를 위하여 도입

    • S3는 가장 유연한 스토리지 관리 및 관리 기능 세트를 제공
    • S3을 써야 하는 이유는 성능과 비용에 있다. 대용량의 파일 저장을 EC2와 EBS를 통해 구축한다면 상당히 많은 비용이 들고,
    • 노력이 요구된다. 하지만 S3는 저장 용량이 무한대이고 파일 저장에 최적화 되어 있기 때문에 용량을 추가하거나 성능을 높이는 작업을 하지 않아도 된다. 비용 또한, EC2와 EBS로 구축하는 것보다 훨씬 저렴하다.
  • RDS 와 S3의 차이?

    • S3는 파일을 저장하고 파일을 제공하는 역할 (객체라고도 함)

      이미지 파일을 비롯한 정적 파일들을 관리하거나, 배포 파일들을 관리, 접근 권한 관리, 검색 등의 기능을 지원한다.

    • RDS는 관계형 데이터베이스이다. 데이터를 저장하는 용도라고 볼 수 있다.

      즉, 둘 다 ‘저장’한다는 점은 같으나, ‘무엇’을 저장 하는 것인가 의 차이라고 볼 수 있다고 생각한다.

      데이터베이스도 스토리지로도 쓸 수 있다.

      지우님 생각으로는 구조 차이라고 볼 수 있다고 함.

📌AWS Lambda

인프라에 대한 걱정 없이 코드 실행 가능 -> NoOps 실현

서버리스 컴퓨팅 서비스

효과

  • 배치 업무 및 시스템 관리를 효율화 하고 비용 절감
  • 운영 자동화 환경을 마련함에 있어 비용적인 효율 높은 Lambda 의 활용 확대 고려

📌 RDS

AWS RDS란 관계형 데이터베이스를 간편하게 클라우드에서 설정, 운영, 확장이 가능하도록 지원하는 웹 서비스이다.

RDS는 MySQL이나 오라클 같은 데이터베이스의 설치, 모니터링, 백업, 알람 등 관리를 대신해주며, 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 비용 효율적이고 크기 조정 가능한 DB 서비스를 제공한다.

따라서 RDS를 통해 개발자는 DB 인프라를 구성하는데 힘을 들이지 않고, 개발이라는 본질적인 작업에 집중할 수 있게되는 장점이 있다.

AWS RDS는 EC2에 RDB(관계형 데이터베이스)를 직접 구축하여 운영할 때보다 더 많은 부분을 자동으로 관리할 수 있어 편리하기 때문에 많이 애용된다.

AWS RDS는 데이터베이스를 보다 효율적으로 관리할 수 있게 하는 인프라 아키텍쳐 방법 3가지를 제공한다.

  1. RDS Multi AZ 구조

    두개 이상의 AZ에 걸쳐 데이터베이스를 구축하고 원본과 다른 DB를 자동으로 동기화

    RDS DB를 만들고, DB에 특정 레코드를 insert 할 시, 다른 AZ(Availability Zone)에 똑같은 복제본이 만들어지게 된다.

    Multi-AZ 복제는 서비스가 항상 가동해야 하는 가용성

    → 한쪽이 죽으면 계속 돌아가도록 하기 위해서
    을 위한 것이지, 부하 분산을 통한 성능 향상이 목적이 아니다.

  2. Read Replica (읽기 전용 복제본)

    DB쓰기는 RDS Primary 에서 처리하고, DB읽기는 RDS Primary 복제본에서 처리하는 구조이다.

    부하를 분산할 수 있다.

    복제본 인스턴스에 DNS가 각각 부여되어 접근이 가능하다.

    쉽게 말해 데이터베이스 이중화라고도 한다.

  3. RDS Multi Region

    다른 리전에 지속적으로 동기화시키는 DB 클러스터 생성

정리

출처

[AWS] 📚 RDS 개념 & 아키텍쳐 정리 [이론편]

📌 Amazon CloudWatch

  • 시스템 운영환경 고도화

📌 Amazon SNS (Simple Notification Service)

구독중인 service 또는 사용자에게 메시지 전달, 전송을 조정 및 관리하는 웹서비스

즉, 알림서비스

서비스들이 토픽을 구독을 함으로써 메시지 전달

구조

  1. 사용자
    • topic 을 어떤 Publisher /Subscriber 가 통신할지 결정하는 정책을 지정하여 주제를 생성하고 액세스 제어함.
  2. Topic(주제)
    • 각각의 topic 은 고유한 이름을 가지므로, Publisher는 메시지를 게시하고 Subscriber는 알림을 받을 수 있도록 구독 가능
    • Publisher 가 게시하는 대상이자 Subscriber 가 구독하는 대상
  3. Publisher
    • Publisher 가 특정 행동이나 서비스를 행할때 topic에 메시지를 게시함으로써 topic을 구독하는 Subscriber 들에게 메시지를 보내 알릴 수 있다.
  4. Subscriber
    • 구독하고 있는 topic 에 대한 알림을 받아 특정기능을 수행한다.
    • 모든구독자들은 동일한 메시지를 수신한다.
  5. SNS
    • SNS는 특정 topic 을 구독하는 Subscriber 에게 메시지를 전송한다.

  • 내부관리 목적으로 사용
  • 시스템 운영환경 고도화

📌ELB

  • 접근을 여러 대의 EC2 인스턴스로 분산

📌SES

  • 사용 목적 :회사 내부 관리
  • 클라우드 기반 이메일 발송 서비스

📌추후 ECR 사용 고려

  • 사용 목적 : 배포환경 개선
  • Docker Container 의 이미지를 저장하는 Repository 서비스
  • Container 이미지를 S3에 저장하여 고가용성 유지
  • IAM 인증을 통해 이미지 push/pull 에대한 권한 관리 가능

📌 AWS Inspector & Config

  • 사용 목적 :보안 및 구성 관리
  • AWS 리소스에 대한 취약점 점검 도구

📌AWS Device Farm

  • 사용 목적 :테스트 환경을 모바일 App 까지 확장
  • 사용자가 Amazon Web Services 에서 호스팅하는 실제 휴대폰 및 태블릿에서 Android, iOS 및 웹 앱을 테스트하고 상호 작용할 수 있는 앱 테스트 서비스
    • **자동화된 테스트**
    • 원격액세스
    • 데스크톱 브라우저에서 테스트

profile
해송의 벨로그

0개의 댓글