← 아티클 목록

ACM 인증서 갱신 — 클라우드 TLS 관리 한눈에

2027-12-20#cloud#ACM#보안

HTTPS 사이트가 어느 날 갑자기 "인증서가 만료되었습니다" 경고를 띄웁니다. 분명 ACM(AWS Certificate Manager)은 자동 갱신을 해준다고 했는데 왜 만료됐을까요. ACM은 무료로 TLS 인증서를 발급·관리하고 만료 전 자동 갱신까지 해주지만, 자동 갱신에는 조건이 있습니다. 그 조건이 깨지면 갱신이 조용히 실패하고, 만료 시점에야 문제가 드러납니다.

검증 방식이 갱신을 가른다

ACM 인증서는 도메인 소유권을 검증해야 발급·갱신됩니다. 검증 방식이 곧 자동 갱신 가능 여부를 결정합니다.

검증 방식자동 갱신주의점
DNS 검증가능(권장)검증용 CNAME 레코드를 지우면 갱신 실패
이메일 검증사실상 수동매번 승인 메일 클릭 필요, 운영 부적합

핵심은 DNS 검증을 쓰고 검증용 CNAME을 지우지 않는 것입니다. ACM은 갱신 시점에 그 CNAME으로 소유권을 다시 확인합니다. 레코드가 사라지면 갱신이 멈춥니다.

자동 갱신의 숨은 전제

DNS 검증을 썼더라도 인증서가 실제로 어딘가에 연결(in-use) 되어 있어야 ACM이 적극적으로 갱신합니다. ELB·CloudFront 등에 붙지 않은 인증서는 갱신 대상에서 빠질 수 있습니다. 또한 ACM 발급 인증서는 ACM과 통합된 서비스(ELB, CloudFront, API Gateway)에서만 쓸 수 있고, EC2에 직접 파일로 내려받아 설치할 수는 없습니다.

점검과 조치 순서

  1. 상태와 만료일 확인 — 어떤 인증서가 언제 만료되는지부터 봅니다.
로컬 터미널
aws acm list-certificates --certificate-statuses ISSUED
aws acm describe-certificate --certificate-arn <ARN> \
  --query 'Certificate.[DomainName,NotAfter,RenewalEligibility,InUseBy]'

RenewalEligibilityINELIGIBLE이면 자동 갱신 대상이 아니라는 뜻이라 1순위로 봅니다.

  1. DNS 검증 레코드 점검 — 발급 시 추가한 CNAME이 여전히 존재하는지 확인합니다. Route 53이라면 호스팅 영역에서 _xxxx.도메인 형태의 CNAME을 찾습니다.
로컬 터미널
aws acm describe-certificate --certificate-arn <ARN> \
  --query 'Certificate.DomainValidationOptions[].ResourceRecord'
  1. 연결 상태 확인InUseBy가 비어 있으면 ELB·CloudFront에 연결되어 있는지 점검합니다.

  2. 막혔으면 재발급 — 갱신이 끝내 안 되면 새 인증서를 발급해 리스너에 교체합니다. 새 ARN으로 바꾸면 다운타임 없이 전환됩니다.

요점 정리

  • ACM 자동 갱신은 만능이 아니다. DNS 검증 + 검증 CNAME 유지 + 인증서 연결 세 조건이 필요하다.
  • 이메일 검증은 운영에 부적합하니 DNS 검증을 쓴다.
  • RenewalEligibilityInUseBy를 먼저 확인하면 원인을 빠르게 좁힐 수 있다.
  • ACM 인증서는 ELB·CloudFront 등 통합 서비스용이며 EC2에 직접 설치할 수 없다.

ACM 인증서를 발급하고 DNS 검증·로드밸런서 연결을 직접 구성하는 실습은 클라우드 트랙에서 회원가입 없이 무료로 할 수 있습니다.