스터디일지/PROJECT

[2주 프로젝트] Trello 프로젝트 - PART 1 배포하기

똥쟁이핑크 2023. 9. 19. 00:26

HTTPS로 배포하기

배포하기 전에 HTTP와 HTTPS의 차이점을 알고 싶어서 알아봤다.

SSL 혹은 TLS 인증서 유무인데 인증서가 있으면 HTTP의 요청 및 응답을 암호화하고

HTTP보다 더 안전하게 사용할 수 있는 프로토콜이다.

HTTPS를 사용하는 웹페이지에서 서로 주고받는 모든 데이터들은 암호화되고 변경되거나 손상될 수 없다.

 

https://www.ascentkorea.com/difference-between-http-and-https/

 

HTTP HTTPS 차이: 당신의 웹 사이트는 안전한가요? - 어센트 코리아

HTTP와 HTTPS의 차이점과 각각의 정의 및 Google 랭킹 팩터 여부에 대한 자세한 내용을 알아보겠습니다.

www.ascentkorea.com

 

 

배포 단계 정리

https://ilpyoyang.tistory.com/150

 

Spring intializr(Gradle), IntelliJ, AWS EC2를 이용한 동적 웹페이지 만들기 - 9단계 Https 적용하기

0. Https의 필요성 웹 페이지가 어느 정도 만들어졌고, 보안을 위해서 기본적으로 https 통신이 가능하게 하기 위해 SSL 인증서를 발급받아야 한다. 기존에 이미 Route 53 서비스를 이용하고 있고, AWS

ilpyoyang.tistory.com

먼저 AWS에 계정이 없으면 가입하고 로그인한다.

그리고 위의 참고한 사이트를 보고 인증서를 요청했다.

 

 

인증서 상태가 검증 대기 중으로 뜨고 시간이 한참 지났는데 검증메일이 안 와서 찾아보다가

배포 순서가 맞지 않는다는 걸 알았다.

인증서를 삭제하고 아래와 같은 방법으로 다시 시도했다.

https://wooono.tistory.com/159

 

[AWS Route 53] HTTPS 통신을 위한 SSL 인증서 발급하기 (Route 53, Certificate Manager, Load Balancer)

HTTPS를 사용하려면 SSL/TLS 인증서가 필요하다. SSL/TLS 인증서는 인터넷 같이 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해준다. SSL/T

wooono.tistory.com

 

 

1. 도메인 등록

AWS 검색창에 Route 53을 검색하고 도메인 > 등록된 도메인 > 도메인 등록을 누른다.

아니면 아래 사진처럼 도메인 등록을 시작해도 된다.

도메인 등록하기 전 도메인을 검색해야 하는데 TLD를 확인하고 검색한다.

검색하고 나면 아래 사진처럼 나오고 맘에 드는 도메인을 확인하고 선택을 한다.

이번에는 Trello를 만드는 프로젝트여서 trelloteam.com으로 검색했고 다행히 아무도 안 쓰는 도메인이어서 

검색결과에 사용해도 된다는 선택 표시가 있어 바로 선택했다.

선택하면 도메인 결제를 진행하라고 나오고 결제를 바로 진행했다.

도메인 만들고 20분 ~ 30분 정도 기다렸다.

기다리는 시간 동안에는 검증하라는 이메일이 와서 검증하고

중간에 새로고침도 자주 했다.

이메일 인증하고 한 15분 정도 지났고 등록됐다는 메일이 왔다.

 

2. 호스팅 영역 생성하기

등록 후에는 호스팅 영역을 생성해야 한다.

생성 버튼을 누르면 아래와 같이 구성하는 설정이 나온다.

도메인 이름과 유형을 설정하고 생성 버튼을 누른다. 

 

 

생성하고 나서 이름 영역에 있는 호스팅 이름을 누르면 세부정보에 들어갈 수 있다.

 

3. 레코드 생성하기

레코드 생성 버튼을 누른다.

 

별칭을 선택하고 레코드 유형을 확인한다.

라우팅 대상에서 서울까지 체크하고 나면 로드 밸런서 선택을 눌렀을 때 자동으로 뜨는 로드 밸런서를 선택해 준다.

그리고 레코드 생성을 한다. 

 

4. 인증서 요청하기

 

처음에 만들었던 인증서를 삭제했으므로 인증서 요청을 다시 했고 과정은 다음과 같다.

 

 마지막에 요청 버튼을 눌러주면 인증서가 생성된다.

 

5. 인스턴스와 로드 밸런서 생성하기

5-1. 인스턴스 생성하기

 

다시 EC2로 이동해서 인스턴스도 생성하고 로드 밸런서도 생성해야 한다.

위치는 다음과 같다.

 

인스턴스 시작을 눌러준다.

이름을 적어주고 

우분투로 설정한 후 

새 키 페어를 생성해 줬다.

이렇게까지 하고 인스턴스 시작을 눌러준다.

 

그럼 이렇게 생성이 된다.

 

5-2. 로드 밸런서 생성하기

로드 밸런서는 다음과 같은 과정으로 생성했다.

로드 밸런서 이름을 지정해 준다.

위의 4가지 전부 체크해 준다.

보안 그룹은 인스턴스 생성에서 확인할 수 있는데 

인스턴스 > 인스턴스 ID > 인스턴스 세부 정보 옆에 보안 탭에서 보안 그룹을 확인할 수 있다.

 

리스너는 HTTP, 80 포트 확인하고 대상그룹을 선택해 준다.

그리고 HTTPS로 배포하기 때문에 리스터 추가로 HTTPS 프로토콜도 추가했다.

추가하면 포트는 자동으로 443으로 설정된다.

그다음 로드 밸런서 생성을 눌러준다.

 

로드 밸런서까지 잘 만들어졌다.

팀원들이 많이 도와줘서 큰 에러 없이 배포단계를 잘 마무리했다.

역시 팀 프로젝트는 팀원들과 협력해서 한다는 걸 다시 한번 느꼈다.

 

 

참고한 사이트

https://velog.io/@songyuheon/AWS-EC2%EC%97%90-HTTPS%EB%A5%BC-%EC%A0%81%EC%9A%A9

 

AWS EC2 HTTPS

이미지를 참고하여 전체 구현 흐름을 파악한다.와이어 프레임 이미지클라이언트가 브라우저를 통해 도메인 주소로 요청을 할 때, DNS 서버가 이 요청을 Amazon Route 53으로 전달한다. Route 53은 요청

velog.io

https://bosungtea9416.tistory.com/entry/AWS-CloudFront%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-HTTPS-%EC%A0%81%EC%9A%A9

 

[AWS] CloudFront를 이용한 HTTPS 적용

이전에 CloudFront 서비스에 대하여 다뤘었다. CloudFront의 기능 중 하나인 HTTPS 구현에 관련하여 다뤄보려 한다. CloudFront의 HTTPS 기능을 활용하면 뒷단의 서버에 SSL 인증서 관련 작업도 필요 없어진다

bosungtea9416.tistory.com