모각코

[2024 하계 모각코] 1회차 회고록

narlo 2024. 7. 9. 23:03

2024.07.01 20:00 ~ 23:00

 

오늘의 목표

AWS 교육 정리

 

서버

  • 24시간 365일 서비스를 제공하도록 설계됨
  • 많은 양의 데이터를 저장할 수 있음
  • 파워가 여러 개라서 하나가 전원이 나가도 계속 공급 가능

클라이언트가 요청하면 서버가 클라이언트의 요청을 이행

서버 2~400 정도면 한 대 구매 가능

클라우드 컴퓨팅

  • 필요에 따라 컴퓨팅 리소스 프로비저닝
  • 사용한 만큼만 비용 지불
  • 대규모 사전 투자 방지
  • 온디맨드 서비스 액세스

클라우드 컴퓨팅 배포 모델

  1. 클라우드
  2. 온프레미스
  3. 하이브리드

클라우드 기반 배포

  • 클라우드 서비스 프로바이드 업체 (클라우드 제공을 위한 시설을 갖춘)
  • 애플리케이션의 모든 부분을 클라우드에서 실행
  • 기존 애플리케이션을 클라우드로 마이그레이션
  • 클라우드에서 새로운 애플리케이션 설계 및 구축
  • public cloud (여러 사람이 하나의 기반 시설을 같이 사용)

온프레미스 배포

  • 가상화 및 리소스 관리 도구를 사용하여 리소스 배포
  • 애플리케이션 관리 및 가상화 기술을 사용하여 리소스 사용량 증가
  • private cloud (해당 회사 전용으로 쓸 수 있음)

하이브리드 배포

  • 클라우드 기반 리소스를 온프레미스 인프라에 연결
  • 클라우드 기반 리소스와 레거시 IT 애플리케이션을 통합
  • 특정 기능은 클라우드에, 특정 기능은 온프레미스에 두고 네트워크로 연결하여 사용
  • 이유 : 데이터 저장 규칙, 규정, 준수사항 등

클라우드 컴퓨팅의 이점

  • 초기비용 절감
  • 운영, 관리 관점에서 인력과 비용의 부담을 덜고 애플리케이션과 고객에 집중할 수 있음
  • 필요에 따라 용량을 축소 및 확장 가능
  • 단위 당 운영 비용, 구매 비용을 절감할 수 있음
  • 필요한 리소스를 얻거나 지우는 데 몇 분 소요(민첩성이 뛰어남)
  • 글로벌 인프라를 사용하기 때문에 전 세계에 빠르게 배포 가능

AWS EC2(Amazon Elastic Compute Cloud) - 가상 서버를 제공하는 서비스

하이퍼바이저의 목적

  1. 가상서버를 실행, 생성, 관리
  2. 물리적인 서버(CPU, 메모리, 네트워크 등) 리소스를 관리
  3. 보안

nitro (AWS의 하이퍼바이저)

EC2

  • 몇 분 만에 서버 인스턴스 부팅
  • 종량제 컨셉(사용한 만큼만 지불)
  • 안전하고 크기 조정이 가능한 컴퓨팅 용량 사용

EC2 인스턴스 유형

  1. 범용
    • 컴퓨팅, 메모리, 네트워킹 리소스를 균형있게 제공
    • 다양한 워크로드에 적합
  2. 컴퓨팅 최적화
    • 고성능 cpu
    • batch처리, hpc
    • 대용량 컴퓨팅처리 가능
  3. 메모리 최적화
    • 더 많은 메모리 제공
    • 고성능 데이터베이스에 적합
  4. 가속 컴퓨팅
    • gpu가 있는
    • 그래픽 처리, 인공지능, 머신러닝 업무에 적합
  5. 스토리지 최적화
    • 더 많은 스토리지 제공
    • 스토리지 용량, 지연시간이 낮게

EC2 요금 옵션

  1. 온디맨드
    • 쓴만큼 비용을 지불
    • 초기 선결제 비용이나 최소 약정 없음
    • 불규칙한 단기 워크로드에 적합
  2. 스팟
    • BATCH 워크로드와 같은 잠깐잠깐 써야하는 경우
    • 중간에 중지가 된다던지, 사용을 하지 못해도 괜찮은 경우
    • 시작 및 종료 시간이 자유로운 워크로드에 적합
    • 온디맨드 대비 비용 절감
  3. 예약
    • 1년 또는 3년 약정 필요
    • 온디맨드 요금에 비해 결제 할인 제공
  4. COMPUTE SAVINGS PLANS
    • 약정 할인의 개념
    • 컴퓨팅 사용량이 일정할 경우 온디맨드에 비해 최대 66% 비용 절감
    • 1년 또는 3년 약정 필요
  5. 전용 인스턴스
    • 단일 고객용 하드웨어의 vpc에서 실행되는 EC2 인스턴스
    • 표준 amazon EC2 인스턴스에 비해 더 높은 비용
  6. 전용 호스트

Auto Scaling

  • 컴퓨팅 요구 사항의 변화에 따라 용량을 조정
  • 동적 크기 조정 및 예측 크기 조정 사용
  • 최소, 최대 숫자, 원하는 용량(희망)

Elastic Load Balancing

  • 여러 리소스에 자동으로 트래픽 분산

AWS 메시징 서비스

  • SNS(Simple Notification Service)
  • 메시지 전달 서비스
  • 메시지가 주제에 게시됨
  • 구독자는 자신의 주제에 대한 메시지를 즉시 수신
  • SQS(Simple Queue Service)
  • 메시지 대기열

서버리스 컴퓨팅 서비스

  • 서버 관리를 aws가 대신함
  • 사용자가 관리할 서버가 없다는 뜻
  • AWS Lambda
    • 서버를 프로비저닝하거나 관리하지 않고 코드 실행
    • 코드가 실행되는 컴퓨팅 시간에 대해서만 비용 지불
    • 다른 AWS 서비스를 사용하여 코드를 자동으로 트리거
    • 누군가가 Lambda를 불러 일으켜야 그 코드가 실행되는 형태를 띔(트리거가 필요)

컨테이너 서비스

모놀리식 애플리케이션

  • 하나의 서버, 플랫폼 위에 여러 개의 구성요소를 다 넣은
  • 각각의 구성요소가 tight하게 결합되어 있는

마이크로서비스

  • 각각의 애플리케이션 구성요소가 따로 분리되어 있는
  • 각각의 구성요소끼리 서로 연결되어 있는(네트워크 API를 통해 주고받음)
  • 컨테이너

Elastic Container Service(ECS)

  • 컨테이너화된 애플리케이션 실행 및 크기 조정

Elastic Kubernetes Service(EKS)

Fargate

  • serverless container 실행

글로벌 인프라

데이터센터

리전

  • 데이터 거버넌스 및 법적 요구 사항 준수
  • 고객과의 근접성
  • 요금
  • 리전 내에서 사용 가능한 서비스 (리전마다 지원하는 서비스가 다름)
  • 하나의 리전은 3개 이상의 가용영역으로 이루어져 있음 ⇒ 가용영역 선택
  • 가용영역들은 수십km 거리를 두고 구성되어 있음

AWS Storage

  • 데이터 저장 용도
  1. 블록 스토리지
    • 디스크를 블록 단위로 쪼개서 저장하는 형식, ec2 인스턴스에서 실행되는 애플리케이션, 데이터 저장 용도로 사용 (컴퓨터나 서버에서 사용하는 드라이브 또는 리눅스의 파일 시스템의 용도로서 사용)
    • 인스턴스 스토어 : 임시 데이터 저장 용도로 사용
    • EBS 볼륨 : 원격 네트워크로 EC2와 연결하여 사용하는 블록 스토리지, 영구적인 특징
    • EBS 스냅샷 : 증분백업, 변경된 데이터들만 백업 받는 형태, S3라는 별도의 스토리지에 저장됨
  2. 객체 스토리지
    • 각 객체는 데이터, 메타데이터, 키로 구성됨
    • 인터넷을 기반으로 제공되는 스토리지
    • 읽기, 업로드, 다운로드 가능
    • 백업본 저장, 읽기가 필요한 웹 서비스를 제공하는 데 사용
    • S3(Simple Storage Service) : 버킷(가상스토리지)를 만들어 데이터를 객체로 저장 가능
      • 보안 설정 가능(액세스 제한 권한 설정)
      • storage class 존재
  3. 파일 스토리지
    • 하나의 파일을 여러 클라이언트가 동시 접속할 수 있도록 지원
    • elastic file system(EFS)
      • 동시 접근 가능한 파일 스토리지 생성
      • Linux, macOS 대상으로

AWS 데이터베이스

  • 관계형 데이터베이스 (테이블 형식, 고정된 스키마)
    • SQL을 이용해 데이터를 조회하고 처리
    • RDS(Relational Database Service)
      • 보안 기능 지원
      • 시간이 많이 걸리는 작업 자동화
      • 관계형 데이터베이스 운영 및 크기 조정
    • Amazon Aurora
      • 커스터마이즈된 관계형 데이터베이스 엔진
  • 비관계형 데이터베이스
    • 행과 열이 아닌 구조를 사용하여 데이터를 구성 (다양한 형식)
    • 키-값, json문서, 시계열, 원장, 그래프
    • DynamoDB : 서버리스 키 값 데이터베이스
      • autoscaling 지원
    • database migration service
      • 기존 데이터베이스를 aws 데이터베이스로 옮길 수 있도록 지원하는 서비스

보안

  • 공동 책임 모델
    • 클라우드 자체에 대한 보안 : aws 담당 - 데이터 센터의 물리적 보안, 네트워크 인프라, 하드웨어 및 소프트웨어 인프라, 가상화 인프라
    • 클라우드 내부에 대한 보안 : 개인 - 인스턴스 운영 체제, 호스트 기반 방화벽, 애플리케이션, 계정 관리, 보안 그룹
  • IAM(Identity and Access Management)
    • AWS 서비스와 리소스에 대한 액세스 관리