32일차 서버리스 백엔드-2

김성훈·2021년 11월 1일
0

서버리스

목록 보기
4/4
post-thumbnail

🤑VPC🤑:

프라이빗 클라우드를 만드는 가장 기본이 되는 리소스.
AWS 에서 우리가 사용하는 Lambda, RDS 등 이런 연결들을 프라이빗 하게 묶어서 우리만 사용할 수 있게 해줌

SUBNET : 네트워크를 부분만 나눈 것 (통신) 서브 네트워크 라고도 함

ROUTE : 경로 (공유기)

ROUTE = 게이트웨이


👿퍼블릭 서브넷👿

항상 인터넷 게이트 웨이가 연결되어 있어서 외부에서 직접 접근이 가능하고 나가는 것도 가능
퍼블릭 망이 없으면 프라이빗 하게 안에 있는 애들 끼리만 통신을 함

IGW 는 서버명 인터넷 게이트웨이= (관문) 라우트 같은 것

😈프라이빗 서브넷😈

인터넷과 연결되어 있지 않아서 안에 있는 애들 끼리만 통신을함
NAT 게이트웨이를 사용해야지만 인터넷으로 연결할 수 있음
완벽히 단절된 네트워크를 만들 수 있음

  • 외부에 노출되지 않고 인터넷이 가능한 프라이빗 서브넷을 aws에 생성하려면 퍼블릭 서브넷과 프라이빗 서브넷을 동시에 만들어야 한다.
  • 정보유출을 막기 위해서 서브넷을 private 그리고 public 으로 나눠서 사용하고 있음

👹NAT 게이트웨이👹:

  • 프라이빗 서브넷을 퍼블릭 서브넷으로 연결해 사용자 에게 접근할 수 있게 해주는 길
  • 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷게이트웨이와 연결함
  • 퍼블릭 서브넷 상에서 동작함

👺인바운드와 아웃바운드👺

  • 인바운드는 외부에서 서버 내부로 데이터가 유입된다는 것을 의미함 (입국)
  • 아웃바운드는 반대로 서버 내에서 외부로 데이터가 전송된 다는 것을 의미함(출국)

🤡프록시란🤡

데이터 프록시는 중계 역할을 함
예)람다 : 프록시 : RDS
보안상에 문제로 직접 통신을 주고 받을 수 없는 사이에 프록시를 이용함.
DB를 여러개 사용할 때 하나에 데이터베이스가 죽으면 다른 데이터베이스로 옮겨줌 healthy 체크를 의미.


👻CORS👻

다른 서버에서 다른서버로 리소스를 요청할 때 CORS 오류라는 것을 볼 수 있음
데이터는 원래 보안상으로 같은서버에 있는 데이터만 받아올 수 있는게 원칙 URL이 똑같에야 요청을 받아 올수 있다.
다른 서버에서 값을 받아오게 되면 사이트를 변조할 수 있기 때문이다.
CORS 를 이용해서 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 해준다.

이때 브라우저는 요청 헤더 (request header)에 Origin 필드에 요청을 보내는 출처를 담아 전송한다.


Access-Control-Allow-Headers': 'Content-Type,x-requested-with',
야 너 저런식으로 오는 거 오케이
'Access-Control-Allow-Origin': '*',
출처가 어디든 오케이 해줄게
'Access-Control-Allow-Methods': 'GET'
리스폰스가 온 메소드에 대해서 허용해줌


💀preflight request💀

요청을 한번에 보내는 것이 아니라 예비 요청과 본 요청으로 나누어서 서버로 전송.
포스트 요청인 경우에는 클라이언트가 서버에게 먼저 물어봄
사전요청 해서 여기 안에 OPTIONS이라는 메소드를 사용
먼저 보내고 어 해준다? 오케이 보낸다
되는지 안되는지를 미리 확인하기 위해 사용


☠️MIME(Multipurpose Internet Mail Extensions)☠️

파일 변환을 뜻한다
원래는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되어서 이름에 Internet Mail Extension 사용했지만 현재는 웹을 통해서 여러형태의 파일(음악파일, 무비파일, 워드파일 등등) 전달하는데 쓰이고 있다.
여러 형태의 파일을 전달할려면 텍스트로의 변환이 필요 한데 텍스트 파일로 변환하는 것을 인코딩(Encoding), 텍스트 파일을 이진 파일로 변환하는 것을 디코딩(Decoding)이라고 한다.
MIME으로 인코딩한 파일은 Content-type정보를 앞부분에 담게된다

바이너리파일(음악 파일, 무비 파일, 워드 파일 등) 또한 브라우저에서 지원하지 못하는 유형은 따로 지정해줘야 한다


👾Content-Type👾

우리가 클라이언트 브라우저로 어떤 자원을 보낼때(어떤 형태의 파일이나 문서 등), 웹 서버는 일련의 HTTP 헤더로 파일이나 자원을 포함하는 바이트의 Stream을 앞에 보낸다
헤더는 사용되고 있는 웹 서버의 소프트웨어의 타입, 서버의 날짜와 시간, HTTP 프로토콜, 사용중인 커넥션 타입등을 지정한다 또한 클라이언트가 이런 가상 패스나 도메인에 대해서 저장해야 할 쿠키를 포함한다

  • 바이트 스트림 : 8비트의 바이트 단위로 입출력하는 클래스, 이진 데이터를 읽고 쓰기 위하여 사용.

<출처>
Milkye Way (프록시란 무엇인가?)

pilyeooong.log ( CORS란 무엇인가?)

Ryu's Story(AWS의-VPC-퍼블릭-서브넷-프라이빗-서브넷-그리고-인터넷-연결-방식)

개발자가 되기위한 첫걸음 (MIME-Type,Content-Type이란?)

profile
"한 명이 걷는 천 걸음 보다 천 명이 함께 걷는 한 걸음이 성공의 시작이고 완성이다"

0개의 댓글

관련 채용 정보