[AWS] 04장. 서버 서비스 Amazon EC2 - 그림으로 이해하는 AWS

정은아·2024년 11월 25일
1
post-thumbnail

04장. 서버 서비스 Amazon EC2


💡 EC2는 AWS를 대표하는 서비스이다.
ㅤ EC2는 굉장히 자유로운 서비스라서 다양한 설정을 할 수 있다.

🎨 4.1 EC2란

📌 4.1.1 Amazon EC2란

  • Amazon Elastic Compute Cloud(Amazon EC2)는 컴퓨팅 용량을 제공하는 서비스이다.
    쉽게 말해서 서버에 필요한 세트를 클라우드에 빌릴 수 있다는 뜻이다.
  • 클라우드는 하으뒈어의 구성과 OS의 조합을 탄력적으로 선택할 수 있고 구축이 쉽다는 특징이 있다.
  • 착각할 수 있지만 EC2는 매니지드 서비스가 아니다.
  • 따라서 서버 및 네트워크 운영은 AWS가 하지만, OS를 포함하여 필요한 소프트웨어는 사용자가 직접 설치하고 운영해야 한다.

📌 4.1.2 클릭 한 번으로 최적의 서버를 만들 수 있다

  • EC2는 서버를 직접 만든다고는 하지만 관리 콘솔에서 클릭 한 번으로 생성할 수 있기 때문에 서버에 대한 기술적 지식은 그다지 필요하지 않다.
  • 다양한 서버 시스템의 조합(인스턴스 유형)과 OS 및 소프트웨어의 조합(AMI 등)이 준비되어 있기 때문에 이를 선택하기만 하면 된다.
  • 구체적인 매뉴얼보다 '어떻게 구성할까? 어느 정도의 성능이 필요할까?'와 같이 설계적인 관점이 필요하다.

📌 4.1.3 바로 생성할 수 있고 바로 삭제할 수 있다.

  • EC2는 관리 콘솔에 로그인하고 구성을 선택하는 것만으로도 서버를 생성할 수 있다.
  • 바로 생성할 수 있고, 바로 삭제할 수 있기 때문에 불필요한 리소스를 유지할 필요가 없다.
    • 한 마디로 '불확실성이 많은 경우'에 매우 유용하다.

📌 4.1.4 인스턴스 유형 및 OS를 선택한다

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

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

📌 4.2.2 EC2 서비스의 기능


🎨 4.3 인스턴스 생성과 요금

💡 인스턴스 요금은 인스턴스와 EBS의 요금에 통신료를 합산한 것이다.

💎 T2/T3 무제한이란

  • T2 / T3 무제한이란 인스턴스 유형이 T2 혹은 T3의 경우에만 하나요 표시되는 선택 사항이다.
  • 부하가 높아졌을 때 버스트(일시적으로 고성능을 낼 수 있는 기능)를 무제한으로 쓰는게 가능하다.
  • 그러나 일반적인 버스트를 초과하여 사용할 경우 별도로 요금이 부과되기 때문에 계속해서 서버에 부하가 발생하는 경우는 예상외로 비용이 증가할 수 있다.

📌 4. 인스턴스의 요금

  • 인스턴스의 이용 요금은 다음 4가지 항목의 비용을 합한 것이다.

💎 AWS 가입 후 1년간 특전

  • AWS에 가입 후 1년간 특전으로 t2.micro를 750시간/월 범위 안에서 무료 사용 가능하다.
  • 750시간이란 대략 서버 1대의 1달분이다.
  • 그 외에 EBS는 30GB까지, 통신료는 15GB까지 무료로 사용할 수 있다.

💎 EC2가 적합하지 않는 경우

  • 단순한 서버 1대로 구성되어 그다지 변화가 없는 시스템의 경우라면 AWS의 장점을 살릴 수 없으므로(확장성, 다기능) EC2를 사용하는 이점이 없다.
  • EC2는 스스로 관리해야 한다는 점을 전제로 하기 때문에 운영하는데 수고로울 수 있다.

🎨 4.5 인스턴스 유형

📌 4.5.1 인스턴스 유형이란

  • 인스턴스 유형이란 머신의 용도이다.
  • CPU, 메모리, 스토리지, 네트워크 용량 등이 용도에 맞게 조합되어 있다.

📌 4.5.2 인스턴스의 유형과 크기

  • 유형과 크기에 따라 단가가 달라진다.
  • 단가 X 사용 시간이 기본 요금이다.

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

📌 4.6.1 EBS란

  • Amazon EBS(Amazon Elastic Block Store)는 영구적인 블록 스토리지 볼륨이다.
  • EC2 인스턴스와 조합하여 사용한다.
  • 스토리지는 쉽게 말해서 데이터를 기록하는 장소로, 대표적인 스토리지는 HDD와 SSD다.
  • 블록 스토리지 볼륨은 데이터를 바이트 블록 단위로 디스크에 저장하는 일반적인 방식이다.
  • 같은 AWS 서비스인 S3는 오브젝트 스토리지라고 하는 방식을 채용하고 있다.
  • EBS는 HDD와 SSD를 선택할 수 있다.
    • HDD는 대용량을 지원하며 SSD에 비해 가격이 싸지만 성능이 낮다.
    • SSD는 가격이 조금 비싸지만 IOPS(Input Output Per Second, 1초간 처리할 수 있는 입출력 수)가 빠르다.
    • 고성능이라면 SSD, 저비용이라면 HDD가 적합하다.

🎨 4.7 SSH를 사용한 접속과 키 페어

📌 4.7.1 SSH로 접속하기

  • 서버에 설치한 소프트웨어를 조자가려면 SSH 방식을 사용해 원격 접속으로 조작하는 것이 일반적이다.
  • 서버에서 SSH를 사용하기 위한 프로그램(데몬)을 기동하고, 클라이언트에는 조작하기 위한 소프트웨어를 설치해야한다.
  • 서버에 SSH를 사용하기 위한 프로그램을 설치하지 않아도 OS에 이미 설치되어 동작하고 있다.
  • 클라이언트는 Putty나 Tera Term과 같은 소프트웨어를 주로 사용한다.

📌 4.7.2 키 페어란

  • 키페어는 로그인 할 때 인증으로 사용하며, 공개키와 비밀 키로 된 한 쌍을 말한다.
  • 공개 키 방식이라고 불리며 자물쇠를 잠그는 키와 자물쇠를 여는 키를 공개키와 비밀키로 조합하여 사용하는 방법이다.
  • 자신 외에도 공유된 키를 '공개키', 자신만 알고 있는 키를 '비밀키(개인키)'라고 하며, 두 가지 키는 한 세트이다.
  • aws는이 두 키를 파일 하나로 취급한다.
  • ssh로 서버(인스턴스 괄호 닫고에 접속할 때 인스턴스 쪽에서 키페어에 포함되어 있는 '공개키'를 지정하고, 클라이언트 쪽 소프트웨어에는 내려받은' 키 페어 파일'을 '비밀키'로 설정하여 사용한다.
  • 키페어는 생성했을 때만 내려받기가 가능하며 재발행이 안 된다.
    • 잊어버렸을 경우에는 서버를 재구축해야한다.

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

💡 AWS에는 고정 IP(정적인 IP) 주소로 Elastic IP(탄력적인 IP) 주소를 제공하고 있다.
ㅤ Elastic IP 주소는 AWS 계정에 속해 있기 때문에 인스턴스를 삭제해도 사용 가능하다.

📌 4.8.1 Elastic IP 주소란

  • Elastic IP 주소는 AWS가 제공하는 정적인 공인(public) IPv4 주소이다.
  • EC2는 정지 후 다시 시작하면 공인 IP주소가 바뀌게 된다. 이는 문제를 야기한다.
  • 그래서 고정 IP 주소를 인스턴스와 연결해야 하고, 이 때 사용되는 것이 Elastic IP 주소이다.

📌 4.8.2 Elastic IP 주소의 확보와 부여

  • Elastic IP 주소는 AWS 계정에 연결되어 있다.
  • 인스턴스 단위가 아니므로 IP 주소를 부여한 인스턴스를 삭제해도 확보한 IP 주소는 그대로 AWS 계정에서 소유하는 것이 가능하다.
  • 인스턴스에 이미 할당된 공인 IP대신 Elastic IP를 할당하면 AWS 공인 IPv4주소 풀 인스턴스에 할당하기 위해 확보한 IP주소로 되돌아간다.
  • 이미 할당되어 있는 IP 주소는 Elastic IP 주소로 사용할 수 없다.

📌 4.8.3 Elastic IP 주소의 요금

  • Elastic IP 주소의 요금은 조금 특수하다.
  • 기본적으로 인스턴스에 부여된 IP 한개는 무료이고, 추가로 연결하면 시간에 비례하여 요금이 부과된다.
  • 소유한 IP가 중지된 인스턴스나 분리된 네트워크에 연결된 경우에도 시간당 요금이 부과된다.

🎨 4.9 Elastic Load Balancing

📌 4.9.1 ELB란

  • ELB(Elastic Load Balancing)는 AWS가 제공하는 로드 밸런서이다.
  • 로드 밸런서는 서버에 집중되는 접속(트래픽)을 서버 여러 대나 네트워크에 분배하는 방식이다.
  • 서버 한 대에 집중되는 부하를 분산시키기 때문에 부하 분산 장치라고도 한다.

📌 4.9.2 ELB의 종류

  • ELB에는 ALB, NLB, CLB 세 종류가 있다.

💎 ALB(Application Load Balancer)

  • HTTP 및 HTTPS에 가장 적합한 로드 밸런서이다.
  • OSI 모형의 애플리케이션(구체적인 통신을 제공하는 계층)에서 동작한다.
  • 요청되는 명령어의 내용을 보고 판단하기 때문에 대상의 유화를 디렉터리 단위로 분배하는 것이 가능하다.
  • 인스턴스와 로드밸런서 사이의 통신은 암호화가 가능하다는 것도 특징 중 하나이다.
  • 하지만 분배 대상을 정적 IP 주소를 설정하고 그 ip를 가진 호스트(기기)로 전송할 수 없다.
    지원 프로토콜: HTTP, HTTPS

💎 NLB(Network Load Balancer)

  • OSI 모형 전송 계층(전송된 데이터의 제어를 담당하는 계층)에서 동작한다.
  • 패킷이라고 불리는 단편 데이터밖에 볼 수 없기 때문에 alb만큼 상세하게 분배할 수 없다.
  • 대신 분배 대상의 정적 IP 주소를 설정할 수 있고 서버에 접속한 클라이언트의 IP 주소를 그대로 서버에 전송하도록 설정할 수도 있다.
    지원 프로토콜: TCP, TLS

💎 CLB(Classic Load Balancer)

  • 오래된 유형의로드 밸런서이다.
  • 지원하는 프로토콜이 많다는 것이 장점이지만 앞으로 구축할 시스템에는 사용하지 않는 것을 권장한다.
    지원 프로토콜: TCP, SSL/TLS, HTTP, HTTPS

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

💡 AWS의 장점 중 하나는 유연성이 높다는 것이다.
ㅤ 인스턴스를 쉽게 늘리거나 줄일 수 있다.
ㅤ 이러한 인스턴스의 증감을 자동으로 실행하는 것이 오토 스케일링이다.

📌 4.11.1 오토 스케일링이란

  • 오토 스케일링이란 서버의 액세스 상태에 따라 서버 대수를 늘리거나 줄이는 기능이다.
  • EC2 외의 서비스를 지원하는 오토 스케일링도 있다.
  • AWS는 EC2 Auto Scaling을 단독으로 사용할 뿐만 아니라 CLoudWatch에서 서버의 부하 정보(CPU 부하, 네트워크 통신량 등) 데이터를 참조하여 스케일링에 참고할 수 있다.

📌 4.11.2 감시와 인스턴스 수의 결정

  • 오토 스케일링을 시작하려면 'Auto Scaling 그룹'인스턴스의 집합을 생성하고 그룹에 인스턴스서버의 최소 대수와 최대 대수를 설정해야한다.
  • Auto Scaling 그룹은 서버 시작에 필요한 AMI와 키 페어, 보안 그룹 등을 설정해야한다.

    💡 인스턴스의 증감에는 3가지 방법이 있다.

    1. EC2 인스턴스가 정지한 경우에 분리하고 새로운 EC2 인스턴스를 생성하는 방법
    2. 일정에 맞춰 스케일링 하는 방법
    3. CPU와 네트워크의 부하를 참고하여 특정 임계 값을 넘을 때 인스턴스 수를 자동적으로 증감하는 방법
  • 오토 스케일링의 요금은 무료이다.
  • 하지만 CloudWatch를 사용할 경우 모니터링에 관련된 요금이 부과된다.



#Women-in-Spring
#2024-11-완독-그림으로-이해하는-aws-구조와-기술

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글