Wecode - Project 2 (부트캠프)/세션

Project2 - AWS (대표님 세션) **

JBS 12 2023. 10. 4. 18:03

 

 

용어 

Local host  외부에 노출되지 않은, 로컬에서만 사용가능한 서버 

Client 프론트엔드; 서비스가 유저에게 제공하기 위해 사용되는 디바이스/매체

Deployment 배포 (개발한 서비스를 실제 유저들이 사용할 수 있도록 서버에 배포)

Infrastructure 구조 (물리적/논리적 구성)

Cloud : 클라우드란?

데이터를 보관, 정리, 분석하고 새로운 서비스를 빠르게 추진할 수 있도록 각종 인프라와 IT 기술을 빌려주는 서비스/ 언제, 어디서나 인터넷을 통해서 접속이 가능한 환경




배포할때 가장 쉽게 하는게, 로컬호스트에서 하는 것 - 나의 노트북에 통신하는 것 (node, express. Js 돌리는것) 

그럴 때의 문제 

  • 외부 네트워크에서 접속이 어려움: 팀원들이 접속하기 어려움 : 언제어디서나 사용하기가 어려움 ip   → 같은 네트워크/ 와이파이로만 접속이 가능함 (집에 갓어-> 못 함) 미국이나 등등 에서는 접속 어려움

내 ip 주소 알려줘서 통신하는 건 -> 프론트가 같은 와이파이 타고 들어와서 가능한 것 

  • 보안의 문제: 데이터베이스 악성 코드 심는다던가 , 사이트는 24시간 돌아가야하는데 노트북을 24시간 돌릴 수 없으니, 

 

 

Local host는 

Public ip가 아니라 private ip라서 그런 것. 

상용화 위해 public ip필요 

 

  • 일단 사무실에서 24시간 돌리면, 정전 생길 수 있음 → ‘전문적인 네트워크 환경'이 아님 
  • 보안이 안 됨, 아무나 들어갈 수 있음 




 

그래서 서버 운영 관련해서 구비 된 것이 data center 

 

→ 필요한 만큼 공간을 대여해서 사용함 (위워크와 비슷, 필요한 것들 이미 구매 되어 있고)

→ 서버 사서, 설치해서 이용





정말 큰 기업들은 data center를 이용하지 않고, 직접 지어서 한다 → 위워크 사무실도 마찬가지, 큰 기업은 나가서 건물 사용하는 거처럼. 

구글 아마존 마이크로소프트 





예전에는 직접 물리적 기계를 사서, 설치해서 운영을 했어야 했다면, 

설치가 되어 있고, 이미 누가 설치한 것을, 

물리적으로 구축하지 않고, 비용만 지불하고, 

공간을 가상으로 대여해서 사용할수 있는 것

 

→ 비용 효율적으로 좋아서, 스타트업들의 성공이 커짐 

 

<장점>

 

  • 서버 뿐 아니라, 데이터베이스 등 많은 다양한 infrasturucture를 사용 가능,

 쓴 만큼만 비용 지불 가능, 

 

우리 비즈니스가 잘 될지도 안될지도 모르는데, 공간 대여해서, 설치해서 배포 환경 서버 만들 필요가 없다는 것 





그래서, 대부분의 스타트업이 클라우드를 사용함.

 

스타트업뿐만 아니라 대기업도 사용하기 시작함. 

구글은 쓰지 않고 넷플릭스 정도의 큰 회사 

(스타트업이라서 aws를 쓰는 것) 

 

전세계 최고의 엔지니어들이 구축해놓은 서버라서, 개발자 몇명이 만든 거 보다 보안이 좋음. 

 

요즘은 핀테크 기업들도 많이 쓰기 시작함. 



깃허브와 aws 배포의 차이점

개인도 가능? 

 

이미 만들어놓은 시스템을, 놀리기 아까우니까, 제 2의 매출 창출 고안하다가 나온 것. (부가적 비즈니스 모델이였는데 메인이 된 것)

 

 

 

글로벌 인프라가 좋음 

 

물리적 위치=region  - 한국에도 생김 

서울에 있는 데이터 센터를 빌릴 수 있다

2. AWS의 주요 서비스 및 개념

 

 

물리적 위치 = region = seoul 

 

  • 사용자와 region 가까울수록 네트워크 지연 최소화 

 

같은 region 내에서도 zone 1,2,3으로 나누어서, 하나가 다운되더라도 영향 없도록

 



2-2 

서비스 

 

1) 

서버 대여 서비스  = EC2 

  • 가장 저렴 

 

2) RDS: 설치할 필요도 없고, 데이터베이스가 이미 설치 돼 있고, 돌아가고 있음. 비용만 내면 됨 

  • ec2로 서버 대여해서 직접 데이터베이스를 내가 설치하는 것보다, RDS로 하는게 더 쌈
  • Mysql database 관리하는게 굉장히 어려운 일 (예전엔 이것만 관리하는 직군도 따로 있었음. 근데 운영관리/ 설치해주는 클라우드가 나와서) → 그래서 RDS 많이 사용할 것 



3. Static 이미지 저장하고 웹상에서 빠르게 읽어드릴 수 있게 

  • 프론트에서, 사용하는 이미지들을 전송하기 위해 많이 사용 

4. 나만의 네트워크를 만들고, 그걸 분리할 수 있음. Private network 단위

특정 네트워크를 단위로 묶을 때 사용하는 개념 (나중에 깊게0

 

도메인 = 주소 www.google.com www.naver.com

우리 로컬 호스트는 도메인이 없음. 고객들이 기억할 수 잇는 주소를 줘야 하니 

 

내 서비스에 주소를 붙이고 싶으면, 매칭을 해서 접속을 시켜주는 

 




ALB: 동일한 서버라도

여러개 서버에 돌릴 수 있다. 실제 상용화하게되면 여러 서버에 돌림, 

  • 문제 생기면 서버 하나 다운되도 돌아가게 해주려고, 고객 입장에서는 다운타임이 없음 
  • 트래픽을 분산 시키는 것 (100명 하다가, 1000명이 들어온다 → 동일한 서버를 10개로 늘리는 것) 

 

그럼 1~10번까지의 서버에 우리는 어디에 접속해야할까? → 이 역할을 하는게  load balancer 

load의 balance를 맞춰준다.

 




서버 다운 되는 이유 많음 

  • 버그 
  • 트래픽 
  • Rom 메모리 exception (



wix는 임의로 주어진 주소 = 무료 플랜

도메인 구매하면, 비개발자들을 대상으로 만드는 페이지 도움 툴이라, 앞단도 개발이 필요없게 되어 있는데, 

제가 원하는 url를 비즈니스 네임을 넣어서할 수 잇게 되더라고요 그게

Route 53 도 마찬가지. 근데 더 앞단의 주소를 원하는대로 할 수 있음. 개발자를 위해 만들어진 것이라.

근데 com. co.kr 같은 건 가디아로 가능함



하나의 썰 one call

한국은 귀찮은 일은 주니어가 해결해야지, 

미국은 기술적 문제니까 리더가 해야지 (막내가 안 받으면, 위로 올라가는)