4. 컴퓨팅
EC2 인스턴스
- 전 세계 AWS 리전의 물리적 서버에 호스트됨
- 클라우드에서 안전하고 크기 조정 가능한 컴퓨팅 용량을 제공
- 수요 변화에 따라 컴퓨팅 용량을 추가하거나 제거
고려 사항
- 이름 및 태그 (인스턴스를 어떻게 식별할지)
- 애플리케이션 및 OS 이미지
- 인스턴스 유형 및 크기
- 인증 및 키 페어
- 네트워크 및 보안 (VPC, 서브넷, 보안 그룹)
- 저장 (블록 스토리지)
- 배치 및 테넌시 (인스턴스를 실행할 위치)
- 스크립트 및 메타데이터
태그
- 키, 값 페어가 일치하는 인스턴스를 대상으로 인스턴스를 중지하는 등 명령 가능
AMI
- 서버 시작에 필요한 정보를 제공
- 동일한 구성의 서버가 여러 개 필요한 경우 한 AMI로 여러 인스턴스 시작
- AWS에서 제공하는 사전 구축된 AMI
- AWS Marketplace에서 검색
- AMI 수동으로 직접 생성, EC2 Image Builder로 이미지 빌드
인스턴스 유형
- 첫 글자는 인스턴스 패밀리
- 첫 글자 뒤의 숫자는 인스턴스의 세대
- 최신 세대일수록 가성비 좋음
- 세대 뒤에 붙는 글자는 속성
- 마지막 부분은 인스턴스 크기(CPU, Memory, Storage, Network)
- 올리면 가격 2배, 성능 2배
AWS Compute Optimizer
- M, C, R, T, X 패밀리의 140가지가 넘는 인스턴스 중 가장 적합한 인스턴스 선택
- 리소스 분석 기계 학습
- CloudWatch 데이터 기반으로 학습
- 분석 결과에 따라 권장 컴퓨팅 제공
EC2 키 페어
- 프라이빗 키와 퍼블릭 키로 구성된 보안 자격 증명 세트
- 퍼블릭 키는 EC2에 저장되고 프라이빗 키는 사용자가 저장
- 암호 대신 프라이빗 키를 사용해서 인스턴스에 안전하게 SSH 접근
- 요즘은 Session Manager로 접근 -> 22번 포트 안 열어도 됨
- 금융권은 망 분리해서 사용
테넌시
- 기본적으로 공유 테넌시 방식 사용. 따라서 여러 AWS 계정이 같은 물리적 하드웨어를 공유할 수 있다. (하드웨어를 공유)
- 전용 인스턴스는 호스트 하드웨어 수준에서 물리적으로 격리되는 EC2 인스턴스. (하드웨어를 격리)
- 전용 호스트에서 시작하느 인스턴스는 고객이 EC2 인스턴스 용량을 완전히 전용 으로 사용하는 물리적 서버에서 시작된다. (하드웨어를 제어)
배치 그룹 및 사용 사례
- 상호 연관된 장애를 최소화하기 위해 모든 인스턴스를 분산
사용자 데이터
- EC2 인스턴스를 생성할 때 사용자 데이터를 인스턴스에 전달할 수 있는 옵션
- AMI 패치, 추가 소프트웨어 설치 등
- root user로 딱 한 번 실행되는 shell 스크립트, cloud-init 지시문
- 네트워크에서 인스턴스 액세스가 가능해지기 전에 실행됨
인스턴스 메타데이터
- 실행 중인 인스턴스를 구성 또는 관리하는 데 사용할 수 있는 인스턴스 관련 데이터
- 호스트 이름
- 이벤트
- 보안 그룹
ex) http://169.254.169.254/latest/meta-data/public-hostname 에서 EC2 인스턴스의 퍼블릭 호스트 이름을 읽는다.
EC2 인스턴스용 스토리지
Amazon Elastic Block Store(Amazon EBS)
- EC2 인스턴스를 위한 안정적이고 분리 가능한 블록 수준 스토리지
- 매우 짧은 지연 시간 제공
- 데이터베이스를 실행하는 데 사용할 수 있다
- 스냅샷 생성해서 EC2 인스턴스 생성할 때 재사용 가능
Amazon EBS 볼륨 유형
- SSD 볼륨 (gp2, gp3) -> 범용
- 프로비저닝된 IOPS 볼륨 (io1, io2)
- HDD 볼륨 (st1)
- 콜드 HDD 볼륨 (sc1) -> 자주 접근하지 않는 경우
Amazon EBS 볼륨 특성
인스턴스 스토어 볼륨
- 인스턴스에 블록 수준의 임시 스토리지 제공
- 직접 연결된 블록 수준 스토리지
- 짧은 대기 시간
- 높은 IOPS 및 처리량
- 인스턴스가 중지되거나 종료되면 회수됨
- 버퍼, 캐시, 임시 데이터 용도로 사용
요금제 옵션
Amazon EC2 구매 옵션
- 온디맨드
- 장기 약정 없이 초당 또는 시간당 사용하는 컴퓨팅 용량에 해당하는 요금 결제
- Saving Plans
- 1년 또는 3년 약정
- 컴퓨팅 리소스에 약정 걸기(EC2 포함) -> 리전 상관 X. 사용 추천
- EC2 인스턴스에 약정 걸기
- 스팟 인스턴스
- 대폭 할인된 요금으로 미사용 EC2 인스턴스를 요청할 수 있다
- 온디맨드 비용에서 최대 90% 할인 혜택을 받아 여분의 EC2 용량 사용 가능
- 스팟 요금 -> 수요 공급에 따라 EC2에 의해 설정됨
- 사용자가 요청한 최고가가 스팟 요금보다 높으면, 사용 가능한 용량이 있을 때마다 스팟 인스턴스 실행
- 회수되기 2분 전에 알림
- 이미지 및 미디어 렌더링
- 웹 서비스 -> 여분의 인스턴스 스팟 인스턴스로 띄우기
- 빅 데이터 및 분석
구매 옵션 조합
AWS Lambda
서버리스 컴퓨팅
- 서버를 생각하지 않고 애플리케이션 코드만 올려서 서비스 구축 및 실행 가능
- 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 작업이 자동으로 처리된다.
Lambda
핵심 구성 요소 -> 이벤트 소스, Lambda Function 람다 함수 구성
- 이벤트를 수신할 핸들러
- 람다 함수를 실행하기 위해 수임할 수 있는 IAM Role
- 할당하려는 컴퓨팅 리소스 -> 메모리만 설정 가능
- 제공 시간 제한
이벤트 소스
- API 게이트웨이, SQS, S3 등 다양한 이벤트 수신 가능
사용 사례
- 웹 애플리케이션
- 백엔드
- 데이터 처리
- 챗봇
- Alexa
- IT 자동화