원티드 프리온보딩 백엔드 챌린지
2. AWS 인프라 관련 요소
원코드
2022. 12. 9. 18:17
AWS VPC (Virtual Private Cloud)
- 가상의 네트워크
- VPC별로 네트워크를 구성하고 각각 다르게 네트워크 설정을 줄 수 있음 > 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링할 수 있음
- VPC 안에 서브넷을 만들어 더 많은 네트워크망을 형성 > 외부에서 접근하지 못하는 프라이빗 서브넷에는 보안에 신경써야 하는 인스턴스(ex. 유저 DB)를 형성, 인터넷을 통해 외부와 통신이 필요한 인스턴스(ex. 서버)는 퍼블릭 서브넷에 형성
- 네트워크 구성과 관련된 사실상 모든 기능을 담당하며, 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사한 형태
AWS API Gateway
- 외부에서 들어오는 요청을 관리하는 '대문' 역할
- 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 유지 할 수 있도록 하는 완전 관리형 서비스
- ex) 트래픽 관리 (제한), CORS 지원, 권한 부여 및 액세스 제어, 제한, 모니터링 API 버전 관리, 인증관련 등
- API Gateway 보다 인터넷 게이트웨이가 더 상위의 개념
AWS ELB (Elastic Load Balancing)
- 다수의 컴퓨팅 리소스(EC2, Lamda 등)의 부하를 분산시켜주는 서비스
- ALB(Application LoadBalancer), GLB(Gateway LoadBalancer), NLB(Network LoadBalancer) 세 개의 종류가 있으며 ALB를 주로 사용함(Http, Https 담당)
AWS S3 (Simiple Storage Server)
- 이미지, 동영상, 오디오 파일 등 정적 파일들을 용이하게 관리하도록 돕는 파일 저장소
- 이미지 저장소 뿐만 아니라 데이터 처리, 로그, 쿼리 지원, 호스팅 기능으로도 사용 가능함
- 데이터 처리: S3에 저장되는 Trigger를 이용해 람다를 실행시킬 수 있음 > 람다를 실행해 썸네일 생성
- 로그: AWS 안에서 이루어지는 대부분의 로그는 S3에 저장됨
- 쿼리 지원: JSON 파일 + AWS Athena를 통해서 저장된 파일을 쿼리 할 수 있음
- ※ AWS Athena: 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스
AWS CloudFront
- 캐시 서버 역할
- 전세계에 있는 AWS 엣지 로케이션을 통하여 CDN 서비스를 제공
- 속도 높이고, 서버부하와 가격을 낮춤
- 현재 48개국 90개가 넘는 도시에서 410개가 넘는 접속 지점 (엣지 로케이션 400개 이상, 리전 별 중간 티어 캐시 13개)로 구성된 글로벌 네트워크를 지원
- 따라서 글로벌 서비스를 운영할 경우 S3 + CloudFront를 이용하는게 유리함
AWS Secret Manager / Parameter Store
- .env파일(보안 관련 파일)을 서버 별로 따로 관리하지 않고 한 곳에서 집중적으로 관리할 수 있음
- 데이터베이스 보안 인증 정보 및 API 키와 같은 보안 정보를 안전하게 암호화하고 집중적으로 감시할 수 있음
- Secret Manger와 Parameter Store는 암호화 차이. 암호화가 필요한 곳엔 Secret Manager, 필요 없는 곳엔 Parameter Store 사용