HTTPS, Let's Encrypt vs AWS Certificate Manager
What's Different?
진행중인 프로젝트에 선배포를 진행하기로 하였다.
작업 상황을 실시간으로 확인하고 싶었기에 개발보다 인프라를 먼저 구축하기로 결정했다.
제일 먼저, DNS 주소를 싸게 구입했고(가비아에서 구입. AWS Route 53에서 구입할 수도 있다) , 이후 HTTPS를 적용하여야 했다.
왜냐하면 실제로 웹을 오픈해서 계속 운영해나갈 계획이기에 HTTPS를 사용하여 신뢰성이 보장되고, 데이터 전달간에 안전성을 확보하기 위해서이다.
이전에 진행한 팀프로젝트에서는 AWS Route 53, AWS Certificate Manager을 통해 HTTPS 설정을 진행했었다. 그때는 굉장히 AWS에 의존적인 개발이었다. EC2는 물론이고 CloudFront, RDS, Lambda, S3 등 다양한 설정들을 AWS에서 진행하고 있었기에 약간 아무 생각없이 HTTPS 설정도 AWS에서 진행했었다. 하지만 단점이 존재했었다. 우선 Route 53을 사용함으로써 호스팅존을 설정할때 비용이 소액 발생하였고(아마 몇천원), 쿼리 100만 건 당 금액을 부과하는 식이였다. 하지만 당시에 이와 같은 이슈들에도 불구하고 적용한 이유는 이미 AWS에서 동작중인 작업들이 많았고, 그렇기에 HTTPS도 AWS에서 진행을 하면 호환성이 좋을 것이라 판단했고, 실제 운영하는 프로젝트가 아닌 사이드 프로젝트였기에 쿼리가 100만건 이상 나오지 않을 것이라 판단했었다.
하지만 이번 프로젝트에서는 실제로 운영하는 서비스이긴 하지만, 단순한 프로젝트이기도 하고 빠르고 안전한 선배포가 중요했기에 간단하고 무료인 Let's Encrypt를 사용해서 HTTPS를 설정하기로 결정했다. (나중에 HTTPS 설정을 AWS로 바꾼다고 해도 큰 무리 없이 변경할 수 있을 것이라 판단한 점도 있다.)
Let's Encrypt를 통한 HTTPS 설정은 찾아본 적도, 해본 적도 없기에 AWS를 통해 하는 것과 차이가 무엇인지 궁금증이 들었다.

우선 둘 모두 무료 인증서이다. 주로 은행이나 금전적인 부분이 걸린 서비스들이 유료 인증서를 사용한다고 한다.
차이점은 직접 그려봤다.

나만의 결론을 내려보자면, 소규모 프로젝트이고 적은 비용으로 진행하고 싶다면 Let's Encrypt를 사용하는 것이 더 나을 것 같고 AWS 의 여러 기능들을 사용하고 있고, 추후 트래픽 증가로 인한 확장이 고려된다면 ACM을 사용해서 구축하는 방법이 추후 관리에 편할 것 같다는 생각이다.
참고하면 좋은 사이트 :
https://stackshare.io/stackups/aws-certificate-manager-vs-lets-encrypt
'Infra' 카테고리의 다른 글
Docker 기본 개념 (0) | 2024.04.24 |
---|