🌐Cloud, Infra/IaC & Automation

[Terraform & Route 53] 클라우드 인프라 구축 - 1일 차 : 내 도메인에 인증서 붙이기

hy0sk 2026. 6. 24. 14:29

 

이번에는 제 이름이 들어간 홈페이지 이름을 사고 그 홈페이지를 aws와 연동해서 https로 접속해보겠습니다. 

 

 

 

1. 도메인 연동 및 인증서 발급

 

 

우선 인프라를 다시 세워줍니다.

 

 

 

 

그리고 git 푸시 명령으로 도커 이미지를 채워줍니다.

 

 

 

 

새롭게 domain.tf 파일을 만들어줍니다. 여기에는 Route53에 제 호스팅 영역을 생성하고 aws가 할당한 네임 서버 4개의 주소를 출력해주는 코드를 넣습니다.

 

 

 

 

실행해주니 주소 4개가 나왔습니다.

 

 

 

 

제 이름의 주소는 가비아에서 미리 사놨습니다. (무려 2700원,,,) 이 주소의 네임서버 설정에 들어갑니다.

 

처음에 3차까지 있는데 추가로 4개를 만들어준 후에 아까 나온 주소 4개를 순서대로 넣어줍니다.

 

 

 

 

이제 도메인에 인증서를 걸어서 https 접속과 로드밸런서와 제 주소를 연결해주는 코드를 넣어줍니다.

 

 

 

 

alb 코드에 443포트에서 오는 연결도 허용하도록 코드를 넣어줍니다.

 

 

 

 

에러가 떴는데 코드에 중복이 있는 것 같습니다. 그래서 코드 정리를 해야겠다는 생각이 들었습니다.

코드를 분야 별로 나눠서 정리를 해준 후에 destroy, apply 해줬습니다.

 

 

 

 

근데 인증해주는 게 19분이 걸려서 뭔가 이상하다싶었습니다. 근데 알고 보니 Route53을 지우고 다시 생성하면 네임 서버 4개를 다르게 지급해준다는 것을 알게됐습니다,,

 

 

 

 

그래서 ctrl + c로 강제 종료를 해주고 terraform output name_servers 명령으로 주소를 가져왔습니다. (강종해도 인프라는 만들어짐)

 

 

 

 

네임 서버 4개를 다시 연결하니 제 이름이 도메인인 홈페이지가 만들어졌습니다.!

 

 

 

 

전에 만들었던 디스코드 알림 봇도 작동했습니다 ㅎㅎ 이건 나중에 혼자 알림을 바꿔봐야겠습니다.

 

 

 

2. 코드 분리

 

근데 앞으로 인프라를 부수고 다시 만들고 반복할 텐데 그때마다 휴대폰 인증하고 네임서버 연결하는게 너무 귀찮을 거 같았습니다.

그래서 방법을 생각해봤는데 인프라를 만드는 (돈이 나오는) 폴더를 따로 만들어서 그 폴더만 부숴주면 되겠다는 생각을 했습니다.

 

 

 

 

제가 작업하던 폴더에 새 폴더를 만들어줍니다. 이름은 app-infra입니다. 그 안에 alb, ecs, iam 이렇게 돈이 나갈 위험이 있는 코드들을 넣어줍니다.

 

 

 

 

작업 폴더에서 받은 인증서 정보를 새 폴더가 가져갈 수 있게 코드를 넣어줍니다. 그리고 apply로 tfstate에 기록해둡니다.

 

 

 

 

새 폴더 안에 main.tf 파일을 새로 만들어줍니다. 작업 폴더의 tfstate를 통해 정보를 받아올 수 있게 됐습니다.

 

 

 

 

그리고 alb 파일에 인증서를 받아올 때 aws에서 받는 코드였는데 이것을 domain.tf에서 받아오고 그걸 사용하도록 바꿔줍니다.

 

 

 

 

실행했을 때 작동이 잘 되는 것을 확인해줬습니다. 작업 폴더에서 새폴더로 이동한 인프라들도 나옵니다. 올린 내용 외에도 따로 코드만 옮긴 것도 있고 시간을 좀 썼습니다. 하하

 

다음에는 로그인 기능이랑 게시물 작성 기능도 넣어볼까 합니다.