AWS?
On-premise vs Cloud Computing
On-premise: 서버 팜, 클라우드가 아닌, 개인 또는 기업의 서버를 자체적으로 보유한 전산실 서버에 직접 설치하여 운영.
Cloud Computing: 인터넷을 통하여 데이터를 저장하거나 데이터베이스, 서버, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션 등 다양한 서비스를 제공
Cloud Computing의 이점
서버 관리가 간편해짐.
트래픽이 증가하면 확장하고, 감소하면 축소하는 것이 상대적으로 유연하다.
사용 기반으로 과금하기 때문에 비용 절감이 가능하다.
AWS 인프라의 전체적인 모습
- 인프라 관련
- AWS API Gateway, AWS S3, AWS ELB, AWS CloudFront, AWS Secret Manager, 스냅샷
- 컴퓨팅 파워(서버)
- AWS EC2, AWS Elastic Beanstalk, AWS ECS, AWS Fargate, AWS Lambda(Serverless)
- Message Queue
- AWS SQS, AWS MSK, AWS Kinesis
- Database
- AWS RDS, AWS DynamoDB, AWS ElastiCache
AWS VPC
Virtual Private Cloud
현업에서는 사용할 일이 많지 않다.
맨 처음 인프라 셋팅할 때 만지는 정도.
큰 회사의 경우 Devops에서 관리. 보안과 관련있다.
- 가상 네트워크 서비스로 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링할 수 있도록 해주는 서비스
- 네트워크 구성과 관련된 사실상 모든 기능을 담당하며, 자체 데이터 센터에서 운영하는 기존 네트워크와 매유 유사한 형태
AWS API Gateway
API Gateway의 대문과 VPC의 대문이 다름.
람다 및 여러 서비스들을 API Gateway(혹은 EC2)로 붙일 수 있음.
AWS의 서비스들을 도메인 할당.
- 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지관리, 모니터링 및 보안 유지를 할 수 있도록 하는 완전 관리형 서비스
- 서버의 "대문"과 같은 역할
- API Gateway가 할 수 있는 것
- 트래픽 관리(제한), CORS 지원, 권한 부여 및 액세스 제저, 제한, 모니터링 API 버전 관리, 인증관련 등
AWS ELB(Elastic Load Balancing)
보통은 ALB를 사용.
Browser에서 서버로 접속할 때 부하가 적은 곳으로 분산 처리해준다.
- 다수의 컴퓨팅 리소스(EC2, Lambda 등)를 부하 분산시켜주는 서비스
- 총 3가지 종류의 Balancer(Application Load Balancer, Gateway Load Balancer, Network Load Balancer)가 존재하며, Application LoadBalancer가 일반적인 상황에서 가장 많이 쓰인다.
AWS S3(Simple Storage Service)
모든 데이터베이스 서비스들이 S3와 한번씩 엮이게 되어있음.
현업에서는 클라이언트 -> 서버 -> S3 업로드의 방식을 잘 사용하지 않음.
S3에서 Presigned URL이라는 것을 제공.
클라이언트 Image 업로드 요청 -> 서버 -> S3로부터 Presigned URL 요청 -> 이용자에게 해당 Presigned URL를 전달 -> 이용자는 PreSigned URL을 넘겨 받아 해당 URL을 사용하여 서버를 거치지 않고 이미지를 S3에 올릴 수 있음.
서버는 이미지처리를 하나도 하지 않고 S3에 저장할 수 있음.
이미지 처리를 하는 것이 서버에 부담이 되는 일임.
- 가장 오래된 AWS 서비스중 하나로 엄청난 내구성과 가용성을 자랑하며 이미지, 동영상, 오디오 파이로가 같은 정적 파일들을 용이하게 관리하도록 돕는 스토리지 서비스
- 단순 파일의 저장 공간을 넘어서서 데이터를 저장하는 스토리지 플랫폼
- 데이터 처리 : S3에 저장되는 Trigger를 이용해 람다 실행 가능
- 로그 : AWS 안에서 이뤄지는 대부분의 로그는 S3에 저장
- 쿼리 지원 : AWS Athena를 통하여 S3에 저장된 파일을 쿼리할 수 있음
- 호스팅 : Single Page Application(React)를 호스트 할 수도 있음
AWS CloudFront(Simple Storage Service)
서비스에서 이미지를 사용한다면 99% CloudFront를 사용한다고 보면 된다.
- 전 세계에 있는 AWS 엣지 로케이션을 통해 CDN 서비스 제공
- 현재 48개국 90곳이 넘는 도시에서 410개가 넘는 접속 지점(엣지 로케이션 400개 이상, 리전별 중간 티어 캐시 13개)로 구성된 글로벌 네트워크
- 속도는 높이고, 가격은 내리며, 서버 부하는 줄임.
'Server > Infra' 카테고리의 다른 글
[Kube] kubectl 및 kustomize Mac OS설치 (0) | 2023.10.11 |
---|---|
[Docker] 도커 설치 MacOS (0) | 2023.10.11 |
[CI/CD] task_definition.json, deploy.yml ECS Docker 환경 변수 설정 (0) | 2023.03.14 |
[CI/CD] AWS ECS, ECR을 사용하여 Docker CI/CD 구축 (0) | 2023.03.14 |
[AWS] ECR 이미지 푸시 명령 (0) | 2023.03.09 |