AWS 기초이론 - IAM, EC2, EBS, ELB, Route 53

1. IAM


  • 유저를 관리하고 접근 레벨 및 권한에 대한 관리
  • 새로 만든 계정은 Root유저이고 이 안에서 다른 유저를 생성이 가능
    • 각 유저에 대해 접근키(Access key)와 비밀키(Secret Acess key)가 생성
    • 비밀번호를 수시로 변경 가능
  • Multi - Factor Authentication(다중 인증) 기능
  • 쉽게 생각하면 DB에 root 계정에서 다른 계정을 만들고 해당 계정에 권한을 부여하는 것과 유사
  • Root 유저로 할 수 있는 것들
    • 그룹 생성
    • 유저 생성
    • 역할 : 하나 혹은 다수의 정책을 지정하는 것
    • 정책 : JSON 형태의 문서로 세밀한 접근 권할을 일일이 설정 하는 것. 그룹, 역할에 추가 가능


2. EC2(Elastic Compute Cloud)


  • 클라우드에서 확장 가능 컴퓨팅 용량을 제공하는 서비스
  • EC2를 사용하기 위해 EBS라는 디스크 볼륨을 요구
    • EBS란 EC2안에 부착되어 있는 일종의 하드디스크

사용시 내는 지불 방식

  • On-demand : 시간 단위로 가격 고정
    • 오랜시간동안 선불을 내지 않고 최소한의 비용을 지불하여 EC2인스턴스를 사용하고 싶을때 사용
  • Reserved : 한정된 EC2 용량을 사용 가능, 1~3년동안 시간별로 할인 적용
    • 개발의 시작과 끝을 알고 있는 경우 매우 유리, 선불로 인한 컴퓨팅 비용 대폭 감소
  • Spot : 입찰 가격 적용
    • 단순히 비용 절감 시 유용, 인스턴스의 시작/끝시점에 구애받지 않을 경우 권장


3. EBS(Elastic Block Storage)


  • 저장 공간이 생성되어지며 EC2 인스턴스에 부착되는 것
  • 디스트 볼륨 위에 File System이 생성 -> 사용자가 EC2에 접근 가능, 파일을 로컬로 이동 가능
  • EBS는 특정 Availability Zone에 생성됨

그림1

  • 하나의 Region 안에 여러 개의 Availability Zone(AZ)가 존재
  • 중심부로부터 복사본들이 AZ로 꾸며지며 유사시 한쪽 서버가 망가지거나 다운되면 AZ라는 백업을 동해 서비스 제공을 가능케 하는 일종의 Disaster Recovery
  • EC2와 같이 특정 서비스를 사용하게 될 경우 AZ를 설정해야 함


EBS 볼륨 타입

SSD군

  • General Purpose SSD (GP2) : 최대 10K IOPS를 지원하며 !GB당 3IOPS 속도가 나옴
    • 가장 보편적으로 사용
  • Provisioned IOPS SSD (IO1) : 극도의 I/O률을 요구하는 (예시 : 매우 큰 DB관리) 환경에서 주로 사용되며 10K 이상의 IOPS를 지원

Magnetic/HDD군

  • Throughput Optimized HDD (ST1) : 빅데이터 Datawarehouse, Log 프로세싱시 주로 사용
    • 루트 볼륨으로는 사용 불가능(윈도우 같은 운영체제를 가질 수 없음)
  • CDD HDD (SC1) : 파일 서버 같이 드문 볼륨 접근시 주로 사용
    • 루트 볼륨으로 사용 불가능하나 비용이 매우 저렴
  • Magnetic (Sandard) : 디스크 1GB당 가장 싼 비용
    • 루트 볼륨으로 사용 가능


4. ELB(Elastic Load Balancers)


  • 수많은 서버의 흐름을 균형있게 흘려보내는 중추적인 역할
  • 하나의 서버로 traffic이 몰리는 병목현상(bottleneck) 방지
  • Traffic의 흐름을 unhealthy instance -> healthy instance로 변화

그림2

Application Load Balancer

  • OSI Layer7에서 작동
  • HTTP, HTTPS와 같은 traffic의 load balancing에 가장 적합
  • 고급 request 라우팅 설정을 통하여 특정 서버로 request 보내기 가능

Network Load Balancer

  • OSI Layer4에서 작동
  • 매우 빠른 속도
  • Production 환경에서 종종 사용
  • 극도의 performance가 요구되는 TCP traffic에서 적합
  • 초당 수백만개의 request를 아주 미세한 delay로 처리 가능

Classic Load Balancer

  • 현재 Legacy로 간주되어 거의 사용 X
  • Layer7의 HTTP/HTTPS 라우팅 기능 지원
  • Layer4의 TCP traffic 라우팅 기능 지원

X-Forwarded-For 헤더

그림3

  1. public ip address에서 DNS를 통해 ELB에 도달하면 ELB는 request를 받고 Private IP address 이직
  2. EC2 인스턴스로 request를 전송하면 EC2는 request에 대한 정보 확인
  3. EC2는 Private IP address밖에 볼 수 없어서 실제로 어디서 왔는지 확인 불가
  4. X-Forwarded-For 헤더를 통해 확인 가능


5. Route 53


  • AWS에서 제공하는 DNS 서비스
    • EC2 instance
    • S3 Bucket
    • Load Balancer
    • 사용하는 서버 이름을 구해주는 서비스



본 포스팅은 인프런 Simon Kim님의 ‘AWS(Amazon Web Service) 입문자를 위한 강의’ 강의를 듣고 정리한 내용을 바탕으로 복습을 위해 작성하였습니다. [강의 링크]


© 2021. By Backtony