AWS 핵심 서비스
컴퓨팅
Amazon Elastic Compute Cloud(Amazon EC2)
- 크기 조정 가능한 컴퓨팅 용량
- 컴퓨팅 리소스 완전 제어
- 새로운 서버 인스턴스 확보 및 부팅 시간 단축
- 흔히 말하는 VM
- VM에 다양한 설정을 할 수 있다.
- 새로운 VM을 만들고 사용을 늘리거나 줄이는 것이 가능하다.
- WAS서버의 설정, 특성 등을 스냅샷을 뜬 다음, 그 설정을 복사해 똑같은 서버를 만들 수 있다. 순식간에 같은 서버를 두 개로 증설할 수 있다는 것.
- EC2는 종량 과금제 요금과 다양한 하드웨어 및 소프트웨어를 제공한다.
- Amazon Machine Image(AMI) 사용
최초 WAS를 설정할 때 사용할 수 있는 여러 Image 제공.
- 필요에 따라 인스턴스를 추가 또는 종료
종료는 반납을 의미. 일시중지도 가능하다.
- 인스턴스 일시 중지 및 다시 시작.
Amazon EC2의 이점
- 탄력성
- 출퇴근 시간 같은, 예측할 수 있는 트래픽 변동이 있을 시 스케쥴을 사용해서 탄력있게 사용할 수 있다.
- 제어
- VM은 사용자가 갖고 있기 때문에, 시작하고, 종료하고, 재시작할 수 있다.
- 유연성
- 패밀리 안에 타입이 있어서 타입에 따라 스펙이 결정된다.
다양한 옵션의 선택이 가능.
- 통합
- 로드 밸런서를 통해 하나로 묶여 병렬로 사용할 수 있다. 분산 컴퓨팅 가능.
- 웹 서버가 여러개일 때 부하의 분산을 위해 통합을 할 수 있다.
- 안정성
- SLA를 통해 가용성을 보장한다. (99.9%)
- 보안
- 저렴한 비용
- 용이성
- 이미지의 스냅샷을 찍고 해외 리전에 보내 운영하는 것으로 해외 서비스에도 용이하다.
Amazon EC2 인스턴스 패밀리 및 이름
- 효율적인 인스턴스 사용과 비용 절감을 위해 올바른 유형 선택은 매우 중요하다.
- 범용 : 범용성 있는 용도.
M5를 가장 많이 사용. 일반적인 서버나 WAS서버에 사용
T 시리즈의 경우 소형 서버에 사용한다.
- 컴퓨팅 최적화 : 메모리 대비 CPU 성능이 높은 버전.
- 메모리 최적화 : CPU 대비 메모리 성능이 높다.
- 스토리지 최적화 : 스토리지 성능에 초점을 맞춘 버전.
- 엑셀러레이티드 컴퓨팅 : 고성능의 특수목적 버전. 사이즈가 크고 비용도 비싸다.
- 인스턴스 패밀리를 변경하기 위해서는 서비스를 완전히 중단해야되기 때문에, 처음부터 잘 골라서 선택하는 것이 좋다.
Amazon EC2 요금
- 온디맨드 인스턴스
- 아무것도 설정하지 않을 때는 온디맨드 인스턴스로 계산된다.
- 예약 인스턴스(RI)
- "일정 기간 동안 일정량 사용하겠다"는 약정을 체결하고 사용하는 것.
일정양 할인받을 수 있다는 장점이 있지만, 전부 사용하지 않더라도 요금은 똑같이 나간다.
- Saving Plan
- 위와 비슷하다.
할인율이 좀 낮지만, 조금 유연한 설정변경이 가능하다.
- 스팟 인스턴스
- AWS에서 유휴자원을 제공하는 것.
무척 저렴하지만, 언제 사라질지 모른다.
내가 스팟 인스턴스로 사용하고 있을 때 누군가가 온디맨드로 사용하겠다고 요청하면 나에게서 회수되어 해당 사용자가 사용할 수 있도록 전환된다.
- 테스트 환경에서 사용해봄직한 형태.
- 초당 결제 (Amazon Linux 및 Ubuntu 전용)
시간당 결제 (다른 모든 OS)
Amazon Elastic Container Service (Amazon ECS)
- 컨테이너의 실행을 조정
- 컨테이너를 실행하는 노드 플릿을 유지 관리하고 확장.
- 인프라 구축의 복잡성 제거.
Lambda
서버리스 컴퓨팅이란?
- 서버를 관리하지 않고 애플리케이션과 서비스를 구축하고 실행
- 예시) 스크립트를 만들면 스크립트를 구동하기 위한 런타임(서버)이 필요함.
스크립트가 사용하는 용량은 작지만 없으면 안되는 스크립트들을 구동하기 위해서 Lambda(AWS의 서버리스 컴퓨팅)을 사용한다.
다른 클라우드에서는 클라우드 펑션이라고 말한다.
- 단위 스크립트 기능을 사용하기 위한 기능.
- 프로비저닝하거나 관리할 서버 없음
- 사용량에 따라 조정
- 유휴 상태에 대한 지불 없음
- 가용성 및 내결함성 내장
- 클라우드에 굉장히 많이 사용한다.
- 왜 서버를 하나 더 만드는 것으로 이 문제를 해결하지 않을까?
서버 하나가 새로 증설되는 것만으로도 여러가지 부수적인 문제가 발생하기 때문.
- 서버리스 컴퓨팅을 사용하게 된다면 관리포인트를 많이 줄일 수 있다.
스토리지
AWS 스토리지 옵션
- Amazon S3
- 클라우드 상의 확장 가능하고 내구성이 뛰어난 객체 스토리지
- 용량이 거의 무제한
- 보관용, 혹은 실시간 조회가 필요하지 않은 데이터를 저장하기 좋다.
- Amazon S3 Glacier
- 클라우드 상의 저렴하고 내구성이 뛰어난 아카이브 스토리지
- 보관용. 검색하기에는 적합하지 않다.
- 법적인 이유 등으로 액세스 기록이나 로그 등을 의무 보관해야하는 경우 그런 데이터들을 저장하기 좋다.
- Amazon EBS
- Amazon EC2 인스턴스를 위한 내구성이 있는 블록 수준
- 스토리지를 제공하는 네트워크 연결 볼륨
- Amazon EFS
- Amazon EC2 인스턴스용 확장 가능한 네트워크 파일 스토리지
- 공통 디렉토리를 설정하면 어느 WAS서버에서도 공통 디렉토리에 올라간 파일 등을 확인할 수 있게 된다.
모든 서버가 확인할 수 있는 공통 디렉토리를 만들 때 이 버전을 사용한다.
- Amazon Storage Gateway
- 온프레미스에서 거의 무제한의 클라우드 스토리지에 액세스할 수 있는 하이브리드 클라우드 스토리지 서비스
- 개인이 사용하기에는 적합하지 않고, 사용할 기회도 많지 않음.
Amazon S3
- Simple Store Servece
- 객체(파일) 수준 스토리지
- Bucket이라는 리소스가 생성됨.
자기만의 폴더를 사용할 수 있다.
- 높은 내구성을 제공.
- 자료 유실의 가능성이 거의 없다.
- 만에 하나 유실되더라도 자동으로 백업되기 때문에 복구에도 큰 문제가 없다.
- 이벤트 트리거
- 사용 사례
- 콘텐츠 저장 및 배포
- 백업 및 아카이빙
- 빅 데이터 분석
- 재해 복구
- 정적 웹 사이트 호스팅
- 데이터를 저장 및 검색 하도록 구축
- 속도, 내구성, 가용성이 뛰어난 객체 액세스
- 버킷에 저장할 수 있는 객체 수에 제한이 없다.
- 웹 어디서나 언제든 데이터 저장 및 검색.
- 라이프사이클 : 자신이 업로드한 데이터를 언제 Glacier로 보낼지, 삭제할지 설정 가능하다.
Amazon S3 Glacier
- 장기 데이터 스토리지
- 아카이브 및 백업
- 비용이 매우 저렴하다.
- 사용 사례
- 미디어 자산 워크플로
- 의료 정보 아카이빙
- 규제 및 규정 준수를 위한 아카이빙
- 과학적 데이터 스토리지
- 디지털 보존
- 마그네틱 테이프 대체
Amazon Elastic Block Store (Amazon EBS)
- EC2에서 C드라이브, D드라이브 등의 역할을 수행한다.
- 인스턴스용 영구 블록 스토리지
- 복제를 통해 보호
- 상이한 드라이브 유형
- 몇 분 만에 확장 또는 축소
- 프로비저닝한 만큼만 요금 지불
- 스냅샷 기능
- 암호화 가능 기능
- 유연한 활용 가능
Amazon EFS
- 네트워크를 통해서 공유하는 특정 디렉토리가 필요할 때 사용함
- 전송과정에서 탈취되도 공격자가 확인할 수 없도록 하는 암호화 제공
- AWS에서 제공하는 백업기능을 통해 일 단위 백업이 가능