Amazon EC2란
Amazon EC2는 아마존 웹 서비스(AWS)에서 제공하는 가상 서버 호스팅 서비스입니다.
EC2는 클라우드에서 컴퓨팅 파워를 쉽게 제공하고 관리할 수 있도록 도와줍니다.
이를 통해 사용자는 물리적인 서버를 직접 관리할 필요 없이, 서버의 크기와 구성 등을 유연하게 선택하고, 필요에 따라 확장하거나 축소할 수 있습니다.
- 가상 서버
EC2는 "가상 서버"를 제공하는 서비스로, 각 서버는 EC2 인스턴스라고 불립니다. - 유연성
다양한 인스턴스 타입과 크기를 제공하며, 사용자는 특정 워크로드에 맞는 인스턴스를 선택할 수 있습니다. - 스케일링
EC2는 수평적 확장(Auto Scaling) 및 수직적 확장(instance resizing)을 지원합니다. Auto Scaling을 사용하면 트래픽이나 부하에 따라 자동으로 인스턴스를 추가하거나 제거할 수 있습니다.
다양한 인스턴스 유형
EC2는 다양한 용도에 맞춘 여러 종류의 인스턴스 타입을 제공합니다
- 범용: 트래픽이 적은 웹 사이트 및 소형 데이터 베이스. (t2, t3, m5, m4, m3...)
- 컴퓨팅 최적화: 높은 CPU 성능이 필요한 애플리케이션. (c5, c4, c3...)
- 메모리 최적화: 메모리 집약적인 워크로드에 적합. (r5, r4, x1...)
- 스토리지 최적화: 고성능 스토리지 I/O를 요구하는 애플리케이션. (h1, i3, i2, d2...)
- GPU 인스턴스: 머신 러닝, 영상 처리와 같이 GPU가 필요한 워크로드. (p3, p2, g2...)
AMI (Amazon Machine Image)
EC2 인스턴스를 실행시키기 위한 이미지 단위. 도커에서 사용하는 이미지와 비슷한 개념입니다.
이미지라고 하면 보통 사진이나 그림 같은 이미지를 생각하기 쉽지만 정확히는 템플릿, 프레임워크 같은 것입니다.
AMI는 AWS에서 제공하는 기본 이미지 외에도 커스텀 이미지나 서드파티 이미지를 사용할 수 있습니다.
Elastic IP
EC2 인스턴스에 고정된 IP 주소를 할당할 수 있는 서비스로, 인스턴스를 종료하거나 중지해도 IP 주소가 변하지 않도록 할 수 있습니다. 이를 통해 외부와의 통신에서 안정적인 IP를 유지할 수 있습니다.
Elastic Load Balancer (ELB)
여러 EC2 인스턴스에 트래픽을 고르게 분배하는 서비스입니다.
이를 통해 높은 가용성과 확장성을 제공하며, 여러 인스턴스를 동시에 운영할 때 유용합니다.
ELB는 서로 다른 EC2 인스턴스에 대해 하나의 엔드포인트를 제공합니다. 사용자는 실제로 요청을 처리하는 인스턴스가 무엇인지 알 필요 없이 동일한 엔드포인트로 요청을 전송하면 됩니다.
Auto Scaling
EC2에서는 정책에 따라 필요한 만큼의 인스턴스를 증가시키거나 감소시킬 수 있습니다.
최소, 최대 인스턴스 수, 원하는 용량 등 다양한 기준을 설정할 수 있습니다.
스케일 업
인스턴스의 성능을 높이는 것
스케일 아웃
인스턴스의 숫자를 늘리는 것. 클라우드 환경에서는 기존 온프레미스와 다르게 하드웨어적인 제약이 없다.
때문에 16배의 스케일 업이 필요한 경우, 규모를 16배 늘리면 된다.
스케일 인
늘어났던 인스턴스를 사용하지 않으면 다시 줄이는 행위
이런 작업을 자동으로 해주는 것이 오토 스케일링.
일정한 수의 EC2 인스턴스를 유지할 수 있으며, 부하가 발생하더라도 안정적인 시스템 운영이 가능합니다.
정책
- 대상 추적 조정(Target Tracking Scaling): 그룹에 포함된 인스턴스의 부하량에 따라 오토 스케일링. (평균 CPU 사용률)
- 단순 조정 정책(Simple Scaling): CloudWatch 경보로 설정한 인스턴스의 부하량에 따라 오토 스케일링. (단순히 CloudWatch 알람에 따라)
예제
Q. 새로운 웹 애플리케이션을 설계 중이며, 수천 명의 사용자가 동시에 애플리케이션을 사용할 것입니다. 이 애플리케이션은 사용자 요청을 처리하기 위한 고성능 컴퓨팅 기능이 필요합니다. 계산 집약적인 워크로드에 대해 CPU와 메모리 비율이 높은 EC2 인스턴스 유형을 선택해야 합니다. 어떤 EC2 인스턴스 유형을 선택해야 합니까?
A) T3
B) M5
C) C5
D) R5
정답: C) C5
설명:
C5 인스턴스는 컴퓨팅 최적화 인스턴스로, 높은 CPU 성능이 필요한 애플리케이션에 적합합니다. C5는 고성능 컴퓨팅 작업에 최적화되어 있습니다. (T3, M5는 범용, R5는 메모리 최적화 인스턴스)
Q. 개발 팀을 위해 EC2 인스턴스를 실행하고 있으며, 1년 동안 사용될 것으로 예상됩니다. 이 인스턴스는 24시간 연중무휴로 실행될 것입니다. 더 긴 기간 동안 사용을 약속함으로써 비용을 최소화하려고 합니다. 어떤 EC2 가격 모델을 선택해야 합니까?
A) 온디맨드(On-Demand)
B) 예약(Reserved)
C) 스팟(Spot)
D) 세이빙스 플랜(Savings Plans)
정답: B) 예약(Reserved)
설명:
Reserved Instances는 1년 또는 3년 동안 사용을 예약하여 On-Demand 인스턴스보다 훨씬 더 저렴한 가격을 제공합니다. 개발 팀이 지속적으로 사용할 예정이라면, 예약 모델이 비용 절감에 유리합니다.
Q. 웹 애플리케이션을 위한 Auto Scaling 그룹을 설정하고 있습니다. 애플리케이션은 갑작스러운 트래픽 증가를 경험하며, 이를 처리하기 위해 확장이 필요합니다. Auto Scaling 그룹을 설정할 때 필수 매개 변수가 안니 것은?
A) 원하는 용량(Desired capacity)
B) 최대 크기(Maximum size)
C) 최소 크기(Minimum size)
D) 인스턴스 유형(Instance type)
정답: D) 인스턴스 유형(Instance type)
설명:
Auto Scaling 그룹을 설정할 때 인스턴스 유형(Instance type)은 선택 사항입니다. 최소 크기(Minimum size), 최대 크기(Maximum size), 원하는 용량(Desired capacity)은 필수 설정입니다. 인스턴스 유형은 미리 지정된 AMI에 따라 자동으로 결정될 수 있습니다.
Q. 여러 개의 EC2 인스턴스에 걸쳐 고가용성 웹 애플리케이션을 배포하고 있습니다. 들어오는 트래픽을 고르게 분배하고, 다양한 가용 영역에서 EC2 인스턴스를 사용하려면 어떻게 해야 합니까?
A) EC2 인스턴스 연결(EC2 Instance Connect)
B) Amazon Route 53
C) Elastic Load Balancer (ELB)
D) 네트워크 ACL(Network ACLs)
정답: C) Elastic Load Balancer (ELB)
설명:
Elastic Load Balancer (ELB)는 여러 EC2 인스턴스에 트래픽을 분배하는 데 사용됩니다. ELB는 고가용성을 위해 여러 가용 영역(AZ)에 배포된 EC2 인스턴스에 트래픽을 분배할 수 있습니다.
Q. S3 버킷에 액세스해야 하는 애플리케이션을 실행할 EC2 인스턴스를 생성하고 있습니다. AWS 자격 증명을 인스턴스에 저장하지 않고 이 EC2 인스턴스만 S3 버킷에 액세스할 수 있도록 해야 합니다. 어떻게 해야 합니까?
A) EC2 인스턴스에 S3 접근 권한이 있는 IAM 역할을 할당한다
B) EC2 인스턴스에 AWS 자격 증명을 파일로 저장한다
C) EC2 인스턴스 메타데이터를 사용하여 S3 버킷에 인증한다
D) S3 버킷에 대한 액세스를 허용하는 보안 그룹 규칙을 생성한다
정답: A) EC2 인스턴스에 S3 접근 권한이 있는 IAM 역할을 할당한다
설명:
IAM 역할을 EC2 인스턴스에 할당하여 S3 버킷에 대한 액세스를 안전하게 관리하는 것이 가장 바람직한 방법입니다. 이 방법은 AWS 서비스 간의 안전한 권한 관리를 가능하게 합니다.
Q. VPC 내에서 EC2 인스턴스를 실행 중이며, 이 인스턴스에 고정된 공인 IP 주소를 할당하려고 합니다. 무엇을 해야 합니까?
A) EC2 인스턴스에 Elastic IP 주소를 할당한다
B) 사설 IP 주소를 사용하고 NAT 게이트웨이를 구성한다
C) VPC에서 공인 IP 주소를 요청한다
D) VPN 연결을 사용하여 고정 IP를 할당한다
정답: A) EC2 인스턴스에 Elastic IP 주소를 할당한다
설명:
Elastic IP는 EC2 인스턴스에 고정된 공인 IP 주소를 제공하는 서비스입니다. 이를 통해 인스턴스를 중지하고 다시 시작해도 동일한 IP 주소를 유지할 수 있습니다.
Q. EC2 인스턴스를 관리하고 있으며, 인스턴스를 일시적으로 중지하고 싶지만 인스턴스를 삭제하지 않으려 합니다. 어떤 작업을 통해 인스턴스를 중지하고 나중에 다시 사용할 수 있게 할 수 있습니까?
A) 인스턴스를 종료(Terminate)한다
B) 인스턴스를 중지(Stop)한다
C) 인스턴스를 재부팅(Reboot)한다
D) 인스턴스를 Elastic Load Balancer에서 분리(Detach)한다
정답: B) 인스턴스를 중지(Stop)한다
설명:
EC2 인스턴스를 중지(Stop)하면 인스턴스가 종료되지만, 인스턴스의 데이터는 보존되며 나중에 다시 시작할 수 있습니다. 종료(Terminate)는 인스턴스를 완전히 삭제하는 것이므로, 나중에 다시 사용할 수 없습니다.
기출문제
(출처: examtopics)
Q. 한 회사에서는 많은 Amazon EC2 인스턴스를 사용하여 완료하는 매우 동적인 일괄 처리 작업을 합니다. 이 작업은 본질적으로 상태 비저장이며, 부정적인 영향 없이 언제든지 시작 및 중지할 수 있으며, 일반적으로 완료하는 데 총 60분 이상 걸립니다. 이 회사는 솔루션 아키텍트에게 작업 요구 사항을 충족하는 확장 가능하고 비용 효율적인 솔루션을 설계해 달라고 요청했습니다.
솔루션 아키텍트는 무엇을 추천해야 합니까?
- A. EC2 스팟 인스턴스를 구현합니다.
- B. EC2 예약 인스턴스를 구매합니다.
- C. EC2 온디맨드 인스턴스를 구현합니다.
- D. AWS Lambda에서 처리를 구현합니다.
키워드: 동적인 일괄 처리 작업, 언제든 시작 중지, 60분 이상
정답: A
- A: 유연한 시작 및 중지 배 작업에 비용 절감을 제공합니다.
- B: 유동적인 작업 부하가 아닌 안정적인 작업 부하시 더 좋습니다.
- C: 비용이 많이 들고 스팟 인스턴스에 비하면 비용 절감이 좋지 않습니다.
- D: 장기 실행 배치 작업에 적합하지 않습니다. (시간 초과 있음)
Q. 어떤 회사가 AWS 클라우드의 컨테이너에서 애플리케이션을 실행하려고 합니다. 이러한 애플리케이션은 무상태이며 기본 인프라 내에서 중단을 허용할 수 있습니다. 이 회사에는 비용과 운영 오버헤드를 최소화하는 솔루션이 필요합니다.
솔루션 아키텍트는 이러한 요구 사항을 충족하기 위해 무엇을 해야 할까요?
- A. Amazon EC2 Auto Scaling 그룹에서 스팟 인스턴스를 사용하여 애플리케이션 컨테이너를 실행합니다.
- B. Amazon Elastic Kubernetes Service(Amazon EKS) 관리형 노드 그룹에서 스팟 인스턴스를 사용합니다.
- C. Amazon EC2 Auto Scaling 그룹에서 온디맨드 인스턴스를 사용하여 애플리케이션 컨테이너를 실행합니다.
- D. Amazon Elastic Kubernetes Service(Amazon EKS) 관리형 노드 그룹에서 온디맨드 인스턴스를 사용합니다.
키워드: 컨테이너, 무상태, 중단 허용
정답: B
- A: 내용은 맞지만 B가 더 운영 오버헤드가 적음.
- B: 컨테이너에 관한 쿠버네티스 관리형 노드 그룹이 더 적절함+중단을 위한 스팟 인스턴스
- C: 온디맨드는 스팟 인스턴스에 비해 비용이 많이 들어감.
- D: 온디맨드는 스팟 인스턴스에 비해 비용이 많이 들어감.
Q. 애플리케이션은 여러 가용성 구역에 걸쳐 Amazon EC2 인스턴스에서 실행됩니다. 인스턴스는 애플리케이션 로드 밸런서 뒤의 Amazon EC2 자동 확장 그룹에서 실행됩니다. 애플리케이션은 EC2 인스턴스의 CPU 사용률이 40%에 도달하거나 그 근처에 있을 때 가장 잘 수행됩니다.
솔루션 아키텍트는 그룹의 모든 인스턴스에서 원하는 성능을 유지하기 위해 무엇을 해야 합니까?
- A. 간단한 크기 조정 정책을 사용하여 자동 크기 조정 그룹을 동적으로 크기 조정합니다.
- B. 대상 추적 정책을 사용하여 자동 크기 조정 그룹을 동적으로 크기 조정합니다.
- C. AWS Lambda 함수를 사용하여 원하는 자동 확장 그룹 용량을 업데이트합니다.
- D. 예약된 크기 조정 작업을 사용하여 자동 크기 조정 그룹을 확장하거나 축소합니다.
키워드: 로드밸런서, CPU 사용률, 오토 스케일링
정답: B
- B: EC2 Auto Scaling에서 대상 추적 정책일 때는 매트릭을 추적하여 동적으로 조정 가능.
Q. 솔루션 아키텍트는 회사가 AWS에서 애플리케이션을 실행하는 데 드는 비용을 최적화하도록 도와야 합니다. 이 애플리케이션은 아키텍처 내에서 컴퓨팅을 위해 Amazon EC2 인스턴스, AWS Fargate, AWS Lambda를 사용합니다.
EC2 인스턴스는 애플리케이션의 데이터 수집 계층을 실행합니다. EC2 사용은 산발적이고 예측할 수 없습니다. EC2 인스턴스에서 실행되는 워크로드는 언제든지 중단될 수 있습니다. 애플리케이션 프런트 엔드는 Fargate에서 실행되고 Lambda는 API 계층을 제공합니다. 프런트 엔드 사용률과 API 계층 사용률은 내년 내내 예측 가능합니다.
이 애플리케이션을 호스팅하는 데 가장 비용 효율적인 솔루션을 제공하는 구매 옵션의 조합은 무엇입니까? (두 가지를 선택하십시오.)
- A. 데이터 수집 계층에 Spot Instances 사용
- B. 데이터 수집 계층에 온디맨드 인스턴스 사용
- C. 프런트엔드 및 API 계층에 대한 1년 컴퓨팅 절감 플랜을 구매하세요.
- D. 데이터 수집 계층에 대해 1년 선불 예약 인스턴스를 구매합니다.
- E. 프런트엔드 및 API 계층에 대한 1년 EC2 인스턴스 절감 플랜을 구매하세요.
키워드: 데이터 계층 산발적이고 중단 가능, 프론트엔드는 일정 기간 동안 예측 가능
정답: A, C
- A: 중단 가능한 건 스팟 인스턴스.
- B: 온디맨드는 중단에 맞지 않음.
- C: 컴퓨팅 절감 플랜은 Fargate, Lambda도 적용
- D: 산발적이라 맞지 않음
- E: 인스턴스 절감 플랜은 EC2에만 적용 됨
84. 한 회사에서 기존 3계층 웹 아키텍처의 비용을 절감하고자 합니다. 웹, 애플리케이션 및 데이터베이스 서버는 개발, 테스트 및 프로덕션 환경을 위해 Amazon EC2 인스턴스에서 실행됩니다. EC2 인스턴스는 피크 시간에 평균 30%의 CPU 사용률을 보이고 비피크 시간에는 10%의 CPU 사용률을 보입니다.
프로덕션 EC2 인스턴스는 하루 24시간 실행됩니다. 개발 및 테스트 EC2 인스턴스는 매일 최소 8시간 실행됩니다. 이 회사는 개발 및 테스트 EC2 인스턴스가 사용되지 않을 때 중단하기 위한 자동화를 구현할 계획입니다.
어떤 EC2 인스턴스 구매 솔루션이 회사의 요구 사항을 가장 비용 효율적으로 충족할까요?
- A. 프로덕션 EC2 인스턴스에는 Spot Instances를 사용합니다. 개발 및 테스트 EC2 인스턴스에는 Reserved Instances를 사용합니다.
- B. 프로덕션 EC2 인스턴스에는 예약 인스턴스를 사용합니다. 개발 및 테스트 EC2 인스턴스에는 온디맨드 인스턴스를 사용합니다.
- C. 프로덕션 EC2 인스턴스에는 Spot 블록을 사용합니다. 개발 및 테스트 EC2 인스턴스에는 Reserved Instances를 사용합니다.
- D. 프로덕션 EC2 인스턴스에는 온디맨드 인스턴스를 사용합니다. 개발 및 테스트 EC2 인스턴스에는 스팟 블록을 사용합니다.
정답: B
- A: 프로덕트를 스팟 인스턴스로 사용하기에 적합하지 않음. 예약 인스턴스는 중단에 적합하지 않음
- B: 예약 인스턴스는 정해진 기간 동안 유지되는 프로덕트에 적합하며, 온디맨드는 요구할 때만 사용되기 때문에 개발, 테스트 서버에 적합하다.
- C: 스팟 블록은 더이상 지원 안 하며, 예약 인스턴스는 중단에 적합하지 않음
- D: 스팟 블록은 더이상 지원 안 하며, 일정 시간(1~6시간)에 적합.
'AWS > SAA-C03' 카테고리의 다른 글
[SAA-C03] VPC 기본 정리 & 기출문제 (1) | 2024.11.22 |
---|---|
[SAA-C03] AWS 메시지 관리 정리 & 기출문제 (0) | 2024.11.12 |
[SAA-C03] AWS S3 기본 정리 & 기출 문제 풀이 (0) | 2024.11.08 |
[SAA-C03] 기본 개념 정리 (1) | 2024.11.01 |
[AWS] AWS 자격증 챌린지 (ft. 50% 할인) (0) | 2024.09.26 |