클라우드 서비스의 도래
데이터 센터의 문제점
- 운영에 비용이 많이 소요됨
- 건물 유지, 서버 구매, 셋업, 유지보수 비용 등
- 한 번 구매하면 수요에 상관없이 계속 보유해야 함
- 느린 구축시간
- 유저의 수요에 빠르게 대처하기 힘듦
클라우드 서비스의 장점
- 클라우드 컴퓨팅: IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것
- 자본 비용을 가변 비용으로 대체
- 규모의 경제로 얻게 되는 이점
- AWS의 모든 고객과 공동구매하는 효과
- 용량 추정이 불필요
- 속도 및 민첩성 개선
- 몇번의 클릭으로 바로 리소스 확보 가능
- 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
- 인프라 관리가 아닌 비즈니스에 자원 집중 가능
- 빠른 확장성
- 전 세계에 빠른 서비스 구축 가능
클라우드 컴퓨팅의 종류
IaaS : Infrastructure as a Service
- 인프라만 제공
- OS를 직접 설치하고 필요한 SW를 개발해서 사용
- 가상의 컴퓨터를 하나 임대하는 것과 비슷함
- ex) EC2
Paas : Platform as a Service
- 인프라+OS+기타 프로그램 실행에 필요한 부분(런타임)
- 바로 코드만 올려서 돌릴 수 있도록 구성
- ex) Firebase, Google App Engine
SaaS : Software as a Service
- 서비스 자체를 제공
- 다른 세팅 없이 서비스만 이용
- ex) Dropbox, Gmail
EC2
- EBS
- 가상의 하드드라이브
- EC2 인스턴스가 종료되어도 계속 유지 가능
- 인스턴스 정지 후 재기동 가능
- 하나의 EBS를 여러 EC2에 장착 가능(EBS Multi Attach)
- 루트 볼륨으로 사용시 EC2가 종료되면 같이 삭제됨. 단, 설정을 통해 EBS만 따로 존속 가능
- 항상 EC2와 같은 가용영역에 존재
- 5가지의 타입을 제공
- Snapshot
- 특정 시간에 EBS 상태 저장. EBS에 사진을 찍어둔 개념
- 필요시 스냅샷을 통해 특정 시간의 EBS 복구 가능
- S3에 보관. 증분식 저장(변한 부분을 기록하여 효율적으로 저장)
- AMI (Amazon Machine Image)
- EC2 인스턴스를 실행하기 위해 필요한 정보를 모은 단위
- AMI를 사용하여 EC2를 복제하거나 다른리전, 계정으로 전달 가능
- 스냅샷을 기반으로 AMI 구성 가능
- 1개 이상의 EBS 스냅샷 + 루트 볼륨에 대한 템플릿(OS, Application Server + Application) + 사용 권한 + 블록 디바이스 권한(EBS가 몇개 붙는지)
- EBS기반->스냅샷기반으로 루트 디바이스 생성 / 인스턴스 저장 기반->S3저장된 템플릿 기반 생성
- ELB (Elastic Load Balancer)
- 다수의 서비스에 트래픽(부하)을 분산해주는 서비스
- Health Check 기능: 직접 트래픽을 발생시켜 인스턴스가 살아있는지 체크
- Autoscaling과 연동 가능
- 여러 가용영역에 분산 가능
- 지속적으로 IP 주소가 바뀌며, IP 고정 불가능: 항상 도메인 기반으로 사용해야함
- Application Load Balancer : 트래픽을 모니터링하여 라우팅 가능. 주소를 읽어서
- Network Load Balancer : 속도가 빠름. TCP 기반으로 빠른 트래픽 분산. Elastic IP 할당 가능
- Classic Load Balancer : 현재는 잘 사용 X
- Gateway Load Balancer : 먼저 트래픽을 체크함(검사/인증/로깅 등). 가상 어플라이언스 배포/확장 관리를 위한 서비스
Application Load Balancer
- ALB가 라우팅할 대상의 집합
- 구성 : Instance / IP / Lambda (/ ALB)
- 프로토콜 (HTTP, HTTPS, gRPC 등)
- 기타 설정 : 트래픽 분산 알고리즘, 고정 세션 등
분야에 따른 AWS 서비스 분류
Serverless
- AWS Lambda
- Amazon DynamoDB
- Amazon API Gateway
- Amazon SQS
- AWS Step Functions
- Amazon EventBridge
- AWS AppSync
- Amazon CloudFront
DevOps 인프라 관리
- AWS IAM
- AWS CloudFormation
- AWS CloudTrail
- AWS Organization
- AWS CodePipeline
- AWS Config
- AWS Health Dashboard
보안
- AWS IAM
- AWS CloudTrail
- AWS Firewall Manager
- Amazon Detective
- AWS Shield
- AWS Security Hub
- AWS WAF
- AWS Network Firewall
네트워크
- Amazon VPC
- AWS PrivateLink
- AWS Transit Gateway
- Amazon Route 53
- AWS Site-to-Site VPN
- Amazon CloudFront
- AWS Global Accelerator
- AWS Direct Connect
컨테이너
- Amazon EKS : 쿠버네티스를 매니지드 서비스로 제공
- Amazon ECS : 컨테이너를 매니지드 서비스로 제공
- AWS Fargate : 서버리스 기반으로 컨테이너를 제공하는 서비스
출처 https://www.youtube.com/watch?v=iX6X0rNmgzY