기술 단어장/Cloud

[AWS] EC2 https 등록 (with Certificate Manger, Lode Balancer)

MFDO 2024. 1. 28. 17:24

 

 

이번에 가비아를 통해

아래 도메인을 하나 구입했다.

 

http://mfdo.site/

 

Route53을 통해 EC2에 해당 도메인을 연결해주었고

오늘은 https 등록을 해보고자 한다.

 

현재 아래 과정을 통해 EC2에 연결해준 상태이다.

1) 가비아에서 도메인구입

2) EC2 하나 띄우기

3) 탄력적 IP 생성 및 지정

4) Route53에서 인스턴스 및 도메인 연결

5) 가비아 네임서버 및 DNS 설정 변경

 

(참고)

 

EC2와 도메인 연결하기

Route53은 AWS의 도메인 이름 시스템(DNS), 도메인 이름 등록, 상태 확인 웹 서비스이다. 📌 DNS : 도메인 이름을 IP 주소로 변환하여 도메인 이름을 브라우저에 입력할 때 사용자를 어느 서버에 연결

velog.io

 

 

오늘은 여기에 https 연결이 가능하도록 해볼 것이다.


진행과정

 

1) SSL/TLS 인증서 획득: 

HTTPS를 위한 SSL/TLS 인증서를 획득해야 한다. 

상업용은 인증 기관(Certificate Authority, CA)를 통해 구입하거나, 무료인 Let's Encrypt를 이용할 수 있다.

우리는 이 과정을 AWS의 "Certificate Manager"를 이용하고자 한다.

 


2) 개인 키 생성: 

SSL/TLS 인증서를 요청할 때 개인 키를 생성한다. 

서버에서 통신을 암호화하기 위해 개인 키가 사용될 것이다!

 

 

3) 웹 서버 설정: 

웹 서버(Apache, Nginx 등)를 설치하고 HTTPS를 활성화한다.

서버 구성 파일을 열어, SSL/TLS 인증서 파일과 개인 키 파일의 경로를 설정할 것이다.

추가적으로 SSL 프로토콜 및 암호화 알고리즘을 선택 할 수도 있겠다!

 

 

4) 보안 그룹 설정:

EC2 인스턴스의 보안 그룹 설정에서 포트 443(HTTPS)를 허용한다.

인/아웃바운드 HTTPS 트래픽이 EC2 인스턴스로 라우팅되도록 하자!

 

 

5) 도메인 구성:

도메인 이름으로 HTTPS 연결을 위해 DNS 설정을 재구성한다.

도메인 이름을 EC2 인스턴스의 공용 IP 주소에 매핑하고,

SSL/TLS 인증서의 일부로 도메인 이름을 추가할 것이다!

 

 

6) 웹 서버 재시작:

서버를 재시작해서 변경 사항이 적용되도록 하자!

 

 

7) 테스트:

브라우저로 HTTPS로 웹 서버에 연결하고, 인증서에 대한 경고나 오류가 없는지 확인해보자!

 

 

 


 

이번 방식은 Certificate Manger와 Lode Balancer를 이용하는 방식이다!

이후에 certbot을 통해 https 설정 또한 해 볼 예정이다!


 

진행과정

 

 

1. Certificate Manger 서비스에 접근해 "인증서 요청"버튼을 누르자

 

 

 

2. 도메인 이름만을 변경하고 완료 하였다.

알고리즘에서 PTSD가 살짝 오는데

이 차이는 따로 설명하도록 하겠다.

 

 

 

3. 생성을 완료하면 아래처럼 검증 대기 중이라는 표식이 뜬다.

Route53을 연결하고 대기하면 변경되지만

찔리는 데가 있어 3-1번의 과정을 거쳤다. 

 

 

3-1. 소유자 인증

나는 이전에 가비아에서 구매했기에 가비아로 이동한다.

DNS 설정에 보면 네임서버를 변경할 수 있을 텐데,

해당 페이지로 접근한다.

그렇다면 하단에서 소유자 인증을 할 수 있을 것이다.

 

인증이 완료되면 아래처럼 예쁜 뱃지가 생긴다.

 

 

 

 

4. Route53 연결

인증서 생성 창을 확인하면 아래처럼 Route 53 레코드 생성이 가능하다.

고민 없이 바로 생성!

도메인 상태 또한 성공으로 변경 되었다!

 

 

 

 

5. 로드 밸런서 생성

로드밸런서는 EC2 서비스 내부에서

좌측 탭을 통해 접근할 수 있다.

현재는 Application Load Balancer를 사용할 것이다!

각 차이는 이전에 정리한 포스팅을 참고하자!

 

[AWS] ELB(Elastic Load Balancer) - 요약지

Udemy의 AWS Certified Solutions Architect Associate 강의 중 Section8 까지 내용을 들었다. 강의링크 해당 내용을 요약지로 만들어 정리하였다. Section8. ELB.pdf drive.google.com

mfdo.tistory.com

 

 

6. 기본 구성 설정

 

 

7. 보안 그룹 설정

보안그룹은 현재 default로 해두었지만,

이후 443(https), 80(web) 포트에 대한 인바운드 규칙을 추가할 것이다.

 

 

8. 타겟 그룹 지정

두 리스너에 대한 대상 그룹을 지정할 것이다.

나는 없으니 새로 생성했다.

 

9. 타겟 그룹 생성

대상 그룹 이름만을 바꿨다.

 

선정할 인스턴스를 80와 443포트로 등록 후 생성 완료!@

 

 

10. 로드밸런서로 돌아와 리스너 지정

 

 

11. TLS/SSL 인증서 지정

우리가 만들었던 인증서를 등록해주자

로드밸런서 설정은 끝났다! 생성하도록 하자

 

 

12. Route53 으로가  A타입 레코드를 편집한다.

 

이렇게 설정이 끝나게 된다!

 

 


 

기존 EC2 IP로 접근하던 시절에서

https 설정까지 마친 시점의 차이이다.

 

 

 

 


 

전세계에 한 명쯤은 궁금할 삭제 과정

1) Route53에서 A타입 별칭설정 해제 후 값에 EC2 퍼블릭 IP넣어주기 (호스팅 유지시, 필요 없다면 그냥 삭제)

2) 로드밸런서 삭제

3) 타겟 그룹 삭제

4) 원한다면 EC2 종료

 

 

 

참고 자료

강민규님 블로그 -  https://kagrin97-blog.vercel.app/server/ec2-httpTohttps

개발남발님 블로그 - https://jindevelopetravel0919.tistory.com/192