기타 개발 공부/aws

AWS 서비스 요약

DevBabamba 2019. 1. 28. 00:12
반응형

아마존 웹 서비스를 다루는 기술 (길벗) 책을 보고 일부를 요약 하였습니다~!

aws에서 현재 서비스 되는 부분과 상이한 부분도 있고 틀린 부분도 있을 수 있습니다. 

향후 수정을 진행 하겠습니다~


AWS 서비스 요약

1.AWS 기본 용어 및 개념

  • 주요 용어: 리전(Region), 가용영역(AZ, Availability zone), 에지 로케이션(Edge Location)

1.1. 리전, 지역

  • AWS 서비스가 위치한 물리적 장소
  • 네트워크 속도와 재해에 대비하기 위해 여러곳 존재
리전리전약칭
미국 버지니아 북부us-east-1
미국 캘리포니아 북부us-west-1
미국 오리건us-west-2
아일랜드eu-west-1
도쿄ap-northeast-1
베이징cn-north-1
싱가포르ap-southeast-1
시드니ap-southeast-2
상파울루sa-east-1
미국 정부(미국 정부전용)us-gov-west-1

1.2. 가용영역(AZ, Availability zone)

  • 데이터센터를 의미
  • 한 리전 안에서도 여러 가용 영역에 만들어서 사용할 것을 권장
    • 한 가용영역이 작동불능이 되더라도 다른 가용영역에서 서비스 재개 되도록

1.3. 에지 로케이션(Edge Location)

  • CDN서비스인 CloudFront 를 위한 캐시서버 의미
    • CDN(Content Delivery Network) 콘텐츠(HTML, 이미지등 파일) 전 세계에 위치한 캐시서버에 복제해주는 서비스

2.EC2

  • EC2(Elastic Compute Cloud)
  • AWS 기본 인프라 중 하나

2.1. 기본용어

  • 시작(Start) : EC2 인스턴스 시작. 시작시 부터 과금
  • 정지(Stop) : EC2 인스턴스 정지. 운영체제 종료 상태. 과금 X
  • 삭제(Terminate) : EC2 인스턴스 삭제. 
  • 재부팅(Reboot) : EC2 인스턴스 재부팅. 운영체제 재시작
  • Root 장치 : 운영체제 설치되는 스토리지.
  • Kernel ID : 인스턴스가 사용하는 Linux 커널

2.2. EC2 인스턴스 유형

유형설명
범용M1, M3로 시작. vCPU, 메모리, 네트워크, 저장공간 등이 평균적인 사양
컴퓨팅 최적화C로 시작. 메모리 대비 vCPU비율이 높음
GPU 인스턴스G로 시작. NVIDIA GPU 장착.
메모리 최적화M2, CR1 시작. 메모리 용량이 큼
스토리지 최적화H, I로 시작. 스토리용얄이 크거나 초고속 I/O를 제공
마이크로 인스턴스가격이 가장 쌈. 낮은 vCPU 성능과 적은 메모리 제공. 프리티어에서 이 인스턴스를 무료로 사용

vCPU: 가상화 소프트웨어를 통해 제공되는 CPU

2.3. EC2 인스턴스 구매 옵션

  • 구매 및 과금 방식에 따라 크게 3가지로 구분

1)온 디맨드 인스턴스(On Demand Instance)

  • 필요시 바로 생성하는 방식
  • 과금은 1시간 단위(1분 사용 -> 1시간 사용 간주)
    • 공유 인스턴스: 하나의 물리적 서버에 여러개 EC2 인스턴스 실행. 한 인스턴스가 서버 자원을 많이 사용시 다른 인스턴스의 성능에 영향 있을 수 있음.
    • 전용 인스턴스 : 하나의 물리 서버에 하나의 EC2 인스턴스 실행. 서버내 다른 인스턴스가 없기에 성능 영향 없음.

2)스팟 인스턴스 (Spot Instance)

  • 경매방식의 인스턴스. 
  • 인스턴스 스팩 입력 후 원하는 가격을 입력하여 입찰하는 방식. 높게 입찰한 사람에게 할당. 
  • 해당 인스턴스를 다른 사람이 더 높은 가격 입찰 시 내가 가지고 있는 인스턴스 종료. 
    • (클러스터링 분석작업, 이미지 변환, 웹크롤링 등 불시에 종료되도 문제없는 업무에 사용)

3)예약 인스턴스 (Reserved Instance)

  • 일정 금액을 선불 결제 후 인스턴스 를 1~3년 예약. 시간당 요금 대폭 할인. 
  • 공유 또는 전용 인스턴스로 나뉨

2.4. EBS

  • Elastinc Block Store
  • EC2에 장착할 수 있는 가상 스토리지
  • 기본 용량보다 더 사용해야할 때, 운영체제를 중단 시키지 않고 용량울 저유롭게 늘리고 싶을 때, 데이터 보관이 필요할 때 등에 사용
    • 볼륨(Volume) : 가장 기본 형태. OS에서 바로 사용가능한 형태
    • 이미지(Image) : AMI. OS가 설치된 형태로 AMI로 EC2 인스턴스 생성
    • 스냅샷(Snapshot) : EBS 볼륨의 특정시점을 그대로 복사해 저장한 파일. EBS 볼륨과 AMI 생성가능
    • IOPS(Input/Output Operation Per Second): 저장장치의 성능 측정단위. 16KB 단위로 처리됨.

3. Security Group

  • EC2 인스턴스에 적용할 수 있는 방화벽 설정.


3.1. Security Group(방화벽)설정 기본 요소

  • Inbound: 외부에서 EC2로 들어오는 트래픽. 예) HTTP, HTTPS, SSH 등
  • Outbound: EC2에서 외부로 나가는 트래픽. EC2 안에서 인터넷을 사용할 경우에 해당. 예) 파일 다운로드, 외부 SSH접속
  • Type: 프로토콜 형태. TCP, UDP, ICMP
  • Port, Port Range: 포트 번호
  • Source/Destination : 연결 / 접속 가능한 IP 대역. Inbound일 경우 Source, Outbound일 경우 Destination
  • Rule: Inbound, Outbound, Type, Port, Source/Destination를 조합한 것을 Rule이라 함.

4. Elastic IP

  • 고정된 공인 IP를 제공
  • EC2 생성시 공인 IP 부여되나, 인스턴스가 샐행되고 있는 동안만 유효.
    • 인스턴스 재실행 시 공인 IP 바뀔 수 있다.
    • DNS 서버를 통해 IP 주소 연결시 문제 발생 가능

5. AMI

  • Amazon Machine Image
  • AMI를 이용 EC2 인스턴스를 생성시, 각종 서버 애플리케이션, 데이터 베이스, 방화벽 등 솔루션 등도 함께 설치될 수 있다.
  • 사용 경우
    • 설치 설정이 완료된 EC2 인스턴스를 빠르게 생성해야할 때.
    • Auto Scaling 등으로 자동화 할때,
    • EC2를 다른 리전으로 이전해야 할 때,
    • 상용 솔루션을 사용하고자 할때.

6. CloudWatch

  • AWS 리소스 상태를 모니터링 하는 서비스
  • 사용 경우
    • EC2 인스턴스가 이상 있을 경우 알림 받고자 할때,
    • 사용량 급증 시 Auto Scaling,
    • 부하 분산(Elastic Load Balancing) 구축 시

7. S3

  • 인터넷 스토리지 서비스
  • 용량에 관계없이 파일 저장 가능
  • 파일 업로드/다운로드 모두 HTTP 프로토콜로 처리

8. CloudFront

  • 전 세계에 파일을 빠른 속도로 배포하는 CDN 서비스
  • CloudFront를 이용하여 EC2, ELB(Elastic Load Balancing), S3 내용을 에지 로케이션에 캐시하여 빠른 선능을 낼 수 있다.

    • 전 세계 대상 서비스 준비시 모든 리전에 EC2 인스턴스나 S3 버킷을 생성하는것은 비효율 + 비용
  • 사용자가 CloudFront 에지 로케이션에 접속 시, 

    • 원하는 파일이 있으면 바로 받음
    • 원하는 파일이 없으면, 에지 로케이션이 원본 파일이 있는 오리진(리전)에 접근하여 파일을 가져온 후 사용자에게 전달.
    • 에지 로케이션이 파일을 가져와 캐시한 경우 다른 사용자들도 이캐시 파일을 받게 됨. 
    • 캐시파일 유지는 24시간. 캐시파일 즉각 갱신 필요시 캐시 파일 삭제 가능(무효화 요청)

9. RDS

  • Relational Database Service
  • RDS를 통해 DB인스턴스 생성 가능.
  • 사용량 증가시 스토리지 용량과 IOPS를 증가시켜 성능 확장 가능
  • 장애 발생시 Failover 기능으로 정상적인 서비스 제공 가능
  • 지원 데이터 베이스
    • MySQL, PostgreSQL, Oracle, Microsoft SQL Server

10. DynamoDB

  • NoSQL 데이터베이스를 제공하는 서비스로 아마존에서 개발
  • 자세한 내용은 추후 업데이트

11. ElasticCache

  • 분산 인 메모리 캐시를 손쉽게 생성하고 확장할 수 있는 서비스
  • 읽기 중심의 서비스(소셜 네트워크, 게임, 추천엔진 등) 제공환경, 고속으로 데이터 분석을 해야하는 환경에 적합.

12. ELB

  • Elastic Load Balancing
  • 부하분산과 고가용성을 제공하는 서비스
  • 한곳에 집중되는 HTTP, TCP, SSL 트래픽을 여러 EC2인스턴스에 분산
  • EC2 인스턴스가 중단되더라도 트래픽을 정상 EC2 인스턴로만 보냄.
  • ELB는 리전별로 생성해야 여러 가용영역에서 실행되는 EC2 부하를 분산시킬 수 있음.

    • 아래 그림 처럼 가용영역 전체가 중단되도 서비스 정상 제공 가능
  • 유형

    • Application Load Balancer

      • HTTP 및 HTTPS 트래픽의 로드 밸런싱에 적합
      • OSI 7Layer의 Application Layer에서 작동한다. (HTTP, HTTPS 프로토콜)
    • Network Load Balancer

      • Network Load Balancer는 극한의 성능이 요구되는 TCP(Transmission Control Protocol) 트래픽의 로드 밸런싱에 적합
      • OSI 4Layer의 Application Layer에서 작동한다
    • Classic Load Balancer

    • 기존 애플리케이션이 EC2-Classic 네트워크 내에 구축되어 있는 경우

https://aws.amazon.com/ko/elasticloadbalancing/features/#DetailsforElasticLoadBalancing_Products

13. Auto Scaling

  • 트래픽이 늘어나면 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 기능. AWS 리소스가 아니라 사용요금이 없다.

14. IAM

  • Identity and Access ManageMent
  • 사용자와 그룹을 생성해 AWS 의 각 리소스에 대해 접근제어와 권한관리를 제공함.
    • 어떤 IAM 사용자는 특정 EC2만 관리할 수 있고, 어떤 IAM 사용자는 특정 S3 만 사용할 수 있도록 구성 가능.


반응형

'기타 개발 공부 > aws' 카테고리의 다른 글

AWS EC2 생성부터 FileZilla 접속까지!  (0) 2019.02.16