AWS 컴퓨팅 서비스 개요
AWS 컴퓨팅 서비스
1.
AWS EC2 : 크기 조정이 가능한 가상머신 제공
2.
AWS ECR : Docker 이미지를 저장하고 검색하는데 사용
3.
AWS ECS : Docker 를 지원하는 컨테이너 오케스트레이션 서비스
4.
AWS Elastic BeanStalk: 간편하게 웹 애플리케이션 실행하고 관리 할 수 있는 서비스
5.
AWS Lambda : 서버리스 컴퓨팅 솔루션
[컴퓨팅 서비스 분류 : 4가지 범주]
•
AWS Lambda를 사용하면 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있
•
컨테이너는 프로비저닝 프로세스에서 운영체제를 추상화하기 때문에 가상머신보다 더 빠르게 프로비저닝 ( AWS ECS, AWS ECR)
•
Elastic Beanstalk 은 필요한 모든 애플리케이션 서비스를 제공하므로 배포가 가속화
[최적의 컴퓨팅 서비스 선택]
→ 최적의 컴퓨팅 서비스 또는 사용하는 서비스들은 사용자 사례에 따라 달라짐
•
고려해야 할 측면
1.
애플리케이션 설계
2.
사용량 패턴
3.
관리하려는 구성 설정
•
아키텍쳐에 적합하지 않은 컴퓨팅 솔루션을 선택하는 경우, 성능 효율이 저하될 수 있음
→ 사용가능한 컴퓨팅 옵션을 파악해야함.
Amazon Elastic Compute Cloud (EC2)
→ 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹서비스
→ 컴퓨팅을 빌려쓰는 서비스
AWS EC2 개요
1.
클라우드에서 EC2 인스턴스라고 하는 가상머신 제공
→ 각 인스턴스에서 게스트 운영 체제를 완벽하게 제어 가능(Windows, Linux)
2.
전 세계 어디서나 가용 영역에서 모든 크기의 인스턴스를 시작가능
→ Amazon Machine Images에서 인스턴스 시작
→ 클릭 몇번이나 코드 한 줄로 인스턴스 시작하고, 몇분만에 준비가 완료됨
3.
인스턴스 안팎으로 전송되는 트래픽은 보안 그룹을 사용하여 제어
4.
인스턴스에서 실행되는 운영체제에 대한 모든 관리 제어 권한은 고객에게 있음
→ 대부분의 서버 운영체제가 지원(Window, Red Hat, Ubuntu, Amazon Linux)
EC2의 특성
1.
초 단위 온디맨드 가격 모델
•
온디맨드 모델에서는 가격이 초 단위로 결정됨
•
서비스 요금을 미리 약정하거나 선입금이 필요 업슴
2.
빠른 구축 속도와 확장성
•
몇분이면 전세계에 인스턴스 수 백 여대를 구축가능
3.
다양한 구성방법 지원
•
머신러닝, 웹서버, 게임서버, 이미지처리 등 다양한 용도에 최적화된 서버 구성 가능
•
다양한 과금 모델 사용 가능
4.
여러 AWS 서비스와 연동
•
오토스케일링(EC2의 숫자를 자동으로 조절), Elastic Load Balancer(다수 EC2의 트래픽을 분산), CloudWatch(CPU 사용량, 메모리 사용량을 모니터링)
EC2의 구성
1.
인스턴스
2.
EBS
3.
AMI
4.
보안그룹
: 가상의 방화벽
Amazon EC2 인스턴스 시작
→ AWS Management Console 의 인스턴스 시작 마법사를 사용해서 EC2 인스턴스를 생성할 때 결정해야하는 9가지 주요 결정사항
1.
AMI 선택
AMI
: EC2 인스턴스를 생성하는데 사용되는 템플릿
→ 인스턴스를 시작하는데 필요한 SW 구성 (OS, 서버 프로그램 설정 및 앱)이 미리 구성된 이미지
•
Quick Start -AWS에서 제공하는 일반적인 AMI
•
MyAMI – 사용자가 생성한 AMI
•
AWS MarketPlace – AWS 및 신뢰할 수 있는 타사 AMI
•
커뮤니티 AMI: 다른 사용자가 공유하는 AMI (누구나 게시)
2.
인스턴스 유형 선택
→ 다양한 사용 사례에 최적화된 인스턴스 유형 선택
•
선택하는 인스턴스 유형에 따라 다음 항목이 결정됨
1.
메모리 (RAM)
2.
처리 능력 (CPU)
3.
디스크 공간 및 디스크 유형 (스토리지)
4.
네트워크 성능
•
인스턴스 유형 범주
• 컴퓨팅 최적화
• 메모리 최적화
• 스토리지 최적화
• 가속화 컴퓨팅
범용
•
인스턴스 유형은 패밀리, 세대 및 크기 제공
•
t3 인스턴스: 기본 수준의 CPU 성능을 제공하는 범용 인스턴스. Ex) 웹 애플리케이션 개발 환경, 마이크로 서비스 테스트 및 스테이징 환경 등.
•
c5 인스턴스: 컴퓨팅 집약적 워크로드에 최적화. 컴퓨팅 비율 당 저렴한 가격으로 뛰어난 성능 제공. Ex) 과학적 모델링, 광고 서비스, 멀티플레이어 게임, 비디오 인코딩 등
•
r5 인스턴스: 메모리 집약적 애플리케이션에 최적화. Ex) 고성능 데이터베이스, 데이터 마이닝 및 데이터 분석