AWS/Route53

Route53 도메인 등록 & ACM인증서 발급

BigCo 2023. 3. 20. 23:14

안녕하세요 :)

오늘은 전 시간에 EC2 인스턴스와 ALB설정에 이어서

Route53에 도메인을 등록시켜서 HTTPS접속을 위한 ACM 인증서 발급까지 진행할 겁니다.

 

순서

1. Route53 도메인 등록

2. ACM 인증서 발급

3. ALB 리스너 설정

4.오류

 

 

 

1.Route53 도메인 등록

우선 저는 전에 가비아에서 구매했던 도메인을 사용하여 진행하겠습니다.

1-1

사용할 도메인을 등록하기 위하여 Route53서비스에 호스팅 영역 생성을 클릭해 줍니다.

 

 

1-2

도메인 이름은 자신이 구매한 도메인 주소를 넣어줍니다.

퍼블릭 호스팅 영역은 우리가 브라우저에서 도메인으로 접속해서 사용하는 일반적인 도메인 입니다.

이렇게 호스팅 영역 생성을 해줍니다.

 

 

1-3

▶ NS는 네임서버타입으로 4개의 네임서버가 있습니다. 4개인 이유는 네임서버가 죽으면 서비스도 같이 다운되서

AWS에서 4개를 지정해줍니다. 이 네임서버를 통해 사용자가 요청을 했을 때 IP 정보를 반환해줍니다.

▶ SOA는 권한 시작 레코드는 도메인에 대한 기본 DNS 정보를 식별합니다.

 

 

NS레코드의 4개의 주소를 가비아에서 구매한 도메인의 NS에 등록을 해줘야 합니다.

1-4
1-5

가비아 도메인 관리로 들어가 Route53의 NS레코드 4개를 등록시켜 줍니다.

 

 

1-6
1-7

레코드 이름은 트래픽을 라우팅하려는 도메인 또는 하위 도메인의 이름을 입력합니다

레코드 유형은 A레코드로 별칭을 사용하여 ALB의 DNS주소와 매핑시켜 줍니다.

 

 

 

1-8

아직 ACM인증서를 발급받지 않아서 HTTPS접근은 안되서 HTTP로 접근한 상태입니다.

 

 

 

2. ACM 인증서 발급

2-1
2-2
2-3

이제 HTTPS로 접근하기 위해 ACM인증서를 발급 받겠습니다.

완전히 정규화된 도메인 이름에는 자신이 구매한 도메인 네임을 작성해줍니다.

 

검증방법으로는 DNS검증을 선택하여 줍니다

DNS검증은 사용자가 사용하려는 도인 CNAME 도메인 데이터베이스에 보유하고 있어야 합니다. 

예를들어 ABC.com 도메인과, www.ABC.com  도메인 2개에 대해 ACM인증서를 요청하면, ACM은 이 2개의 도메인에

대해 가각 2개의 CNAME레코드를 생성해줍니다. 이 각각의 CNAME레코드는 유일한 key-value값으로 사용자의 도메인에 

대한 소유권을 증명해줍니다.

 

 

 

2-4

이렇게 인증서를 요청하고 나면 상태 부분이 "검증 대기중" 이라고 표시됩니다.

 

 

2-5
2-6
2-7

ACM이 DNS검증 방식으로 이 도메인에 대한 인증서를 발급하기 위해선, 해당 CNAME 레코드는 도메인 데이터베이스, 저 같은 경우에는 Route53에 등록되어있어야 합니다.

 

 

2-8

이렇게 ACM인증서 발급이 끝났습니다.

 

 

 

 

3. ALB 리스너 설정

ACM인증서를 발급 받았다고 바로 HTTPS로 접근이 되는거 아닙니다.

HTTPS로 접근하기 위해서는 ALB의 리스너 설정을 해줘야 하는데

ALB의 리스너 설정에는 대표적으로 포워드, 리다이렉션이 있습니다.

이 개념에 대해서 정확하게 이해를 못해 리스너 설정을 할 때 마다 오류가 나서 이번기회에 정리를 해보려고 합니다.

 

 

▶리스너는 프로토콜과 포트를 기반으로 요청을 받아 검사하고 이를 적절한 타겟으로 전달하는 기능을 수행한다.

3-1
3-2
3-3

위에서 말했듯이 리스너는 요청을 받아 검사하고 타겟그룹에 열결되어 있는 곳으로 전달되는 기능을 수행합니다.

그래서 우리는 HTTPS로 접속하기 위해서 HTTP 80포트는 HTTPS 443포트로 리다이렉션을 해줘야 합니다.

그리고 HTTPS 443으로 들어온 트래픽을 타겟그룹에 연결되어 있는 서버로 포워드, 즉 뿌려줘야 합니다.

 

쉽게말해서 HTTP로 접근을하면 HTTPS로 다시접속하라고 지시하고 HTTPS로 들어온 트래픽은  ALB의 타겟그룹으로

포워드 해주는 겁니다. 이 때 HTTPS로 접속하기 위해서 ACM인증서가 필요한겁니다.

 

 

 

3-4

이렇게 리스너 까지 설정하면 Route53에 등록한 DNS로 접근이 가능합니다!

 

 

 

 

4.오류

오늘도 인스턴스를 중지시켰다가 다시 켰는데 어제 만들어 놓은 DNS로 접근이 안됩니다.

 

4-1

혹시나 IP가 바꼈을까 SG도 변경해봤는데 여전히 502에러가 뜹니다.

 

 

 

4-2

ALB의 DNS주소로도 접근이 안되서 대상그룹을 확인해보니 언헬시가 떠있습니다.

찾아봤더니 인스턴스를 껏다가 키면 해당 서버가 다시 로드가 안될때가 있다고 합니다.

그래서 한번 확인해 보기로 했습니다.

 

 

 

4-3

저는 EC2에 nginx를 사용중인데 상태를보니 nginx가 죽어있습니다.

 

 

4-3
4-4

그래서 해당 명령어를 사용하여 nginx를 다시 활성화 시켜줬습니다.

 

 

4-5

다행히 문제없시 다시 활성화가 됐습니다. 

systemctl status nginx

sudo systemctl enable nginx

sudo systemctl restart nginx

systemctl status nginx

 

 

 

4-6

타켓그룹도 처음에는 둘 다 unhealthy가 떴었는데 정상적으로 Healthy가 뜨네요!

 

 

 

4-6

그리고 해당 웹페이지로도 정상적으로 접근이 가능해졌습니다.

 

 

 

오늘의 느낀점은 서비스를 만들고 구동만 시켰다고 끝이 아니라는걸 느꼈습니다.

저번 OpenVPN때도 그랬지만 서비스를 중지시켰다가 다시 가동시키면 꼭 오류가 나더라구요.

이번 오류도 잡는데 한세월 걸렸지만 EC2를 껏다가 다시 시작하면 이런 오류도 날 수 있고 해결방법까지 터득할 수 있었습니다 :)

 

 

 

참고자료

더보기

https://velog.io/@yange/AWS-Route-53%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

 

AWS Route 53

AWS 기능에 대해서 공부하면서 정리하자노란 박스 부분이 네임서버 AWS Route 53이다.AWS에서 제공하는 DNS 서버이다.DNS(Domain Name Server)는 Domain name(www.naver.com)을 IP 주소로 바꾸어주는 서비스이다.이런

velog.io

 

https://www.lesstif.com/system-admin/systemd-system-daemon-systemctl-24445064.html

 

systemd(system daemon) 을 관리하는 systemctl 명령어 사용법

 

www.lesstif.com

https://dev.classmethod.jp/articles/route53-acm-free-domain-https-certification/

 

Route53 + ACM을 이용하여 무료 도메인과 HTTPS SSL 인증서 설정해보기 | DevelopersIO

안녕하세요! 클래스메소드 신입 엔지니어 정하은입니다🐣 여러모로 일이 겹쳐 오랫동안 블로그를 쓰지 못했었는데, 드디어 묵히고 묵히던 글을 공개할 수 있어 눈물이 앞을 가리네요ㅠㅠ 이제

dev.classmethod.jp

https://velog.io/@pongdang/AWS%EC%97%90%EA%B2%8C-%EC%A1%B0%EC%A0%B8%EC%A7%80%EA%B8%B0-5-AWS-Certificate-Manage

 

AWS에게 조져지기 (5) - AWS Certificate Manage으로 인증서 발급하기

AWS Certificate Manager로 인증서를 발급하는 방법을 정리해보았습니다. +SSL, TLS

velog.io

https://repost.aws/ko/knowledge-center/route-53-create-alias-records

 

AWS에서 호스팅되는 서비스에 대한 별칭 레코드 생성 | AWS re:Post

AWS에서 호스팅되는 서비스에 대한 사용자 지정 DNS 레코드를 생성하고 있습니다. 어떤 유형의 별칭 레코드를 사용해야 합니까?

repost.aws