본문 바로가기

Study/AWS

[AWS] 4장 서버 서비스 Amazon EC2

728x90
반응형

* 해당 내용은 그림으로 이해하는 AWS 구조와 기술의 책을 보고 정리한 게시글 입니다.

이전 발행글 보기


4.1 Amazon EC2란: 짧은 시간에 실행환경을 구축할 수 있는 가상 서버

  • Amazon Elastic Compute Cloud(Amazon EC2)는 컴퓨팅 용량을 제공하는 서비스
  • EC2는 매니지드 서비스가 아님
    • 서버 및 네트워크 운영은 AWS에서 담당
    • OS를 포함한 필요한 소프트웨어는 사용자가 직접 설치하고 운영
  • 다양한 서버 시스템의 조합(인스턴스 유형)과 OS 및 소프트웨어의 조합(AMI)이 준비되어 있기 때문에 이를 선택하면 된다.
  • "어느 정도의 성능이 필요할까?" 와 같은 설계적인 관점이 필요

EC2에 서버를 생성하는 장점

  • EC2는 관리 콘솔에 로그인하고 구성을 선택하는 것만으로도 서버를 생성할 수 있다.
    • 바로 생성 및 삭제가 가능하기 때문에 불필요한 리소스를 유지할 필요가 없다(불확실성이 많은 경우 매우 적합)
    • 복제 및 스케일 아웃, 스케일 다운 기능도 있고, 이벤트 사이트 등 일시적으로 접속이 증가하는 경우 적합하다.

바로 생설할 수 있고 바로 삭제할 수 있는 장점

  • EC2로 서버를 생성할 때는 인스턴스 유형을 선택하여 구성할 수 있는데, 어떤 OS를 사용할 것인가, 소프트웨어를 설치할 것인가, 어떤 AMI를 선택할 것인지에 따라 결정된다.

서버를 생성할 때 선택의 폭이 넓다

4.2 EC2의 사용 절차: 가상 서버를 사용하기까지

  • EC2는 관리 콘솔 대시보드에서 작업할 수 있다.
  • EC2의 주요 기능에 대해서는 단어, 개념을 잘 알아 두자.
    • 인스턴스 : AWS 클라우드에 생성한 가상 서버를 의미한다.
    • AMI : 가상 이미지를 말한다. 인스턴스를 생성하는 기준이 되는 금형과 같은 것이다.
    • 키 페어 : 인스턴스에 접속할 때 인증을 위해 사용하는 키이다.
    • EBS : AWS 클라우드에서 사용할 수 있는 스토리지이다. 인스턴스 스토리지로 사용한다.
    • 보안 그룹 : 가상 방화벽으로, 1개 이상의 인스턴스 트래픽을 제한한다.
    • Elastic IP : 정적(고정) IPv4 주소이다.
  • EC2의 사용 절차 : 관리 콘솔 로그인 > EC2 인스턴스 생성 > EC2 접속 > 소프트웨어 설치/설정
  • 인스턴스 설정 항목
    • AMI
    • 인스턴스 유형 : EC2 인스턴스의 장비 사양이다.
    • 리전 : 서버를 설치할 지역이다.
    • 네트워크 : EC2 인스턴스를 배치할 네트워크이다. AWS의 VPC에서 선택한다. VPC가 없으면 새로 생성하거나 기본 VPC를 사용한다.
    • 서브넷 : 설치할 네트워크의 범위이다. VPC 내에 어떤 서브넷을 설치할지 선택한다.
    • IAM 역할 : 인스턴스의 접속 권한 정책을 설정한다.
    • 스토리지의 용량과 종류 : 서버 장비의 스토리지이다. OS가 설치된 장소에 있다. 기본적으로 EBS를 선택하고 사용할 디스크 용량과 스토리지의 종류를 선택한다.
    • 태그(EC2 인스턴스의 레이블) : 인스턴스에 임의의 태그를 부여할 수 있다. Name 태그를 사용하여 인스턴스 이름에 부여할 수 있으므로 사용하면 편리하다.
    • 보안 그룹 : 프로토콜별로 포트 혹은 IP 주소, 아니면 양쪽 모두 필터링을 설정한다.

4.3 인스턴스 생성과 요금: 가상 서버 생성 예시

  • 인스턴스의 이용 요금은 다음 4가지 항목의 비용을 합한 것이다.
비용 항목 설명
인스턴스 사용량 (가동 시간 X 단가) 인스턴스가 가동 시간(초) 단위로 과금된다. 정지하고 있는 동안은 과금되지 않는다. 원래 과금은 한 시간 단위였는데 2017년 9월부터 초 단위 과금으로 바뀌었다. 단위는 인스턴스 유형에 따라 다르고 고기능을 사용할 경우 비싸진다.
EBS(스토리지) 요금 (용량 X 단가) 인스턴스가 사용하는 EBS 요금이다. 보유한 용량 단위로 과금되며 스토리지 성능(SSD인지, HDD인지, IOPS 담보를 할지 여부 등)에 따라 단가가 달라진다. 보유한 용량 단위이며 저장 용량 단위가 아니므로 주의하자. 인스턴스와는 달리 정지하고 있는 동안에도 요금이 부과된다.
통신 요금 (아웃바운드 통신 요금) 인스턴스의 통신 요금이다. 인터넷에서 인스턴스로 들어오는(인바운드) 통신료는 무료이며 인스턴스에서 인터넷으로 나가는 통신(아웃바운드)만 요금이 부과된다. 요금은 리전에 따라서 조금 다르다.
그 외 옵션 Elastic IP 서비스 등 옵션을 사용할 경우 해당 요금이 추가된다.

4.4 AMI: OS 및 소프트웨어가 설치된 디스크 이미지

  • AMI(Amazon Machine Image)는 OS와 소프트웨어의 구성을 기록한 템플릿이다.
  • AMI를 사용하면 동일한 서버를 얼마든지 생성할 수 있다.
  • AMI는 AWS 공식 AMI만 있는 것이 아니라 OS나 소프트웨어의 커뮤니티판, 기업이 생성한 AMI도 제공한다.
  • AMI는 경우에 따라서 무료와 유료가 있다. 예를 들어 윈도 서버와 같이 원래 유료인 소프트웨어는 AMI에서도 유료이다.
  • AMI를 개인이 만들어서 마켓플레이스에 배포할 수도 있다.

4.5 인스턴스 유형: 용도에 맞게 머신을 선택하자

  • 인스턴스 유형이란 머신의 성능이며 용도에 따라 선택할 수 있다.
  • 인스턴스에는 유형과 크기가 있다.
  • 표기 예시 : t2.micro (t2=인스턴스 유형, micro=인스턴스 크기) 
  • 주요 인스턴스 유형
용도 인스턴스 유형 내용
범용 T2, T3, T5, M4 등 일반적인 서버이다. 부하가 일정한 서버의 경우 사용하며, 버스트 기능을 지원하는 유형도 있다.
컴퓨팅 최적화 C5, C4 등 연산 능력이 높은 서버이다.
메모리 최적화 X1e, X1 등 메모레 액세스 속도를 높인 서버이다.
R4 대용량 메모리를 탑재한 서버이다.
가속화된 컴퓨팅 최적화 P3, P2, G3, F1 머신 러닝 등에 사용되는 GPU를 탑재한 유형 및 그래픽 기능이 높은 유형이다.
스토리지 최적화 H1, I3, D2 등 스토리지를 최적화한 유형이다. I3는 SSD 기반이다.

4.6 Amazon EBS: Amazon EC2의 스토리지 볼륨

  • Amazon EBS(Amazon Elastic Block Store)는 영구적인 블록 스토리지 볼륨으로 EC2와 조합하여 사용한다.
  • EBS는 HDD와 SSD를 선택할 수 있다.
  • EBS에는 여러 가지 편리한 기능이 있다.
    • 탄력적 볼륨 : 볼륨 크기를 간단히 조정할 수 있는 기능이다.
    • 스냅샷 : 어떤 시점의 데이터를 통쨰로 저장하는 기능이다.
    • 데이터 라이프 사이클 매니저 : 일정에 따라서 스냅샷을 생성, 삭제하는 기능이다.
    • 최적화 인스턴스 : 특정 인스턴스 유형을 최적화 인스턴스로써 읽기 쓰기를 고속화하는 기능이다.
    • 암호화 : 데이터 볼륨, 부팅 볼륨 및 스냅샷을 암호화하는 기능이다. KMS를 사용할 수 있다.
반응형

4.7 SSH를 사용한 접속과 키 페어: 공개키 암호 방식을 이용한 접근 관리

  • SSH는 서버에 설치된 소프트웨어를 조작할 때 사용하는 방식이다.
  • 키 페어는 SSH ㅈ버속에 관한 접근 관리를 제공한다.

4.8 Elastic IP 주소: 고정 공인 IP 주소를 부여

  • Elastic IP 주소는 AWS가 제공하는 정적인 공인(public) IPv4 주소이다.
  • EC2 인스턴스는 정지 후 다시 시작하면 공인 IP 주소가 바뀌게 된다. 그래서 고정 IP 주소를 인스턴스와 연결하기 위해 사용되는 것이 Elastic IP 주소이다.
  • Elastic IP 주소는 AWS 계정에 연결되어 있다. 인스턴스를 삭제해도 확보한 IP 주소는 그대로 AWS 계정에서 소유한다.
  • 소유한 IP가 중지된 인스턴스나 분리된 네트워크에 연결된 경우에도 시간당 요금이 부과된다.

4.9 Elastic Load Balancing: 트래픽을 분배하는 분산 장치

  • ELB는 AWS가 제공하는 로드 밸런서이다.
  • 로드 밸런서는 서버 한 대에 집중되는 부하를 분산시키기 때문에 부하 분산 장치라고도 한다.
  • ELB의 종류
    • ALB(Application Load Balancer) : HTTP 및 HTTPS에 가장 적합한 로드 밸런서이다. (HTTP, HTTPS)
    • NLB(Network Load Balancer) : OSI 모형의 전송 계층에서 동작한다. (TCP, TLS)
    • CLB(Classic Load Balancer) : 오래된 유형의 로드 밸런서이다. 앞으로 구축할 시스템에는 사용하지 않는 것을 권장한다. (TCP, SSL/TLS, HTTP, HTTPS)
  • ELB의 요금 : 사용 요금 + LCU 요금
    • 사용 요금(사용 단가 X 시간) : 사용 요금은 ELB의 종류별로 단가가 결정되면 여기에 시간을 곱한 금액이다.
    • LCU 요금(LCU 사용량 X LCU 단가 X 시간) : 측정 항목 4가지에 대해서 LCU 사용량이 가장 큰 항목만 과금 대상으로 한다.
      1. 새 연결 수 : 1LCU = 초당 25개의 새로운 연결
      2. 활성 연결 수 : 1LCU = 분당 3,000개의 활성 연결
      3. 처리된 바이트 : 1LCU = 시간당 1GB
      4. 규칙 평가 : 1LCU = 초당 1,000개의 규칙 평가
  • 단, CLB의 경우는 요금 계산이 간단하다. (사용 단가 X 시간 + 처리 단가 X 처리량)

4.10 스냅샷: 서버 데이터 백업

  • 스냅샷은 특정 시점의 서버 디스크 상태를 보존하는 기능이다.
  • AMI를 작성하고 싶을 떄도 스냅샷으로 작성한다.
  • 스냅샷의 데이터 보존 장소는 Amazon S3이지만 스냅샷의 파일은 사용자가 자유롭게 다운로드할 수 없다.
    (S3 요금은 발생하지 않는다)

4.11 오토 스케일링: 수요에 맞춰 EC2 대수를 증감

  • 오토 스케일링이란 서버의 액세스 상태에 따라 서버 대수를 조절하는 기능이다.
  • 오토 스케일링을 시작하려면 'Auto Scaling 그룹'(인스턴스의 집합)을 생성하고 그룹에 인스턴스(서버)의 최소 대수와 최대 대수를 설정해야 한다.
  • 인스턴스의 증감에는 3가지 방법이 있다.
    1. EC2 인스턴스가 정지한 경우에 분리하고 새로운 EC2 인스턴스를 생성하는 방법
    2. 일정에 맞춰 스케일링하는 방법
    3. CPU와 네트워크의 부하를 참고하여 특정 임계 값을 넘을 때 인스턴스 수를 자동적으로 증감하는 방법 (CloudWatch 모니터링 연계)
  • 오토 스케일링의 요금은 무료이다. 하지만 CloudWatch를 사용할 경우 모니터링에 관련된 요금이 부과된다.
728x90
반응형