클라우드

클라우드 AWS 서비스 EC2 인스턴스 AMI 테넌시 키 페어

수진97 2025. 12. 26. 21:27

안녕하세요!

오늘 포스팅은 다양한 AWS 서비스들에 대해 살펴보려 합니다. 

 

 

1. EC2 인스턴스

- EC2 인스턴스는 Elastic Compute Cloud의 약자로, AWS 클라우드 환경에서 사용되는 가상 컴퓨터(=가상 서버 = VM)임.

 

- EC2 인스턴스는 전 세계 AWS 리전의 물리적 서버에 호스트 됨 

=> EC2는 완전히 가상이 아니라 실제 물리 서버 위에서 만들어진 가상 머신임

=> AWS 데이터센터 안의 실제 물리 서버 위에 EC2 인스턴스가 생성됨으로써 가상 컴퓨터가 실제 서버 위에서 돌아가고 있음

 

- 클라우드에서 안전하고 크기 조정 가능한 컴퓨팅 용량 제공, 수요 변화에 맞춰 컴퓨터 용량을 추가하거나 제거할 수 있음

 

출처 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html

 

 

 

 

 

2. EC2 인스턴스 관련 고려 사항

1) 이름 및 태그

- AWS 리소스에 이름 및 기타 태그를 할당할 수 있음

- 인스턴스에 붙이는 식별 정보(Name)key - value 형태의 메타데이터(Tag)를 의미

 

=> 인스턴스가 많아지면 "이게 무슨 서버지?"가 바로 발생

=> 그래서 비용, 보안, 자동화(백업/모니터링), 권한 제어를 태그 기준으로 묶어 관리하는 경우가 많음

 

- 리소스 관리, 검색, 필터링 가능

- 태그는 많을수록 좋음

- 태그는 대소문자 구분

 

 

 

2) 애플리케이션 및 OS 이미지(AMI)

- EC2 인스턴스 탬플릿 이미지

- EC2가 부팅할 때 사용하는 Operating System + 기본 구성이 들어있는 이미지를 말함

- AMI 구성 요소에는 인스턴스 볼륨, 시작 권한, 블록 디바이스 매핑이 있음

- 대표적으로 Amazon Linux, Ubuntu, Windows 등이 있음


=> 이점으로는 반복과 재사용이 가능하고, 복구가 가능함

=> 팀 프로젝트에서 표준 AMI를 정해두면 장애 재현이 쉬움

출처 : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html

 

 

 

 

3) 인스턴스 유형 및 크기

- 인스턴스의 CPU, 메모리, 네트워크 성능 스펙

ex. t3 micro, m6g, c6g 등

 

=> 성능과 비용이 여기서 갈리므로 중요함.

=> 처음엔 작게 시작했다가 모니터링 보고 업그레이드 하는 방식으로 진행하는 것이 좋음

 

 

 

4) 키 페어

- EC2 인스턴스에 안전하게 접속하기 위해 사용하는 공개키/비공개키 기반의 인증 방법

- 인스턴스에 SSH 접속(Linux) / RDP 접속(Windows) 할 때 사용하는 키

- 대부분 키 파일은 .pem의 확장자를 가짐

 

=> 키를 잃어버리면 접속이 매우 까다로워지기 때문에 로컬에 잘 보관하고 있어야 함 (깃에 올리면 X)

=> 키 보안이 뚫리면 서버가 털릴 수 있어 키가 매우 중요

 

 

 

5) 네트워크 및 보안

- VPC, Subnet, 라우팅, 퍼블릭 IP, 그리고 방화벽(Security Group) 설정

- 접속이 안 되는 원인의 대부분이 이 설정을 잘못하여 발생하는 경우가 많음.

 

- VPC/Subnet : 인스턴스가 어디 네트워크에 놓이는지

- Public IP / IGW : 인터넷에서 접근 가능 여부

- Security Group : 인바운드 / 아웃바운드 허용 포트

ex. 22(SSH) , 80(HTTP), 443(HTTPS), 8080 등

 

=> 서비스 포트는 필요한 것만 오픈하는 것이 좋음

 

 

 

6) 스토리지 (EBS 등) 

- 인스턴스에 붙는 디스크(EBS)

- 디스크 용량 / 속도가 성능과 비용에 영향을 주기 때문에 중요

 

 

 

7) 배치 및 테넌시

- 인스턴스가 어떤 물리 호스트에 어떤 방식으로 배치되는지 설정

- 테넌시에는 공유 하드웨어전용 하드웨어로 구분할 수 있음

- 고가용성(다른 AZ에 분산), 규제 및 보안(전용) 등에 영향

 

 

 

 

8) 스크립트 및 메타데이터

- 인스턴스가 처음 부팅될 때 자동 실행되는 스크립트(User Data)

- 인스턴스 시작 후 스크립트를 루트로 실행, 일반적인 자동 구성 태스크를 수행하는 데 사용 가능

- 메타데이터 : 인스턴스 내부에서 자신의 정보(인스턴스 ID 등)를 조회하는 기능

- 서버 여러 대를 만들 때 자동 설치 / 설정이 가능 => 이 부분이 운영 자동화의 핵심

ex. nginx 설치, 환경변수 세팅, 앱 실행 등

 

=> 보통 Docker 설치해서 컨테이너를 실행하거나 CloudWatch Agent를 설치해 설정 적용