[TIL] Day38

은채·2022년 6월 29일
0

코드캠프 TIL

목록 보기
37/43

6월 29일 학습목표

http와 https

http로 백엔드에 로그인 요청을 보내보자

주고받는 묶음 정보를 패킷이라고 한다
'와이어샤크' 라는 프로그램을 이용해서 이 정보를 볼 수 있다

백엔드 주소를 넣으면

source : 브라우저
destination : 백
length : 사이즈
info : /post graphql

패킷을 눌러보면 로그인 정보가 보인다

https로 백엔드에 요청을 보내면?

로그인버튼을 눌렀을 때 데이터가 이동한 내용

어떤것을 선택해도 안의 내용을 볼 수 없다 (암호화되어있음)
https의 's'는 secure !

3-Way-Handshake

본격적인 리퀘스트 전, 프론트와 백엔드 사이(혹은 컴퓨터-컴퓨터)의 연결이 필요하다

이 3단계를 거쳐야 연결이 된 것이고, 이후에 리퀘스트를 주고 받을 수 있다

10.34~ 가 연결 시도 하는 우리 ip -> syn 패킷을 보냈다
34.117~가 연결 요청을 받는 백엔드 ip -> syn , ack 패킷을 보냈다
10.32~ 연결하는 우리 ip -> ack 패킷을 보냈따

연결을 위한 작은 사이즈의 데이터가 3번 이동하는 것을 볼 수 있다.
80번 http 포트 (443번은 https포트) / 랜덤으로 발생된 53468 브라우저 포트


TCP 통신 후, http 리퀘스트가 나갔다

Certificate Manager
cloudFront에 https를 적용할 수 있는 서비스

SSL (현재는 업그레이드해서 TLS라고 하기도함) 인증서를 구매해서 적용하면 https로 바꾸어 사용할 수 있었는데 aws에서 무료로 제공한다

인증서 요청하니 CNAME 이름, 값이 주어진다

Route53에서 CNAME 적용까지 완료하여 인증서 발급 완료

CDN (Contents Delivery Network) 은 컨텐츠를 얼마나 빨리 전달할 것인가에 초점이 맞춰져 있다. 전세계적으로 컴퓨터가 퍼져있어서 그 컴퓨터에 소스코드를 임시저장해둔다. 접속했을 때 현재 자신과 가장 가까운 곳의 컴퓨터에 접속해서 다운로드를 받는 것이다 => cloudFront(AWS)의 역할 = 그래서 글로벌로 표기 / 특정 나라의 인증서를 적용할 수 없고 default가 버즈니아 북부...
따라서 버즈니아 북부용 인증서를 만들어야 함

이 인증서는 CDN외에 LB등 여러 군데에 설치할 수 있기 때문에 서울용 인증서가 필요하기는 하다

cloudFront

원본 도메인 : storage 주소 (클릭했을 때 나오는 주소 ❌)
S3에서 속성 - 정적 웹 사이트 호스팅(http 뺀 부분)에 나와있는 주소
cloudFront와 storage를 연결해놓는것


http 로 접속하면 https로 바꿔주는 것으로 선택


모든 CND들이 엣지로케이션들이다.


배포도메인을 클릭하면 https가 적용된 사이트 등장

이제 내 도메인 주소와 연결하자
A레코드를 cloudFront로 바꾼다


적용완료!

동적 배포

남은 것
1. 컴퓨터 1대를 대여하여 git clone, yarn build, yarn start, 방화벽
2. LB와 연결
3. LB와 cloudFront 연결

배포는 간단하게 할 수도 있지만, 여러 상황을 고려하여 조건이 추가될 수 있다

EC2

하나의 컴퓨터를 인스턴스라고 한다
프리티어 조건들로 인스턴스 시작하기

인스턴스가 상태가 실행 중이면, 접속자 수와 상관없이 비용이 청구되는 것
인스턴스 상태를 중지하면, 컴퓨터를 잠깐 끄는 것
🌟 인스턴스 상태를 종료하면 , 컴퓨터를 삭제하는 것 🌟 => 종료 동작 변경 설정을 해둘 수 있다

인스턴스 연결 (아마존 리눅스를 선택하면 EC2인스턴스 연결 가능)

접속했따 24시간 켜져있는 컴퓨터다 => 초기 설정 셋팅 및 깃 클론

방화벽을 해제하자

보안 탭

SSH 에 접속하는 22번 포트
0.0.0.0 누구든지 접속할 수 있다

3000번 포트에 접속할 수 있게 방화벽을 풀어야한다 -> 보안그룹에서 인바운드 셋팅

인바운드 : 컴퓨터로 내가 접속할 때 ->
아웃바운드 : 컴퓨터에서 내가 나갈 때 -> 회사 작업물을 반출하지 못하게

프로세스를 오래켜두면 새로고침이 작동하지 않는다.
이럴 때 강제로 종료하는 방법

  1. ps -ef 로 실행중인 프로그램을 본다
  2. ps -ef | grep node
    node로 실행되는 프로그램을 찾는다


프로세스 아이디

이부분이 가장 부모, 부모가 종료되면 자식도 다 종료된다

  1. kill -9 (부모프로세스 아이디)
  2. yarn start 종료
profile
반반무마니

0개의 댓글