카테고리 없음

패스트캠퍼스 AWS 기반 아키텍쳐 설계와 DevOps

nextcoder 2024. 4. 9. 07:42
  • 클라우드 컴퓨팅의 유형
    • 퍼블릭 클라우드
      • 사용자는 컴퓨팅 리소스를 소유하지 않음
      • 인터넷을 통해 제공
      • 가상화 기술로 만든 서비스를 그대로 사용
    • 프라이빗 클라우드
      • 특정 조직내에서 컴퓨팅 리소스를 소유
      • 사설 네트워크를 통해 제공
      • 가상 컴퓨팅 기술을 직접 구축
    • 하이브리드 클라우드
      • 퍼블릭 클라우드와 프라이빗 클라우드 또는 데이터센터 간 네트워크를 연결
    • 멀티 클라우드
      • 다수의 퍼블릭 클라우드를 사용 (AWS + GCP)
  • 클라우드 서비스의 특징
    • 탄력성/민첩성
    • 확장성
    • 사용한 만큼 지불
    • 내결함성 및 재해복구
    • 고 가용성 (여러 개의 데이터 센터가 고속 네트워크망으로 연결되어 가용성 설계 가능)
    • 유지 관리 간소화
  • 클라우드 서비스 모델
    • IaaS : 물리적 자원 가상화 (ex. EC2)
    • PaaS : 어플리케이션을 바로 구축할 수 있는 플랫폼 제공 (ex. 서버를 관리해주어 사용자가 DBMS만 사용하게끔 해주는 RDS)
    • SaaS :  완전한 소프트웨어 솔루션 (ex. MY BOX)
  • 리전 선택 고려사항
    • 리전 별 서비스 제공 유무 확인
    • 리전 별 서비스 가격 확인
  • AWS 주요 서비스
    • AWS 컴퓨팅 서비스
      • EC2
        • Iaas 서비스, 다양한 OS 지원, 오토스케일 통한 확장/축소 가능
        • T-family : Burstable 인스턴스, 기준 사용률 밑의 성능으로 사용하면 CPU credit이 축적되며 기준 성능이 넘는 CPU 필요할 때 버스팅 -> 간헐적으로 높은 CPU 성능이 필요할 때 유용
      • Lambda
        • 서버리스 컴퓨팅 서비스, FaaS, 다양한 런타임 지원, 필요 시에만 코드 실행, 사용한 만큼 지불
    • AWS 스토리지 서비스
      • S3
        • 객체 스토리지 서비스, OS상에서 mount하여 사용하는 블록 스토리지와 다르게 Restful api를 사용하여 객체 액세스, 주로 정적 컨텐츠 저장용
        • 스토리지 클래스 : 접근 빈도수에 따라 Standard ~ Deep Archive까지 존재하여 비용 절감 가능
      • EBS
        • OS 내부에서 mount하여 사용하는 블록 스토리지, EC2에 Attach/Detach, 탄력적 확장 가능(축소는 불가능)
      • EFS
        • 파일 스토리지 서비스 (NAS와 유사), 공유 스토리지 (동시에 액세스), 다양한 AWS 서비스 마운트 지원
    • AWS 네트워크 서비스
      • VPC
        • IP대역(CIDR) 할당하여 가상 사설 네트워크 구성, 서브넷/라우팅테이블, 인터넷 게이트웨이 연결하여 외부로 인터넷 통신, VPC Peering/ Transit Gateway로 VPC간 연동
        • VPC Peering : 대역폭 제한 X, Peering 연결 수 VPC당 125, Transit Gateway 대비 1.5배 저렴
        • Transit Gateway : 최대 대역폭 50Gbps, Transit Gateway 당 최대 5,000개 VPC, VPC 연결 정책을 중앙에서 관리 (관리 용이)
      • Cloudfront
        • CDN (Contents Delivery Network)서비스. 클라이언트가 인터넷을 접속하는 곳과 가까운 곳에서 컨텐츠를 캐싱.(origin 서버까지 가지 않고 가장 가까운 엣지로케이션 서버에 접속), 캐시 갱신(무효화)
      • Route53
        • AWS DNS 서비스, 도메인 구매/등록, 헬스체크, 다양한 라우팅 policy 제공
        • 라우팅 policy : simple, weighted(7:3으로 라우팅), latency(최소 지연시간으로 라우팅), failover(헬스체크 하다가 안되면 바로 standy중인 다른 서버로), geolocation(서울 사람은 서울쪽으로, 버지니아 사람은 버지니아 서버로 라우팅)
      • AWS 데이터베이스 서비스
        •  RDS
          • 관계형 데이터베이스 서비스
          • 다양한 DB엔진이 미리 설치된 상태로 제공
          • 쉽고 빠른 이중화 구성 (Multi AZ) (다른 리전에 스탠바이중인 DB를 둬서 빠른 복구 가능하나 2개의 인스턴스 유지 비용)
          • Read Replica : Read only 쿼리의 경우 부하 분산을 함. 읽기 성능 개선
        • DynamoDB
          • 완전관리형 NoSQL 데이터베이스, key-value 형태 저장
        • Elasticache
          • 완전관리형 In-Memory Cache 서비스
          • 레디스와 Memcached 제공
          • 고가용성 캐시 서비스 구성 (데이터 저장/검색 매우 빠르나 메모리 크기까지만 저장 가능하며 서버 전원 꺼지면 데이터 소멸)
      • AWS 보안 서비스
        • WAF
          • 관리형 웹 방화벽 서비스
          • AWS 관리형 규칙 / 사용자 지정 규칙(특정 IP 등 ..)
        • Shield
          • 관리형 DDOS 차단 솔루션, 무상 Standard, 유상 Advanced 제공
        • KMS
          • 리소스 데이터 암호화/복호화
          • 디지털 서명 및 확인
      • AWS 관리형 서비스
        • Cloudwatch
          • 관리형 AWS 리소스 모니터링 서비스
          • AWS 리소스의 상태에 대한 다양한 metrics 제공
        • Amazon SNS
          • 관리형 메시지 서비스, 모바일/E-mail/HTTP 등 다양한 엔드포인트 제공
        • Cloudtrail
          • 관리형 이벤트 추적/감사 도구
          • AWS 리소스 API에 대한 이벤트 추적/기록
          • 데이터 양이 상당히 크기 때문에 AWS Athena를 통해 로그 분석 가능