AWS


EC2 (Elastic Compute Cloud)

  • Amazon의 대표적인 서비스이다.
  • EC2란 독립된 컴퓨터를 사용자에게 임대해주는 서비스이다.
  • 이 서비스를 통해 원하는 만큼 가상 서버를 구축하고 보안 및 네트워크 구성과 스토리지 관리가 가능하다.
  • 필요할 때마다 on/off가 가능하고 사용한 시간에 대해서만 비용을 지불하면 된다.

EC2의 가격정책

  • On-Demand : 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정 된 가격을 지불
    • 약정x , 한번 써보고 싶거나 유연하게 ec2를 사용하고 싶을 때 사용
  • Spot Instance : 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 쓰는 방식
    • 최대 90%정도 저렴, 하지만 언제 다시 내주어야 할 지 모름… 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요한 경우에 사용
  • Reserved Instance(RI) : 미리 일정 기간 (1~3년) 약정해서 쓰는 방식 (saving plan)
    • 최대 75%정도 저렴, 수요 예측이 확실할 때, 비용 절감을 위해 어느정도 기간의 약정이 가능한 사람들이 사용

      보통 On-Demand, Spot Instance를 사용

EC2 타입 종류

  • 범용: 모든 리소스의 균형을 알맞게 유지하여 사용하는 유형.
    • t2 : 저렴한 범용. 웹서버, DB.
    • m2 : 범용. 어플리케이션 서버.
  • 컴퓨팅 최적화: 고성능 프로세스를 활용하는 유형.
    • c5 : 컴퓨팅 최적화. CPU 성능이 중요한 어플리케이션/DB.
    • F1 : 하드웨어 가속. 유전 연구, 금융 분석, 빅데이터 분석.
  • 메모리 최적화: 대규모 데이터를 처리하는 유형.
    • r4 : 메모리 최적화. 메모리 성능이 중요한 어플리케이션/DB.
    • x1e : 메모리 최적화. Spark.
    • p3 : 그래픽 최적화. 머신러닝, 비트코인.
  • 저장 최적화: 높은 디스크 처리하는 유형.
    • h1 : 디스크쓰루풋 최적화 . 하둡/맵리듀스.
    • i3 : 디스크 속도 최적화. NoSQL/데이터 웨어하우스.
    • d2 : 디스트 최적화. 파일서버/데이터 웨어하우스/하둡.

EBS (Elastic Block Store)

  • EBS는 EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공한다.
  • 쉽게 생각하면 EBS는 하드디스크라고 생각하면 되는데, AWS에서 실행중인 인스턴스에 디스크 공간이 필요할때 EBS를 사용하면 된다.
  • 필요한 용량에 맞게 구입이 가능하고 사용자가 지우기전까지 영구적으로 보존이 가능하다.
  • 내부적으로 데이터를 실시간 복제하고 있기 때문에 하드디스크에 비해 데이터를 잃어버릴 확률이 현저히 낮다고 한다.
  • 사용방법은 인터넷에 상세히 나와있지만 간단하게 설명하면 EBS는 USB처럼 EC2에 연결하여 사용이 가능하다.

AMI (Amazon Machine Image)

  • 인스턴스 생성에 필요한 모든 소프트웨어 정보를 담고 있는 템플릿 이미지라고 생각하면 된다.
  • 즉, OS, 어플리케이션, 서버 프로그램 설정 등이 미리 구성된 이미지다.
  • EC2 인스턴스를 시작할 때 AMI를 사용하여 OS 설치나 서버 소프트웨어 설정을 별도로 해주지 않아도 된다.

AMI는 총 3가지 유형

  • AWS AMI : AWS에서 제공하는 AMI이며 인스턴스를 시작할 때 AMI 설정하는 곳이 있는데 그게 AWS에서 기본으로 제공하는 AMI다.
  • AWS MarketPlace : 소프트웨어 회사가 AMI를 만들어서 판매하는 방식이다. 회사에서 특정 소프트웨어를 사용하는 경우에는 이 유형을 사용한다.
  • AWS Custom AMI : 사용자가 직접 AMI를 만들어서 서버를 런칭할 때 그 AMI를 써서 런칭한다.

ex) 실제 운영중인 EC2 인스턴스를 커스텀 AMI로 만들어서 동일한 환경으로 구성된 ec2를 빠르게 시작할 수 있다.

ELB (Elastic Load Balancer)

  • ELB는 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산시켜준다.
  • 즉, 부하를 적절하게 분배해주는 장치이고 서버가 죽지 않도록 알아서 관리를 해주고 인스턴스 상태를 자동 감지해서 오류가 있는 인스턴스는 분배 대상에서 제외 된다.

ElP (Elastic IP)

  • EC2 인스턴스 서버는 고정 IP가 아니다.
  • 인스턴스를 실행시키면 Public IP 주소를 받게 된다. 하지만 인스턴스가 중지가 되거나 사용하지 않은 상태로 변경이 되면 IP주소는 사라지게 된다. 다시 실행시키면 새로운 IP를 받게 된다.

매번 실행시 새로운 IP주소를 받게되는 이유는 사용할 수 있는 IP주소가 한정적이기 때문이다. 약 40억개의 IP주소를 사용할 수 있는데, 40억대의 사용자만 인터넷을 할 수 있는 것이다. 그래서 IP를 돌려막기? 개념으로 매번 새롭게 IP를 부여해주는 것이다.

매번 새로운 IP주소를 받으면 서비스가 어려우니 이를 해결하기 위해 Elastic IP를 사용한다. Elastic IP는 고정 IP주소를 할당하게 해준다. 사용하지 않은 상태여도 IP는 고정되어있다. 하지만 EC2 인스턴스에 연결하여 사용하지 않은 상태이면 요금이 부과된다.그 이유는 Elastic IP를 할당 받기만 해놓고 사용하지 않은 상태이면 다른 사람들이 사용할 수 있는 기회가 적어지기 때문에 요금을 부과한다고 한다.

Auto Scaling

Auto Scaling이란 시스템을 자동으로 늘리고 줄여주는 서비스이다.

예를들면 서비스에 사용자가 몰리게 되면  참여하고 있던 서버의 CPU 사용률이 점점 높아진다. 그러다가 CPU 점유율이 80%를 넘게되면 미리 준비된 이미지(AMI)를 이용해서 인스턴스를 생성하고, ELB에 연결해서 트래픽을 새로 생성한 EC2 인스턴스에 분산한다.

트래픽이 점점 줄어들면서 CPU 사용률이 20% 아래로 떨어지면 EC2 인스턴스가 순차적으로 제거된다.

VPC (Virtual Private Cloud)

  • VPC는 사용자 AWS 계정 전용 가상 네트워크이다. (네트워크 망)
  • AWS와 같은 클라우드 서비스에선 수많은 인스턴스들이 물리적으로 동일한 네트워크나 장비에서 돌아가게 되는데, 이를 논리적으로 완전히 분리 시켜 준다.
  • VPC별로 네트워크를 구성할 수 있고 각각 VPC에 따라 네트워크를 다르게 설정해 줄 수 있다.

VPN (Virtual Private Network)

  • 큰 규모의 조직이 여러 곳에 분산되어 있는 컴퓨터들을 연결하는 보안성이 높은 사설 네트워크를 만들거나, 인터넷을 활용하여 원격지 간에 네트워크를 서로 연결하고 암호화 기술을 적용하여 보다 안정적이며, 보안성 높은 통신 서비스를 제공하는 서비스이다.

ex) 재택 근무하는 사람들이 안전한 네트워크 연결을 사용하여 사무실에 있는 네트워크, 파일 등을 인터넷을 통해 사무실에서 근무할 때와 똑같이 이용하기 위해 VPN을 사용한다.

IAM(Identity and Access Manager)

AWS의 모든 솔류션 서비스 및 자원에 대해 개별적으로 권한을 부여할 수 있는 권한 솔류션이다.

IAM

CloudlTrail

  • CloudlTrail은 AWS계정의 활동 기록이다.
  • AWS에서 누가 어떤 일을 했는지에 대한 내용이 기록된다.
  • CloudTrail을 사용하면 AWS 인프라에서 계정 활동과 관련된 작업을 기록하고 모니터링하며 보관까지 할 수 있고 로그 보관은 S3에 저장된다.

Cloud Watch

  • CloudWatch는 AWS 서비스 및 자원 활동에 초점을 맞추고, 그 상태와 성능에 대해 보고해 준다.
  • CloudWatch는 AWS 리소스와 어플리케이션의 모니터링 서비스.

Route53

  • 컴퓨터는 숫자로 된 IP로 통신을 한다. 그런데, ip주소를 기억하는건 쉽지 않으니 ip주소에 도메인 네임을 붙여 쉽게 기억할 수 있도록 하는것이 dns(Domain Name Service)인데, 아마존에서 DNS를 서비스화 한 것이 Route53이다.

route53의 핵심 기능은 도메인 네임 서버를 임대해준다. (도메인 서버 등록 대행자 역할과 네임 서버를 임대해주는 역할)

CloudFront

  • AWS에서 제공하는 CDN 서비스이다.

  • 캐쉬와 CDN(Content Delivery Network) 역할을 하며, 캐싱을 통해 사용자에게 좀 더 빠른 전송 속도를 제공함을 목적이다.

  • 전 세계에 배치된 Edge Location을 이용하여 효율적인 컨텐츠 배포 구조를 제공한다.

  • Edge Location은 cloud front를 위한 캐시 서버들의 모음이다. (전 세계 주요 도시에 캐시 서버를 구축)

  • Origin Server

    • 원본 데이터를 가지고 있는 서버이다.
      • 보통 AWS에서의 Origin Server는 S3, Ec2 instance이다.
  • Edge Server = Edge Location

    • AWS에서 실질적으로 제공하는 전 세계에 퍼져있는 서버이다.
    • Edge Server에는 요청받은 데이터에 대해서 같은 요청에 대해서 빠르게 응답해주기 위해 Cache 기능을 제공합니다.

CloudFront

  1. 사용자가 웹사이트에 접속하여 이미지 파일 및 HTML파일을 요청
  2. DNS 요청을 최대한 빠르게 해줄 수 있는 Edge Location에 라우팅을 함
  3. Edge Location에 해당 캐시에 요청된 파일이 있는지 확인
  4. 해당 캐시에 요청된 파일이 없으면 오리진 서버에 파일을 전달함
  5. 오리진 서버는 다시 Egde Location에 파일을 전달함 (해당 파일은 앞으로 캐시에 추가 됨)
  6. Edge Location은 사용자에게 파일을 전달함

Security Group

  • 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다.
  • 이 서비스를 이용하면 재택하면서 DB에 붙을 수 있다.

참조