참고한 곳
1을 전부 했다면 아마 http 프로토콜을 사용하는 상태로 클라이언트, 서버, 데이터 베이스가 모두 배포된 상태일 것이다.
현재 S3으로 배포되고있는 정적 웹 사이트는 단점이 있다.
1. HTTP 프로토콜 사용중
2. CloudFront에 비해 접속 위치에 대한 대응이 없음 (이론적으로)
3. 비용 문제
이 세가지를 한번에 해결해 주기 위해
를 사용할 것이다.
React 프로젝트의 경우 react-router-dom을 사용한다면 다음과 같은 설정이 필요하다.
distribution setting -> error pages -> create custom error response
경로로 들어간다.
여기서create custom response를 눌러서
404
,403
에러 각각에 아래처럼 설정한다.
Route 53은 앞에서 언급했던 것처럼 DNS 서비스다.
우선 호스팅 영역을 생성한다.
그 다음 생성된 네임 서버 리스트를 도메인에 등록하면 된다.
나는 가비아에서 도메인을 샀다.
내가 산 도메인의 정보 변경 부분을 들어가니
네임 서버를 변경하는 곳이 있었다.
연결을 다 했으면 레코드 생성
을 누른다.
예시에서 farmworks.site 앞에
www를 작성하면www.farmworks.site
로 접속할 수 있다.
client
,server
등으로 붙여도 된다.
AWS Certification
에 접속한다.이때 주의할 점!!!
반드시 미국 동부지역을 선택해야 한다.
검증
부분이 나오면 각각 레코드를 생성해준다.지금 작업하고 있는 distribution을 열어준 후 왼쪽 위의 edit
버튼을 누른다.
그럼 아래와 같은 화면이 뜬다.
검은색 밑줄 부분을 채워넣는다.
나머지는 모른척 지나가서 하단의 yes edit
을 누른다.
EC2를 들어가서 아래로 쭉~ 내리면 로드밸런서
라는 곳이 있다.
그곳을 들어가면
누르자.
http, https
를 눌러준다.다음 화면에서
1)이름
을 아무거나 지정해주고
2) 리스너에 https 추가
3) 가용 영역에 2군데 이상 체크한다.
아래에 있는 것을 위로 추가한다.
active
가 될 때까지 기다린다.S3 보안그룹 설정
로드 벨런서를 설정하는 와중에 보안그룹을 설정한 부분이 있었다.
우리는 지금 로드 밸런서를 통해
https
프로토콜을 통한 인바운드를 받기로 했으므로
https_443 포트
를 허가해 주어야한다.요로코롬
이제 클라이언트에 도메인을 연결해줬던 것과 같은 것을 해주어야 한다.
Route 53에서 클라이언트를 이어줬던 것처럼 레코드를 생성한다.
다만 이번에는 서버에서 사용될 도메인 이름을 적고,
값/트래픽 라우팅 대상
부분에는
EC2 인스턴스를 생성한 리전을 선택한다.
그러면 로드밸런서 정보가 뜰것이다.