AWS에서는 보안을 위한 다양한 암호화 옵션을 제공하고 있으며, 그 중에서도 자주 혼동되는 두 가지 서비스가 ACM(AWS Certificate Manager)과 KMS(AWS Key Management Service)이다. 이 글에서는 이 두 서비스의 차이점과 사용 목적을 정리한다.

ACM은 SSL/TLS 인증서를 생성, 관리, 배포할 수 있도록 지원하는 AWS의 관리형 서비스이다. 인증서는 웹 사이트나 애플리케이션 간의 전송 중 데이터 암호화(HTTPS)를 위해 사용된다.

KMS는 AWS 리소스에 저장된 유휴 데이터(at rest)를 암호화하는 데 사용되는 서비스이다. 대칭 및 비대칭 키를 생성하고, 다양한 AWS 서비스(RDS, S3, EBS 등)와 통합하여 사용한다.
| 항목 | ACM | KMS |
|---|---|---|
| 목적 | 전송 중 암호화 (HTTPS) | 저장 중 암호화 (At rest) |
| 대상 서비스 | ELB, CloudFront, API Gateway 등 | RDS, S3, EBS, DynamoDB 등 |
| 암호화 방식 | SSL/TLS 인증서 기반 | AWS KMS 키 기반 AES-256 |
| 키 관리 | AWS에서 인증서 자동 관리 | 사용자가 키 직접 생성/관리 가능 (CMK) |
| 적용 방식 | HTTPS 엔드포인트 설정 | 저장 리소스 생성 시 암호화 지정 |
| 비용 | 대부분 무료 (인증서 비용 없음) | 기본 CMK 무료, 사용자 정의 CMK 과금 있음 |
| 데이터 유형 | 전송되는 데이터 보호 | 저장된 데이터 보호 |
"RDS를 사용하는 EC2 애플리케이션이 있으며, 개인정보(PII)는 유휴 상태에서 반드시 암호화되어야 한다. 인프라의 변경은 최소화해야 한다."
이 경우에는 KMS를 이용한 RDS 암호화가 정답이다. 이유는 다음과 같다: