실시간 네트워크 분석을 위해 패킷 교환 과정을 포착하는 도구 중 하나
패킷이란?
네트워크상에서 주고받는 메시지 데이터 블록의 기본 단위를 패킷 이라 부른다.
80번 포트(http)와 443번 포트(https를)
이 포트 번호들은 생략이 가능!
왜 https를 사용해야 할까?
‘ loginUserExample ‘ 이라는 요청을 보낼 때 입력한 이메일과 패스워드가 쉽게 노출되는 것을 볼 수 있다.
3-way-handshake , 4-way-handshake
왼쪽이 프론트엔드, 오른쪽이 백엔드 컴퓨터라 가정해보자.
- 프론트 엔드 컴퓨터에서 백엔드 컴퓨터로 요청을 보내는 것 : ‘SYN’
- 백엔드 컴퓨터에서 프론트엔드 컴퓨터로 요청에 대한 응답: ‘SYN + ACK’
- 다시 프론트엔드 컴퓨터에서 백엔드 컴퓨터로 ‘ACK’를 돌려줌.
- 연결을 종료할 때에는 ‘FIN’을 돌려주면서 4-way-handshake 형식이 된다.
프론트엔드 개발자라도 와이어샤크에 관심을 가져야 한다.
백엔드 개발자들과 어떻게 데이터를 주고받는지 알아야 협업을 하는데 있어서 원할하게 진행을 할 수 있음!
✅ SSL 인증서 발급
HTTPS는 SSL/TLS 인증서가 있어야 사용할 수 있다.
AWS에서는 웹서비스 제작을 위해 필요한 기본적인 퍼블릭 인증서를 무료로 제공하고 있다.
- 콘솔 상단의 ‘서비스' 또는 검색창에서 Certificate Manager를 찾아 접속한 뒤, 시작하기 버튼을 클릭
- 퍼블릭 인증서 요청을 선택한 뒤, 다음으로 넘어간다.
- 도메인 이름에 미리 구매했던 도메인을 입력(http://나 www는 입력하지 않습니다)하고, DNS 검증을 선택한 다음 요청 버튼을 클릭
- 발급 요청이 완료되었지만, 아직 DNS 검증을 완료하지 않았기 때문에 검증 대기 중으로 표시된다.
✅ SSL 인증서 검증
AWS에서는 SSL 인증서가 무분별하게 사용되는 것을 방지하기 위하여 도메인에 맞는 인증서를 발급한 다음, 실제로 해당 도메인을 소유하고 있는 지 검증하여야 활성 상태로 변경한다.
Route53에 검증용 CNAME 레코드를 추가하여 도메인 소유 여부를 검증할 수 있다.
- DNS 검증을 위해 인증서 ID를 클릭
- Route 53에서 레코드 생성 버튼을 클릭
- 레코드 생성 버튼을 클릭
- Route 53으로 이동하여 여러분이 생성한 호스팅 영역의 레코드 목록을 보면, CNAME 레코드가 생성된 것을 확인할 수 있다.
- 연결 확인을 위해 ACM에서 인증서 정보를 조회한 다음, CNAME 이름을 복사
- 터미널에서 dig (CNAME 이름) CNAME 을 입력
- ANSWER SECTION에 CNAME 이름과 CNAME 값이 모두 표시되면 연결이 완료된 것(확인이 완료될 때까지 시간이 다소 소요된다.)
- CNAME 확인이 완료되면, 인증서 상태가 발급됨으로 변경된다.
✅ CloudFront 배포 생성 및 인증서 적용
유저의 접속 트래픽은 가장 먼저 CloudFront에 도달하여 S3과 로드밸런서 중 어느 곳으로 데이터를 요청할 지 분류를 받게 된다. 또한, CloudFront는 전세계에 위치한 AWS 서버들을 이용하여 CDN 서비스를 제공한다.
CDN 서비스를 이용하여 유저는 전세계 어디서든 빠른 속도로 컨텐츠를 전송받을 수 있고, 일부 리전의 접속이 원활하지 않거나 서버가 다운되었을 때 캐싱된 페이지를 조회할 수 있도록 하여, 서버가 중단된 상황에서도 일부 서비스에만 장애가 발생한 것과 같이 보이도록 한다.
- aws 콘솔 상단의 ‘서비스' 또는 검색창에서 CloudFront를 찾아 접속한 뒤, 시작하기 버튼을 클릭
- 원본 도메인에 S3 엔드포인트 주소를 반드시 직접 복사하여 입력한다. Origin Shield 활성화는 아니요를 선택한다. (입력창 클릭 시 자동으로 검색되는 원본 도메인을 선택할 경우 S3과 제대로 연결되지 않는다.)
- 뷰어 프로토콜 정책 및 허용된 HTTP 방법을 아래와 같이 선택
- 대체 도메인 이름 영역에서 항목 추가 버튼을 클릭
- 대체 도메인 이름에 구입한 도메인을 입력한 다음, 사용자 정의 SSL 인증서 선택창을 클릭
- 인증서를 선택한 다음 배포 생성 버튼을 클릭
- 배포 도메인 이름을 복사
- 주소창에 입력하고, 제대로 페이지가 표시되는 지 확인한다 (시간이 다소 소요된다)
✅ Route 53과 CloudFront 연결
Route 53과 CloudFront를 연결하여, 유저가 도메인을 입력하면 https를 이용하여 S3에 접속할 수 있도록 설정해 보자!
- aws 콘솔 상단의 ‘서비스' 또는 검색창에서 Route 53을 찾아 접속한 뒤, 호스팅 영역 버튼을 클릭
- 기존에 생성했던 호스팅 영역을 클릭
- 도메인-S3엔드포인트를 연결하였던 A 레코드를 선택하고, 레코드 편집 버튼을 클릭
- 트래픽 라우팅 대상을 변경하기 위해 S3 웹사이트 엔드포인트에 대한 별칭을 클릭
- CloudFront 배포에 대한 별칭을 선택하여 트래픽 라우팅 대상을 변경
- 대상 CloudFront 배포를 지정하기 위해 배포 선택창을 클릭
- 이전에 생성한 CloudFront 배포 도메인을 선택
- 저장 버튼을 클릭
- 구입한 도메인을 주소창에 입력하여 HTTPS 연결을 확인
무료와파사용하지 않기
http가급적 피하기
유지시간(keepalive)
http1.1 과 http1.0의 차이
방화벽 이해
CS퀴즈
1단계
cdn설치하기 content delivery network
실습
버킷의 속성에서 복사하기 - 원본도메인
실프로젝트에서는 캐시해야함
방화벽해제
접속해도 안되는 이유는?
배포했지만
바로 접속되지 않고
방화벽이라는 것이 겉에서 각 포트별로 막고 있음.
방화벽을 풀어서 누구둔지 접근이 가능핟로고 해야함.
로드밸런스연결하기
yarn start켜져있는상태에서 로밸하기