메뉴 닫기

[Tech]EC2에 외부인증서 수동으로 등록하는 방법

안녕하세요.

이번시간에는 EC2서버에 수동으로 외부인증서 등록하는 방법에대해서 간단히 알아보도록 하겠습니다.

HTTPS가 필수적인 환경에서 SSL 인증서 없이 테스트가 막히는 경우가 많습니다. 이 글에서는 Certbot을 사용하여 SSL 인증서를 발급받고, AWS 환경(ALB, ACM, Route53)을 통해 HTTPS 환경을 빠르게 구성하는 방법을 소개합니다.

 


1. Certbot 설치

먼저 Certbot을 설치합니다:

sudo apt install certbot

2. Certbot을 사용하여 SSL 인증서 발급

2.1 웹 서버 없이 인증받는 방법

Nginx나 Apache 없이, Certbot이 자체적으로 임시 웹 서버를 띄워 인증을 수행합니다. 다음 명령어를 사용합니다:

sudo certbot certonly --standalone -d your_domain
  • -d 뒤에 본인의 도메인을 입력합니다.
  • Certbot은 80번 포트를 사용하므로, 해당 포트를 사용하는 프로세스가 없어야 인증이 정상 작동합니다.

위 명령어를 사용하여 SSL 인증서를 발급받는 과정을 보여주는 예시입니다.

인증 후 발급되는 인증서 경로는 다음과 같습니다:

  • 인증서: /etc/letsencrypt/live/your_domain/fullchain.pem
  • 개인 키: /etc/letsencrypt/live/your_domain/privkey.pem

파일 확인은 다음 명령어로 가능합니다:

sudo ls /etc/letsencrypt/live/
sudo cat /etc/letsencrypt/live/your_domain/fullchain.pem

3. 인증서를 AWS ACM에 등록

인증서를 발급받았으면 AWS Certificate Manager(ACM)에 수동으로 업로드합니다.

  • 인증서 본문 (Certificate body): cert.pem (또는 fullchain.pem)
  • 인증서 개인 키 (Private key): privkey.pem
  • 인증서 체인 (Certificate chain): fullchain.pem (체인이 포함된 전체 인증서)

 


4. Application Load Balancer(ALB) 생성

HTTPS를 적용하기 위해 ALB를 생성합니다.

ALB 생성을 위한 기본 설정 화면입니다. 로드 밸런서 이름, 네트워크 타입, 가용영역 등을 지정합니다.

 

  • 퍼블릭 서브넷을 두 개 선택합니다 (가용영역을 다르게 설정).
  • 리스너 설정에서 HTTP(80), HTTPS(443)를 추가합니다.


ALB 리스너 설정 화면으로, HTTP와 HTTPS 리스너를 동시에 설정하는 장면을 보여줍니다.


5. ACM 인증서 연결

보안 리스너(HTTPS 443)에 아까 ACM에 등록한 인증서를 연결합니다.

HTTPS 리스너 설정에서 ACM에서 등록한 인증서를 연결하는 화면입니다.


6. Route 53 도메인 연결

Route 53에서 도메인을 ALB에 연결합니다.

  • Route53의 Hosted Zone으로 이동하여 레코드를 생성합니다.
  • 레코드 이름을 입력하고, CNAME 또는 Alias 설정에서 ALB의 DNS 이름을 입력합니다.


Route 53에서 새 레코드를 만들고, 도메인을 ALB로 연결하는 과정의 예시입니다.


7. 테스트

모든 설정이 완료되면, 브라우저에서 도메인 접속 시 HTTPS로 접속되는지 확인합니다.

해당 dns 접속시 잘작동하는걸 확인
브라우저에서 해당 도메인을 HTTPS로 접속하여 정상 작동하는 모습을 캡처한 이미지입니다.


감사합니다.