AWS EC2 (Elastic Compute Cloud)

김기현·4일 전

AWS

목록 보기
6/20

EC2는 클릭 몇 번으로 원하는 사양의 서버를 생성하고 필요에 따라 크기를 늘리거나 줄일 수 있는 가상 서버 서비스이다.

1. EC2의 핵심 구성 요소

1.1. AMI (Amazon Machine Image)

  • 정의: 서버에 필요한 운영체제(OS), 소프트웨어, 설정 등을 미리 구성해 높은 템플릿이다.
  • 활용: Ubuntu, Amzaon Linux, Windows 등을 선택할 수 있으며 내가 설정한 서버 상태를 이미지로 만들어(Custom AMI) 나중에 똑같은 서버를 여러 대 띄울 때 사용할 수 있다.

1.2. 인스턴스 유형 (Instance Types)

서버의 목적에 따라 CPU, 메모리, 네트워크 성능의 조합이 달라진다.

  • T 시리즈: 범용타입. 평소엔 낮다가 가끔 트래픽이 튈 때 성능을 높이는 방식이다. 개발/테스트 서버에 적합하다.
  • C 시리즈: 컴퓨팅 최적화에 특화되어 연산이 많은 애플리케이션에 적합하다.
  • M 시리즈: 범용 타입으로 CPU와 메모리 균형이 좋아 운영 환경의 API 서버로 자주 사용된다.
  • R 시리즈: 메모리 최적화 타입으로 캐시 서버(Redis)나 대용량 DB에 적합하다.

1.3. 스토리지 (EBS - Elastic Block Store)

  • EC2 인스턴스에 부착하는 가상 하드디스크이다. 인스턴스가 삭제되어도 데이터가 유지되도록 설정할 수 있으며 필요할 때 용량을 쉽게 늘릴 수 있다.

2. 백엔드 개발자가 알아야 할 실무 포인트

2.1. 탄력적 IP (Elastic IP)

  • EC2를 중지했다가 다시 시작하면 퍼블릭 IP 주소가 바뀐다. 외부에서 접속 경로를 고정해야 한다면(고정 IP), 반드시 **Elastic IP)를 할당받아 연결해야 한다.
  • 참고: 할당만 받고 사용하지 않으면 비용이 발생한다.

2.2. 사용자 데이터 (User Data)

  • 서버가 처음 부팅될 때 실행될 쉘 스크립트를 작성할 수 있다.
  • Docker 설치, Java 설치, 로그 에이전트 실행 등의 초기 설정을 자동화할 때 사용한다.

2.3. 생명 주기 및 비용 최적화

  • On-Demand: 사용한 만큼 지불로 가장 일반적이다.
  • Reserved Instance (RI): 1~3년 약정 시 최대 70% 저렴하다. 트래픽이 일정한 서버에 적합하다.
  • Spot Instance: AWS의 남는 자원을 경매 방식으로 빌린다. 최대 90% 저렴하지만 AWS가 필요할 때 예고 없이 서버를 뢰수할 수 있다 (Stateless한 워커 서버에 적합하다)

3. EC2 접속 및 보안 흐름

  1. 키 페어(Key Pair): EC2 생성 시 .pem파일을 다운로드 받는다. SSH 접속 시 비밀번호 대신 이 개인 키를 사용해 보안을 유지한다.
  2. 보안 그룹(Security Group): 특정 포트를 열어야 외부 통신이 가능하다.
  3. IAM 역할(IAM Role): EC2 안에서 돌아가는 코드가 S3에 파일을 업로드하거나 DynamoDB에 접근해야 할 때 액세스 키를 코드에 넣는 대신 EC@에 IAM 역할을 부여하는 것이 가장 안전한 방법이다.

4. 백엔드 배포 트러블슈팅 팁

  • 서버 성능이 갑자기 느려짐: t2, t3 타입을 사용 중이라면 CPU 크레딧이 소진되었는지 확인해야 한다. 크레딧을 다 쓰면 성능이 강제로 제한된다.
  • SSH 접속이 안 된다:
    1. 보안 그룹 인바운드 포트 확인.
    1. 퍼블릭 IP가 맞는지 확인.
    2. 키 페어 권한 (chmod 400) 확인.
  • 로컬에서는 잘 되는데 서버에서는 권한 에러 발생: EC2 인스턴스에 부여된 IAM 역할(Role)에 해당 서비스 접근 권한이 있는지 확인
profile
백엔드 개발자를 목표로 공부하는 대학생

0개의 댓글