일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- DesignPattern
- 직장인점심
- 책읽기
- 성수맛집
- 성수볼거리
- 헤드퍼스트
- 직장인
- 개발자
- 성수
- 성수핫플
- 오브젝트
- 클린코드
- 주니어개발자
- 독서
- 헤드퍼스트디자인패턴
- 상속
- 객체지향
- 코딩
- 책너두
- JAVA개발자
- 객체지향프로그래밍
- 성수직장인
- IntelliJ
- 깨끗한코드
- 독서일지
- 디자인패턴
- Java
- Linux
- JavaScript
- docker
- Today
- Total
닭발개발
클라우드 컴퓨팅, AWS API Gateway, AWS S3, AWS ELB, AWS CloudFront, AWS Secret Mana 본문
클라우드 컴퓨팅, AWS API Gateway, AWS S3, AWS ELB, AWS CloudFront, AWS Secret Mana
D269 2023. 3. 22. 19:07이 글은
2022년 12월 7일 ~ 2022년 12월 18일 에 원티드에서 프리온보딩 백엔드 챌린지에 참가하여 들은 강의를 정리한 것입니다.

강사 : 조준범
강의 목적 :
1. AWS 인프라의 전체적인 이해도에 중점
2. 한 대의 프로덕션 서버가 구성되기 까지의 과정 이해
AWS란 무엇일까?
On-premise vs Cloud Computing
- On-premise
기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌,
자체적으로 보유한 전산실 버서에 직접 설치해 운영하는 방식
- Cloud Computing
인터넷을 통하여 데이터를 저장하거나 데이터 베이스, 서버, 네트워킹, 소프트웨어와 같은
도구, 애플리케이션 등 다양한 서비스를 제공하는 방식
Cloud Computing을 쓰는 이점
카프카 : 메세지 서버 종류
배민은 모든 서버의 request를 메세지로 받고있다.
따라서 메세지 서버가 중요함.
카프카 클러스터 = 브로커, 서버
20년도 기준 : 41대 메세지 서버 → 성장 → 서버 대 수가 급격히 늘어남.
경제성 : 우리가 사용한 만큼의 리소스만 지불하면 된다.
넷플, 아마존이 클라우스 서비스 가장 많이 씀.
넷플 : msa 사용 , 모든 도메인별로 다른 서버, cloud computing을 사용해서 유연성 확보
왜 aws 쓸까?
국내에서는 대부분 aws를 쓴다.
microsoft azure : 특화된 프로그램이 있음.
kubernatis : 구글 클라우드에서 잘 쓸 수 있게 해놓음 : 쏘카는 구글 클라우드 씀.
무조건 aws를 써야 된다는 건 아니지만 90% 회사들이 사용하는 것임 따라서 aws 아는게 중요하다.
AWS 인프라의 전체적인 모습
- 제일 간단해보이는 사진 가져옴

아키텍쳐 그림만 봐도 대부분의 어떤 서버 구조를 알 수 있기 때문에 서비스들 하나하나가 어떤 역할을 하는지, 장점은 뭔지를 이해를 하면 감각 늘릴 수 있으니까. 서비스 하나하나 특징 아는 거 중요하다.
배울 순서
- 인프라 관련 요소들
- 컴퓨팅 파워(서버)
- database
- message queue
왜 굳이 4번 메세지 큐를 넣었나?
대부분의 강의가 서버 자체에 강조를 하는데, 메세지 큐에 대한 내용은 많이 보지 못했다.
하지만 현업에서는 많이 쓰이고 중요하니까, 혼자, 팀단위로 개발하면 메세지 큐를 쓸 일이 많이 없으니까.
AWS VPC
virtual private cloud
서버실 운영할 때는 보안에 신경 안써도 됐다 : 직접 서버실 지키면 되니까.
벗 클라우드 쓰면서는 서버에 “울타리”를 칠 수 있는 장치가 필요했다. = 그 장치는 vpc로 명명함.
서버는 죽어도 데이터는 안전하게 유지할 수 있음.
이거는 삽질을 많이 해봐야 이해할 수 있는 영역이다.
너무 어려워서 놓치지 않을 정도로만 봐라.

인터넷 → vpc로 들어옴
vpc(울타리)안에 우리 서버 피시들을 가둬놓고, 게이트 웨이가 대문, 대문을 통해서 갈 수 있고, 울타리를 넘어서는 갈 수 없다.
🥧 라우터
친구가 집에 놀러와서 친구방에 가는데, 준범이는 어디 방에 있나요? 하는 역할을 해줌.
내부적으로 연결을 시켜주는 역할.
vpc는 내부적으로 private ip값(예를 들어, 오른쪽방에 누구, 왼쪽 방에 누구)을 가지고 있음.
private ip값은 퍼블릭한 공간에서는 사용할 수 없는 아이피 값이다. \\
이런 값들을 라우터에서 관리함.
퍼블릭 vs 프라이빗 서브넷
🥧 퍼블릭 서브넷 (서브넷 : vpc내에서 더 작은 vpc 개념)
인터넷 게이트웨이를 통해서 직접적으로 연결할 수 있는 서브넷, '
인터넷 연결이 필요한 것들이 여기에 위치함.
🥧 프라이빗 서브넷
퍼블릭 서브넷을 통해 접근할 수 있음.
인터넷 연결이 안되야 하는 것들이 들어감.
더 보안에 신경을 써야 하는 존재들. (db정보들이 여기에 위치함).
그 누구도 바로 접근할 수 없게 해야하는 것들.
퍼블릭 서브넷에서도 프라이빗 서브넷을 접근하려면,
서브넷보다 작은 개념(보안관련 resource)이 있다. 보안그룹…이 걸러줌.
Gateway
🥧 인터넷 게이트 웨이
api gateway를 통해서 데이터를 주고받을 수 있는 통로.
밖에서 오는 요청 같은 거를 처리를 하는 대문.
api gateway는 맨 앞단에서 처리하는 ..
ex) 인증을 서버에서 많이 처리하는데, api gateway에서 인증관련을 처리할 수 있다.
서버에 닿기 전에 앞단에서 처리하고 싶을 때,
서버가 아닌 ramda라는 서비스의 경우(함수를 실행) 도 api gateway와 연결지어서 serverless한 서비스를 만들 수 있다.
Q&A 타임.
VPC vs VPN 개념
vpc : 울타리 : 인터넷 연결에 관여하지 않음.
vpn은 울타리 안쪽으로 들어가는 연결장치 : 인터넷 연결을 할 때, 서브넷 내의 인스턴스와 연결하기 위한 수단.
vpc 내부의 있는 서브넷은 다 라우터를 통해 관리를 한다.
외부에서 db정보를 보고 싶어서 연결을 한다면? 퍼블릭 서브넷을 통해서 프라이빗 서브넷으로 가야한다.
api gateway와 인터넷 gateway의 차이점 :
api gateway : aws 관리형 서비스의 제일 앞단에서 인터넷 게이트 웨이 같은 역할
인터넷 게이트웨이가 더 상위개념임.
실습 하기 전, 중요하지만 기초적인 질문.
aws 사이트 → 가입 → 보안자격증명 탭 → 엑세스 키(시크릿 키)로 작업한다.
엑세스 키 다운로드 → csv 파일 생김
다음 수업 때 serverless 개념 많이 나옴.
serverless 환경에서는 spring 쓰지 않아서 node로 가겠음.
서버리스와 자바는 궁합이 안좋음. 자바는 jvm위에서 돌기 때문이다.
그거에 대한 개념은 다음시간에~
AWS ELB
Elastic Load Balancing(ELB)
무조건 알아야됨.
서버를 띄울 때 여러 대의 서버를 띄워야 하는데, 서버를 같은 로직을 가지고 서버를 올리게 되는데, 부하를 어느정도 분산 시켜야 할 때 elb를 붙이게 된다.
특정 요청이 왔을 때, 그 요청을 임의로 나눠서 보낸다.

1번 인스턴스가 사용률 20퍼, 2번이 10퍼면 elb가 분산시켜줌.
ALB가 일반적인 상황에서 가장 많이 쓰인다.
AWS S3
S3가 다양한 것들을 할 수 있다.
Simple Storage Service(S3)
S3에 json 파일을 넣어서 아테나라는 서비스를 통해서 파일을 쿼리할 수도 있음(db처럼 쓸 수도 있다.)
데이터 엔지니어링 : 데이터가 이동하면 이동데이터가 방대한데, 그걸 s3에 저장하는 팀이 많다.
기본적으로 aws에서 이뤄지는 로그는 대부분 s3에 저장된다. 단순히 파일을 업로드하고 하는 개념보다는 기록의 용도로 쓰인다.
리액트 파일을 s3에 놓으면 그 자체로 서비스를 할 수 있다.
백엔드 엔지니어로서는 s3에 저장되는 트리거를 이용해서 람다를 적용시킨다 라는 개념을 알면 좋다.
ex) 사용자가 사진을 인스타에 올릴때, 사진이 10메가, 그걸 작게 썸네일을 통해서 부하를 줄이는데, 썸네일 작업은 s3에 사용자가 올린 사진을 등록하면 그로 인해, 트리거가 걸림, 람다로 썸네일을 만들어라 하는 트리거를 만들어서 썸네일이 자동적으로 만들어지게 하는 구조를 만들 수 있다.
함수를 통해서 따로 서버를 띄우지 않아도 썸네일을 자동적으로 만드는 구조.
AWS CloudFront ***** 완전 중요함. 💥
: 캐시 서버
이용자가 요청을 보냈을 때, 본사에 안가고 캐시서버를 두게 되면 비용도 많이 줄고, 보다 이용자에게 쾌적한 환경을 제공할 수 있다.
CloutFront는 그것을 손쉽게 만드는 역할을 한다.
속도는 높이고, 가격은 내리며, 서버 부하는 줄일 수 있음. 캐시서버는 오리진 서버보다 쌈.
AWS Secrets Manager / Parameter Store
보안목적으로 서버에 직접 정보를 적지 않는데,
.env(엔브)를 관리하고 서버에 주입시키는 방식으로 운영한다.
그게 아니고, Secret Service Manager(ssm)을 이용하면 env 파일을 관리할 수 있다.