본문으로 건너뛰기

AWS Certificate Manager

· 약 7분
Young Sam Noh
Backend Developer

1 AWS Certificate Manager (ACM)

  • AWS Certificate Manager (ACM)은 AWS에서 SSL/TLS 인증서를 쉽게 프로비저닝, 관리 및 배포할 수 있게 해주는 서비스입니다.
  • ACM은 인증서의 복잡한 수명 주기를 자동화하여 웹 애플리케이션과 사이트의 보안을 강화합니다.
  • 이를 통해 사용자는 인증서 발급, 갱신, 배포 등을 간편하게 처리할 수 있습니다.

2 주요 기능

2.1 인증서 프로비저닝

  • ACM은 퍼블릭 및 프라이빗 SSL/TLS 인증서를 무료로 제공하며, 몇 번의 클릭만으로 인증서를 요청하고 프로비저닝할 수 있습니다.
  • 퍼블릭 인증서는 Amazon이 인증 기관(CA)으로부터 발급받아 제공합니다.

2.2 자동 갱신

  • ACM은 만료 전에 자동으로 인증서를 갱신하여 인증서 관리의 복잡성을 줄이고 보안을 유지합니다.
  • 이는 운영 중단 없이 자동으로 처리됩니다.
  • ACM에서 발급된 인증서가 아닌 외부 CA 인증서를 사용할 경우, 자동 갱신 기능이 지원되지 않으므로 수동으로 갱신해야 합니다.

2.3 원클릭 배포

  • ACM 인증서는 AWS의 여러 서비스와 통합되어 원클릭으로 배포할 수 있습니다.
  • 예를 들어, Amazon CloudFront, Elastic Load Balancing (ELB), Amazon API Gateway, AWS Elastic Beanstalk 등에 쉽게 배포할 수 있습니다.

2.4 관리 및 모니터링

  • AWS Management Console, CLI, SDK를 통해 인증서를 쉽게 관리하고 모니터링할 수 있습니다.
  • ACM은 인증서 상태, 갱신 일자, 배포 상태 등을 모니터링할 수 있는 도구를 제공합니다.

3 사용 사례

3.1 웹 애플리케이션 보안

  • ACM을 사용하여 웹 애플리케이션의 트래픽을 SSL/TLS로 암호화함으로써 데이터 전송 중 보안을 강화할 수 있습니다.
  • 이를 통해 사용자의 개인 정보와 데이터를 보호할 수 있습니다.

3.2 API 보안

  • ACM은 API Gateway와 통합되어 API 호출을 암호화하고 안전하게 보호할 수 있습니다.
  • 이를 통해 API 엔드포인트와 클라이언트 간의 안전한 통신을 보장합니다.

3.3 멀티 도메인 및 와일드카드 인증서

  • ACM은 멀티 도메인 인증서와 와일드카드 인증서를 지원하여 여러 도메인과 서브도메인을 하나의 인증서로 보호할 수 있습니다.
  • 이를 통해 인증서 관리의 복잡성을 줄이고 비용을 절감할 수 있습니다.

4 Route 53에서 구매한 도메인에 대한 ACM 설정 가이드

4.1 인증서 요청

  1. AWS Management Console에 로그인합니다.
  2. ACM 서비스를 선택합니다.
  3. "Request a certificate"를 클릭합니다.
  4. 도메인 이름 입력 시 주의사항:
    • 메인 도메인(예: example.com)을 입력합니다.
    • "Add another name to this certificate"를 클릭하여 서브도메인을 추가합니다.
    • 와일드카드 서브도메인을 포함하려면 *.example.com을 추가합니다.
  5. 검증 방법으로 "DNS validation"을 선택합니다. (Route 53과 통합되어 있어 자동으로 처리됩니다)
  6. 요청을 제출합니다.

4.2 도메인 검증

  • Route 53을 사용중이므로, ACM이 자동으로 필요한 DNS 레코드를 추가하여 도메인 소유권을 검증합니다.
  • 검증이 완료되면 인증서가 발급됩니다.

4.3 인증서 배포

  1. AWS 서비스 (예: ELB, CloudFront)에서 리소스를 선택합니다.
  2. 리소스의 보안 설정에서 방금 발급받은 ACM 인증서를 선택합니다.
  3. 변경 사항을 저장하여 인증서를 적용합니다.

4.4 서브도메인 설정

  • 서브도메인을 사용하려면 Route 53에서 해당 서브도메인에 대한 A 레코드 또는 CNAME 레코드를 생성해야 합니다.
  • 예를 들어, blog.example.com을 설정하려면:
    1. Route 53 콘솔에서 해당 호스팅 영역으로 이동합니다.
    2. "Create Record" 버튼을 클릭합니다.
    3. Record name에 "blog"를 입력합니다.
    4. Record type은 A - Routes traffic to an IPv4 address and some AWS resources를 선택합니다.
    5. Value/Route traffic to에서 적절한 옵션(예: Alias to Application and Classic Load Balancer)을 선택하고 리소스를 지정합니다.
    6. "Create records" 버튼을 클릭하여 레코드를 생성합니다.

5 주의사항 및 팁

  • 와일드카드 인증서(*.example.com)는 한 단계의 서브도메인만 커버합니다.
    • 예를 들어, *.example.com은 blog.example.com은 커버하지만 dev.blog.example.com은 커버하지 않습니다.
  • 여러 단계의 서브도메인을 커버해야 한다면, 각각의 서브도메인을 인증서 요청 시 명시적으로 추가해야 합니다.
  • ACM에서 발급한 인증서는 자동으로 갱신되므로, 만료에 대해 걱정할 필요가 없습니다.
  • 인증서 발급 후 실제 서비스에 적용하는 데에는 약간의 시간이 걸릴 수 있으므로, 배포 후 잠시 기다려야 할 수 있습니다.

참고 자료