시크릿매니저 Cost Explorer 비용 분석하기

by 멘토사피엔스

“Secrets Manager는 작게 시작해도, 조용히 비용 폭탄이 된다.”


많은 팀이 보안 강화를 위해 AWS Secrets Manager를 도입합니다. 초기에야 저장되는 Secret도 적고 호출 빈도도 낮기 때문에 비용에 무심해지기 쉽습니다. 하지만 시간이 흐르며 애플리케이션이 늘고, 자동화가 많아지고, 환경이 복잡해질수록 보이지 않게 API 호출이 누적되고, 비활성 Secret이 쌓이며, 매달 고정비용처럼 새어 나가는 돈이 커집니다.


이번 글에서는 AWS Cost Explorer를 통해 Secrets Manager의 사용 현황을 항목별로 분석하고, 어떤 방식으로 비용이 집중되며, 어떻게 실질적으로 90% 이상 절감한 사례를 설명합니다. 특히 비용을 발생시키는 주요 항목인 API 호출과 Secret 저장을 어떻게 진단하고 대응할 수 있는지를 실제 데이터와 함께 보여드릴 예정입니다.


Secrets Manager의 현재 비용 진단하기


AWS Secrets Manager를 효율적으로 사용하기 위해서는 현재 비용 구조를 정확히 진단하고, 비용이 집중되는 항목을 파악하는 것이 필수적입니다. Secrets Manager는 저장된 비밀의 수, API 호출 횟수, 자동 로테이션 설정 등에 따라 비용이 과금되므로, 이를 항목별로 구분해 분석해야 비용 절감 전략을 수립할 수 있습니다.

AWS Secrets Manager의 비용을 분석하려면 AWS Cost Explorer를 활용할 수 있습니다. 다음은 Secrets Manager 비용을 확인하고 분석하는 구체적인 방법입니다.


Cost Explorer 접속 방법


AWS Secrets Manager 비용 분석을 시작하려면, 먼저 AWS Management Console에 로그인합니다. 콘솔 상단의 검색창에 "Cost Explorer"를 입력하여 해당 서비스를 선택한 다음, "Cost Explorer 열기" 버튼을 클릭하여 비용 분석 도구에 진입합니다.


Group By 설정


비용 데이터를 효과적으로 분류하고 분석하려면 Group By 항목을 전략적으로 설정하는 것이 중요합니다. Secrets Manager 관련 비용을 파악할 때는 다음 기준들을 활용하는 것이 특히 효과적입니다.


UsageType (사용 유형): 이 설정을 통해 Secrets Manager의 다양한 과금 요소별로 비용 항목을 명확하게 구분할 수 있습니다. 예를 들어, Secret 저장 비용과 API 호출 비용을 명확히 분리하여 볼 수 있습니다. 이를 통해 어떤 사용 패턴이 전체 Secrets Manager 비용에서 가장 큰 비중을 차지하는지 한눈에 파악하여 최적화의 우선순위를 정할 수 있습니다.

Resource ID (리소스 ID): Resource ID를 기준으로 그룹핑하면 각 Secret의 특정 Secret ID(이름)별로 발생하는 개별 비용을 상세히 확인할 수 있습니다. 이를 통해 "어떤 Secret이 가장 많은 비용을 발생시키고 있는가?"를 명확히 파악하고, 특정 Secret의 사용량을 심층 분석할 수 있습니다. 예를 들어, 특정 애플리케이션이나 팀이 사용하는 Secret의 비용을 추적하는 데 유용합니다.

Operation (작업 - 선택 사항): 특정 API 엔드포인트의 동작이나 타입(예: GetSecretValue 호출, RotateSecret 호출)별로 비용을 더 세분화하여 분석하고자 할 때 이 옵션을 활용할 수 있습니다. 이는 특정 Secrets Manager 기능이 비용에 미치는 영향을 파악하는 데 유용합니다.


필터링 설정


정확하고 집중적인 Secrets Manager 비용 분석을 위해서는 다음 필터링 설정을 적용해야 합니다. 분석 범위를 좁혀서 원하는 데이터만 편리하게 확인할 수 있습니다.


Service (서비스): Service 필터에서 Amazon Secrets Manager를 명확히 선택하여, 다른 AWS 서비스의 비용과 혼동되지 않고 오직 Secrets Manager 관련 비용만 분석 대상으로 포함합니다.

UsageType (사용 유형): UsageType 필터에서는 Secrets Manager의 주요 비용 항목들을 세부적으로 선택하여 분석할 수 있습니다. 여기에는 주로 다음과 같은 항목들이 포함됩니다. Secret 또는 유사한 이름 (예: USW2-Secret): 저장된 Secret 개수 기준으로 발생하는 월별 요금에 해당합니다. API Request 또는 유사한 이름 (예: USW2-ApiRequest): Secrets Manager에 대한 API 호출 건수 기준으로 발생하는 요금에 해당합니다.


이들을 각각 선택하여 어떤 비용 항목이 현재 가장 큰 비중을 차지하는지, 그리고 어떤 추이를 보이는지 상세하게 분석할 수 있습니다. 이를 통해 불필요한 Secret을 삭제하거나 API 호출을 최적화하는 등의 비용 절감 기회를 찾을 수 있습니다.


Secrets Manager 비용 분석 기간 설정


AWS Secrets Manager 비용의 시간적 변화를 파악하고 심층 분석하기 위해서는 적절한 트렌드 분석 기간을 설정하는 것이 중요합니다. 이는 Secret 저장 개수나 API 호출량의 변화가 비용에 미치는 영향을 이해하는 데 필수적입니다.


기간 설정

Cost Explorer 상단에 위치한 기간 선택 메뉴를 활용하여 '이번 달', '최근 6개월', '사용자 지정 범위' 등 여러분이 원하는 특정 분석 기간을 유연하게 지정할 수 있습니다. Secrets Manager 비용은 Secret 개수와 API 호출량이라는 두 가지 주요 요소로 구성되므로, 분석 목적에 맞는 기간을 선택하는 것이 중요합니다.


일별 분석

Secrets Manager 비용 데이터의 일별 추이를 분석하는 것은 특정 날짜에 발생한 비용 급증의 원인을 파악하는 데 특히 유용합니다.


용도: 예를 들어, 특정 애플리케이션의 배포 오류로 인해 GetSecretValue API 호출이 비정상적으로 급증했거나, 새로운 Secret이 대량으로 생성/삭제된 날짜를 즉시 식별하고 원인을 추적할 수 있습니다. 또한, 주말이나 특정 이벤트 기간 동안의 사용량 변화를 파악하여 불필요한 비용 발생을 찾아낼 수 있습니다.


활용 팁: 일별 그래프에서 갑작스러운 스파이크를 발견하면, 해당 날짜의 AWS CloudTrail 로그를 확인하여 어떤 계정이나 리소스가 Secrets Manager에 비정상적인 요청을 보냈는지 상세하게 조사할 수 있습니다.


월별 분석

장기적인 관점에서 Secrets Manager 비용 추세를 파악하려면 월별 분석이 적합합니다. 이는 서비스 운영의 큰 그림을 이해하고 전략적인 최적화 방안을 모색하는 데 도움을 줍니다.


용도: 월별 분석을 통해 Secret 저장 개수의 전반적인 추이 변화나 API 호출량의 장기적인 패턴을 확인할 수 있습니다. 예를 들어, 시간이 지남에 따라 사용하지 않는 Secret이 쌓여 비용이 꾸준히 증가하는 패턴을 파악하거나, 특정 애플리케이션 업데이트 이후 API 호출 비용이 지속적으로 상승하는 경향을 식별할 수 있습니다.


활용 팁: 월별 추이를 통해 예상치 못한 비용 증가의 장기적인 패턴을 파악하여 구조적인 최적화 방안(예: 오래된 Secret 정리 정책 수립, API 호출 최적화를 위한 캐싱 전략 도입, Secret 회전 주기 조정)을 모색하고 예산을 효과적으로 관리할 수 있습니다.


Cost Explorer 항목 분석


APN2-AWSSecretsManagerAPIRequest


Secrets Manager의 API 호출 요청에 대한 비용 항목입니다. 주로 GetSecretValue, DescribeSecret, ListSecrets 등 API 호출이 여기에 해당됩니다.


비용 발생 예시

애플리케이션에서 Secret 값을 매번 API로 가져오는 경우

자동 로테이션 시 내부 GetSecretValue 호출 발생

콘솔에서 Secret 목록 조회, Secret 상세 정보 열람 시 호출 발생


요금 부과 기준은 Secrets 조회 10,000건당 $0.05의 단위 요금 부과합니다. (리전마다 동일, 2024년 기준) Secrets Manager의 조회 및 관리 API 호출이 많을수록 비용 증가하므로, 캐싱 및 호출 최적화가 필요합니다.


APN2-AWSSecretsManager-Secrets


Secrets Manager에 저장된 Secret 개수에 따른 월별 저장 요금 항목입니다.


비용 발생 예시

Secret을 생성(CreateSecret)하면 즉시 요금 부과 시작

Secret 삭제 시에는 복구 보류 기간(최대 30일) 동안에도 요금 발생

Secret의 크기(4KB 기준 이하)는 상관없음 → 개수 기준 요금 부과


요금 부과 기준은 Secret 1개당 $0.40/월 (리전마다 동일, 2024년 기준) 요금이 부과됩니다. 불필요한 Secret은 삭제하고, 환경별/사용자별 중복 Secret은 통합 관리하여 개수 최소화가 필요합니다.


Cost Explorer 분석 예시


아래는 Secrets Manager의 지난 6개월 비용을 usage type으로 나누어 확인한 결과입니다.


스크린샷 2025-05-29 오후 7.20.30.png


제공된 Cost Explorer 데이터를 분석한 결과, 2024년 11월부터 2025년 4월까지 Secrets Manager 비용이 크게 감소했음을 알 수 있습니다. 이 데이터를 통해 주요 비용 발생 원인을 파악하고, 추가적인 절감 방안을 모색할 수 있습니다.


사용 유형별 비용 분석 (UsageType)


사용 유형별 데이터(APN2-AWSSecretsManagerAPIRequest, APN2-AWSSecretsManager-Secrets)를 보면 다음과 같은 특징을 확인할 수 있습니다.


API 호출 비용 (APN2-AWSSecretsManagerAPIRequest)이 압도적으로 높음

2024년 11월 $567.71에서 시작하여 2025년 4월 $7.73으로 급격히 감소했습니다.

총 비용 $1,586.48 중 약 $1,533.76 (96.6%)를 차지하며, 전체 Secrets Manager 비용의 대부분이 API 호출에서 발생했음을 명확히 보여줍니다.

이 비용은 주로 GetSecretValue, DescribeSecret, ListSecrets 등의 API 호출에서 발생하며, 애플리케이션에서 Secret 값을 자주 가져오거나, 자동 로테이션 시 내부 호출이 많거나, 콘솔에서 Secret 목록을 자주 조회할 때 증가합니다.


Secret 저장 비용 (APN2-AWSSecretsManager-Secrets)은 일정한 수준 유지

매월 약 $8.78~$8.80 수준으로 거의 변동이 없습니다.

총 비용 중 약 $52.70 (3.3%)를 차지하여, API 호출 비용에 비해 비중이 매우 낮습니다.

이 비용은 Secret 1개당 월 $0.40가 청구되는 방식으로, Secret을 생성한 시점부터 요금이 부과되며, 삭제해도 복구 보류 기간(최대 30일) 동안은 요금이 계속 발생합니다.


타 리전의 API 호출 비용은 없음

USE1-AWSSecretsManagerAPIRequest, EUN1-AWSSecretsManagerAPIRequest 등 다른 리전의 Secrets Manager API 호출 비용은 $0.00으로 나타나, 모든 사용이 'APN2' 리전(아마도 서울 리전)에 집중되어 있음을 알 수 있습니다.


비용 절감 차원의 분석

데이터를 보면 2024년 11월부터 2025년 1월까지 높은 API 호출 비용이 발생하다가 2월부터 급격히 줄어든 것이 확인됩니다. 이는 이미 상당한 규모의 API 호출 최적화 작업이 진행되었음을 시사합니다.


리소스 ID별 비용 분석 (Resource ID)


리소스 ID별 데이터는 특정 Secret이 비용에 미치는 영향을 보여줍니다.


스크린샷 2025-05-29 오후 7.21.38.png


상위 2개 Secret이 대부분의 비용을 차지

arn:aws:secretsmanager:ap-northeast-2:...:secret/dev_app_mskconnect-NUdPlY와 arn:aws:secretsmanager:ap-northeast-2:...:secret/prod_app_mskconnect-146gnn 두 Secret이 전체 비용($1,586.48)의 상당 부분(총합 $339.71 + $219.83 = 약 $559.54, 즉 약 35%에 해당)을 차지했습니다.

이 두 Secret 역시 2024년 11월, 12월, 2025년 1월에 높은 비용을 기록하다가 2월부터는 거의 발생하지 않는 패턴을 보입니다. 이는 해당 Secret에 대한 API 호출이 급감했거나, 사용 방식이 변경되었음을 나타냅니다.


나머지 Secret들은 소액의 비용 발생

No Data로 표시된 $8.78~$8.80는 Secret 저장 비용으로 추정됩니다 (사용 유형별 데이터와 일치).

그 외 Secret들은 월별 $1~2 수준의 소액 비용이 발생하고 있습니다. 이는 이 Secret들에 대한 API 호출이 적거나, 매우 적은 수의 Secret이 존재함을 의미합니다.


비용 절감 차원의 분석

MSK Connect Connector 또는 이와 연동된 애플리케이션이 Secrets Manager에서 Secret (예: 데이터베이스 자격 증명, API 키)을 매우 짧은 주기로 과도하게 조회했습니다. MSK Connect Connector 설정 오류가 있어 Secret 조회 API가 반복적으로 호출되었기 때문입니다.


Connector의 구성이 Secret 조회 방식이나 빈도에 영향을 미쳤으므로 이를 최적화하여 불필요한 API 호출을 제거했습니다. 그 결과 APIRequest 비용이 $632 → $8 수준으로 98% 이상 감소했습니다. 전체 Secrets Manager 비용도 $641 → $16 수준으로 절감하게 되었습니다. 이처럼 잘못된 설정으로 인한 비용 급증은 빈번하게 일어납니다. 개발 과정에서 의도치 않게 발생할 수 있다 보니 주기적이고 잦은 모니터링이 중요합니다.


비용 절감 및 최적화 방안


이미 상당한 비용 절감이 이루어졌지만, 지속적인 관리를 통해 추가적인 최적화 및 효율성 증대를 꾀할 수 있습니다.


API 호출 최적화 (가장 중요)

캐싱 전략 강화: GetSecretValue와 같이 Secret 값을 가져오는 API 호출은 비용의 주범입니다. 변경 빈도가 낮은 Secret의 경우 애플리케이션 계층에서 캐싱을 적극적으로 활용하고, 적절한 TTL(Time-To-Live)을 설정하여 Secrets Manager API 호출 횟수를 최소화해야 합니다. (예: 5분~1시간 캐싱).

BatchGetSecretValue 사용 검토: 여러 Secret이 필요한 경우, 개별 GetSecretValue 호출 대신 BatchGetSecretValue를 사용하여 한 번의 API 호출로 여러 Secret을 가져오는 것을 검토합니다.

불필요한 Secret 조회 방지: 개발/테스트 환경에서 불필요하게 Secret을 조회하거나, 자동화 스크립트가 과도하게 API를 호출하는 경우가 없는지 검토합니다.


Secret 저장 개수 최적화

사용하지 않는 Secret 정리: 정기적으로 사용하지 않거나 더 이상 필요 없는 Secret을 식별하고 삭제하여 월별 저장 비용을 절감합니다. Secret 삭제 시 복구 대기 기간(최대 30일) 동안에도 요금이 부과되므로, 삭제 즉시 과금이 중단되는 것은 아님을 인지해야 합니다.

중복 Secret 통합: 환경별(개발/운영), 팀별, 사용자별로 동일하거나 유사한 Secret이 중복 저장되어 있지 않은지 확인하고, 가능하다면 통합 관리하여 Secret 개수를 최소화합니다. 예를 들어, JSON 형태로 여러 값을 하나의 Secret에 저장하는 방식을 고려할 수 있습니다 (단, Secret 크기 64KB 제한 및 관리 복잡도 고려).


이미 효과적인 최적화 작업을 통해 API 호출 비용을 크게 줄인 경험이 있으므로, 이 경험을 바탕으로 남은 소액의 비용과 향후 발생할 수 있는 잠재적 비용 증가 요소를 지속적으로 관리한다면 Secrets Manager 비용 효율성을 더욱 높일 수 있을 것입니다.


결론


Secrets Manager는 “적게 쓰면 싸다”는 전제가 무너질 때, 진짜 비용 문제가 시작됩니다. 실제로 MSK Connector의 잘못된 Secret 조회 설정 하나만으로 수백 달러의 과금이 발생했지만, 캐싱 전략과 조회 주기 최적화를 통해 단 2달 만에 API 비용을 $632에서 $8로 줄일 수 있었습니다.


“코드는 문제없는데 돈이 샌다”는 인프라적 함정을 발견했고, 의도치 않은 호출이 반복되는 구조적 문제를 파악하고 공유한다면 팀 전체가 학습하는 계기가 될 것입니다.


Secrets Manager는 강력한 도구입니다. 하지만 강력한 만큼 정기적인 비용 점검, 불필요한 호출 탐지, 사용하지 않는 Secret 정리, 설정 모니터링 자동화 없이는 언젠가 다시 비용 문제를 마주하게 될 것입니다. 기술 부채가 아니라 비용 부채를 예방하는 차원에서, 이번 글의 사례와 절감 전략이 여러분의 팀 운영에도 실질적인 도움이 되셨으면 합니다.

keyword
매거진의 이전글AWS Secrets Manager 비용구조 이해하기