
1. AWS
1) 개요
- Cloud 컴퓨팅 서비스의 하나
- 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 모바일, 개발자 도구, 관리 도구, IoT, 보안 등 다양한 서비스가 준비가 되어 있어서 이를 조합해서 거의 모든 애플리케이션 과 인프라를 구축하는 것이 가능한 서비스
- IaaS, PaaS, SaaS 서비스를 모두 제공
- 여러 서비스를 조합하는 것이 다른 클라우드에 비해서 쉬운 편
- 최근에는 사내망 과 연결하는 경우가 많음
- 종량제 - 사용하는 만큼 지불
- 사용이 쉬움
- 기술을 잘 모르는 사람도 운영할 수 있도록 다양한 방법을 제공
- 웹 브라우저 접속을 허용하기 때문에 인터넷이 가능한 곳이면 어디에서든지 조작 가능
- 한국어를 지원하고 원화 결제 가능
- 대부분의 서비스는 한국어 도큐먼트를 제공
- 요금 자체는 US 달러로 표시되지만 원화로 결제 가능
- 국내에 AWS 도입을 지원하는 APN(Amazon Partner Network) 기업이 존재
- 최상위 파트너는 GS 네오텍, 메가존 클라우드, 베스핀 글로벌
- 보안 기준을 준수
- 글로벌 확장이 쉬움: 현재까지 등장한 모든 클라우드 중 리전(지역) 과 가용 영역(시설)이 가장 많음
- AWS 는 165개 이상의 서비스를 제공
2) 대표적인 서비스
- EC2(Elastic Computer Cloud)
- 컴퓨팅 용량을 제공하는 서비스 - IaaS
- 서버, OS, 소프트웨어 등을 세트로 사용 가능
- 여러 사양이 준비되어 있고 자유롭게 소프트웨어를 설치
- 성능은 가변적이며 일시 정지 중에는 언제든 성능을 높이거나 낮출 수 있음
- S3(Simple Storage Service)
- 오브젝트 스토리지 서비스: 데이터베이스 처럼 Key-Value 형태로 저장
- 파일 저장 용으로도 사용하지만 정적 인 웹 서비스를 배포하는데도 이용이 가능
- 파일 크기는 최대 5TB 까지 가능하고 무한 확장이 가능
- VPN
- AWS 계정 전용의 가상 네트워크
- 네트워크 및 서브넷의 범위 나 라우팅 테이블 및 네트워크 게이트웨이 등을 설정하고 가상 네트워크 환경을 구성
- RDS
- 관계형 데이터베이스 서비스 - Aurora, Postgre SQL, MySQL, Maria DB, Oracle , MSSQLServer 서비스를 제공
- Route 53
- DNS 기능을 제공: Domain 과 IP를 연결해주는 서비스
- Elastic IP
- 정적 공인 IP 주소를 제공
- EC2 와 ELB 와 조합해서 사용
- Managed Blockchain
- 블록 체인 네트워크를 생성, 관리할 수 있는 도구
- 데이터 위 변조를 확인하는 기반으로 사용
- SageMaker
- 머신러닝 모델을 구축하고 트레이닝 하고 배포
- Jupyter Notebook 제공
- Cloud9
- GameLift
- ECR
- ECS - 도커 지원
- 컨테이너 관리 서비스
- 클러스터에서 컨테이너를 실행 하고 중지하고 관리할 수 있음
- EKS - 쿠버네티스 지원
3) 목적별 서비스
- 서버
- EC2
- ECS
- LightSail: 가상 서버와 네트워크 세트의 시작 과 관리
- Batch: 배치 작업
- VPC: 네트워크 환경
- APIGateway: 웹 API 구축 서비스
- CloudFront: 콘텐츠 캐시 서비스(CDN) - 정적 웹 서비스를 배포할 때 이용
- Route53
- Direct Connect: AWS 네트워크에 전용선으로 접속
- Transit Gateway: VPC 간에 연결
- Elastic Load Balancer: 부하 분산 장치
- Simple Email Service
- GameLift
- Amplify: 모바일 애플리케이션 과 웹 애플리케이션의 구축 과 배포
- 미디어
- Elastic Transcoder: 미디어 변환 서비스
- Elemental MediaLive: 라이브 비디오 콘텐츠 변환
- Elemental MediaPackage: 미디어 배포
- 스토리지
- S3
- Transfer for SFTP: 파일 전송 서비스
- EBS: EC2 전용 스토리지
- S3 Glacier: 장기 보존 서비스
- Backup
- 데이터베이스
- RDS
- Aurora
- DynamoDB: NoSQL, Amazon이 권장하는 데이터베이스
- Document DB: Mongo DB
- ElastiCache: In Memory DB
- 데이터 집계, 분석
- Athena: S3에 보존한 데이터의 집계 서비스
- Redshift: 대용량 데이터의 집계 서비스
- Kinesis: 실시간 비디오 및 데이터 스트리밍 분석
- Elasticsearch: 로그 및 모니터링, 보안 등의 분석 서비스
- 애플리케이션 연계
- Step Function: 순차적으로 프로그램을 실행하는 기능
- Simple Queue Service(SQS): 애플리케이션 사이를 연동하는 대기열 서비스
- Simple Notification Service(SNS): 애플리케이션 간에 알림 메시지를 송신하는 서비
- 대부분의 기업 애플리케이션에서 구현해야 하는 기능 - redis 나 kafka를 이용해서 구현
- 머신러닝
- SageMaker
- Lex: 음성 및 텍스트 챗봇
- Polly: 텍스트를 음성으로 변환
- Textract: 문서에서 텍스트나 데이터를 추출
- Translate: 언어 번역
- Transcribe: 음성 인식
- 클라이언트 서비스
- WorkSpaces: 가상 데스크톱 환경
- AppStream 2.0: 데스크톱 애플리케이션을 웹브라우저로 스트리밍
- DevOps
- Cloud9: IDE
- CodeBuild: 빌드 및 테스트 도구
- CodeCommit: Private Git Repository 관리 도구
- CodeDeply: 배포 도구
- CodePipeline: 개발한 애플리케이션을 빌드에서 배포까지 자동화해주는 도구
- CodeStar: 빌드에서 배포까지 세트로 제공하는 도구
- CLI: AWS 조작 명령줄 도구
4) 비용
- 서비스 별로 요금 체계가 다르므로 확인이 필요
- EC2: 사용량(가동한 시간 * 단가) + EBS 요금 + 통신료
- EBS: 용량 * 단가
- S3: 보존 용량 * 전송량
- RDS: 스토리지 요금 + DB 인스턴스 요금 + 백업 스토리지 요금 + 통신량
- 종량제라서 이니셜 코스트(초기 비용)가 들지 않는 대신 러닝 코스트(운용 비용)가 드는 형태
- 종량제지만 최저 요금이 있고 서비스 별로 요금이 발생하기도 하기 때문에 주의
- 비용의 절감을 애기할 때는 초기 비용 과 운영 인건비의 절감 과 확장 과 축소가 쉽다는 부분
- 그다지 변화가 없는 오랜 시간 동안 운영할 시스템의 경우는 클라우드가 별다른 이득이 없음
- AWS Billing and Cost Management 에서 발생한 총액이나 서비스 별 요금 점유 비율 등을 메일로 받을 수 있고 예산을 책정해두면 예산을 초과하는 경우 알림을 받을 수 있음
- Free Tier 계정 - 무료는 아님
계정 생성 후 12개월 간 무료 서비스(월 기준)
- sagemaker: 250 시간
- api gateway: 백만건 호출
- S3: 5GB
- RDS T2 Micro: 750 시간
- EC2 T2 Micro: 750 시간
- Quick Site: 1GB
- 12개월 이후에도 무료 서비스(월 기준)
- 클라우드 와치: 10개의 지표 및 경보
- SQS: 백만 호출
- 람다(서버 리스 서비스): 백만 호출
- 다이나모 디비: 25개의 읽고 쓰기 공간
- SES: 62,000 건
5) AWS 사용 방법
- 전문가의 도움없이 쉽게 사용할 수 있기 때문에 AWS를 많이 사용
- 관리 콘솔 과 매니지드 서비스를 이용
- 관리 콘솔
- 웹 브라우저의 GUI로 AWS를 조작하는 것
- 서비스 별로 고유 화면이 있어서 서비스 설정 등을 쉽게 할 수 있음
- Managed Service
- AWS 가 관리하는 서비스
- EC2는 Managed Service 가 아니지만 S3 나 RDS 는 Managed Service
- S3 나 RDS 는 백업 이나 업데이트를 직접 할 필요가 없음
- 스토리지 용량이 자동으로 늘어나기 때문에 직접 관리할 필요가 없음
- 백업, 알림, 모니터링, 패치 관리, 보안, 장애에 대비한 이중화 등을 수행해 줍니다.
- 보안 전문가가 없는 경우 매우 유용한 서비스