AWS에서는 개발자들을 위해 수많은 서비스들을 제공하고 있다. 앞으로 서비스를 배포하는데 있어서 어떤 서비스를 이용해야할지 알아두면 좋을것 같아서 조사해보았다.
컴퓨팅 서비스
EC2
- Elasitc Compute Cloud 서비스는 AWS에서 가장 기본적으로 제공하는 서비스
- 컴퓨팅 리소스를 제공하는 서비스
- 가상머신처럼 제공되며 인스턴스라는 용어로 부른다.
- 사용한 만큼 비용을 지불하는 형태이다.
Lambda
- 서버리스 컴퓨팅 플랫폼
- 개발자가 서버의 존재를 신경쓸 필요가 없고 오직 코드에만 집중할 수 있따.
- EC2에서 해주어야할 서버관리가 필요없다
- 특정시간만 사용하는 경우에 유용하다. 필요한 시간에만 사용하면 되기 때문에 불필요한 서버 가동시간을 줄일 수 있다.
스토리지 서비스
Amazon S3
- Simple Storage Service. 정적 파일 스토리지 서비스읻.
- 사용자는 URL을 통해 파일을 사용할 수 있다.
- 사진, 비디오, 문서 등 다양한 파일들을 저장한다.
- 다른 유저들의 접근도 제어할 수 있다.
Amazon EBS
- Elastic Block Store. EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장장치이다.
- EC2 인스턴스에서 제공하는 용량보다 더 용량이 필요할 때, 자유롭게 늘리고 싶을때, 등등 사용할 수 있다
- EC2에서는 하드디스크나 SSD 처럼 인식된다.
- 데이터가 안전하게 유지된다.
데이터베이스 서비스
Amazon RDS
- Relational Database Service. 관계형 데이터베이스를 이용할 수 있는 서비스이다.
- aws에서 데이터베이스와 유지보수를 자동으로 관리해준다.
- 다양한 데이터 베이스 엔진들을 제공한다.
- 따로 데이터베이스를 운영하는것 보다 가격이 비쌀 수 가 있다.
Amazon DynamoDB
- 아마존에서 제공하는 NoSQL 데이터베이스 서비스이다.
- Key-value 기반의 NoSQL 서비스를 제공해준다.
- 마찬가지로 자동으로 관리해주고 빠른 속도를 자랑하기때문에 개발자가 쉽게 사용할 수 있다.
네트워크 서비스
Amazon VPC
- 사용자가 정의하는 aws 가상의 네트워크이다. 나만의 개인 네트워크 망이라고 보면 된다.
- 인스턴스들을 네트워크로 묶어주어서 복잡도를 낮추어준다.
- 다른 가상 네트워크와 논리적으로 격리되어 리소스에 안전한 환경을 제공한다.
Amazon CloudFront
- aws에서 제공하는 CDN 서비스이다.
- CDN은 지리적으로 분산된 서버들을 연결한 네트워크이다.
- 전세계에 설치된 캐시서버를 통해 빠른속도로 콘텐츠를 사용자에게 전달할 수 있다.
관리 및 모니터링 서비스
Amazon CloudWatch
- AWS의 서비스들을 모니터링하거나 알람을 받는 설정들을 할 수 있다.
- 서버의 로그와 이벤트등을 수집하고 트래킹한다.
- 금액 초과 알림도 가능하다
- 서버의 CPU 사용량등의 알림도 가능하다
Amazon CloudTrail
- aws 계정 전반에서 사용자 활동및 api 사용을 추적한다.
- 인프라 전반에 걸친 계정활동을 확인, 검색, 보관할 수 있다.
- 클라우드 인프라에서 이루어지는 것들을 로깅하는 서비스이다.
- 지속적인 모니터링을 통해 보안 강화