Skip to content

사용량 모니터링 ​

Kiro 구독 체계와 이 페이지의 적용 대상

Kiro 구독은 두 갈래입니다.

  • 개인 구독(individual subscribers): GitHub·Google 소셜 로그인 또는 AWS Builder ID로 로그인하는 사용자. 본인이 Free~Power 티어를 직접 결제합니다.
  • 엔터프라이즈 구독: AWS IAM Identity Center나 외부 IdP(Okta·Microsoft Entra ID, 로그인 화면의 Your organization)로 로그인하는 사용자. 관리자가 AWS 콘솔의 Kiro 프로필에서 구독·설정을 관리합니다.

이 페이지의 기능은 엔터프라이즈 구독 관리자 전용입니다. Kiro 콘솔, Kiro 프로필, 사용량 대시보드·활동 리포트·프롬프트 로그는 모두 엔터프라이즈 구독에만 있습니다. 개인 구독에는 이 관리자 콘솔이 없습니다. 시작 방법은 IAM Identity Center 인증과 Onboarding quickstart를 보세요.

목표 ​

Kiro 관리자가 구독자의 사용량을 확인하는 네 가지 수단과 각각의 설정 방법을 파악합니다.

수단단위담기는 내용갱신
대시보드계정 합계구독 수, 활성 사용자, 크레딧 소비대부분 매시간
사용자별 활동 리포트사용자·클라이언트별크레딧, 메시지, 대화, 모델별 메시지매일 02:00 UTC
프롬프트 로깅요청 하나프롬프트와 응답 원문발생 시
구독 CSV사용자구독 상태, 플랜, 활성화일내려받을 때

이 밖에 AWS CloudTrail로 API 호출 기록을, Amazon CloudWatch로 호출 수나 일간 활성 사용자 같은 지표와 알람을 다룰 수 있습니다.

대시보드 ​

Kiro 관리자만 볼 수 있으며, 구독자가 Kiro IDE와 CLI를 어떻게 쓰는지 요약합니다. 지표는 대부분 매시간 갱신되고, Active users 위젯만 UTC 기준으로 하루 한 번 갱신됩니다.

보는 방법: AWS Management Console → Kiro 콘솔 → Dashboard. 기간이나 프로그래밍 언어로 필터링할 수 있습니다.

지표내용
Total subscriptions per tier등급(Pro, Pro+, Pro Max, Power)별 전체 구독 수. 그룹별·계정 전체 합계
Active subscriptions per tierIDE나 CLI에서 Kiro를 쓰기 시작한 사용자의 구독. 과금 대상
Pending subscriptions per tier아직 쓰기 시작하지 않은 사용자의 구독. 과금되지 않음
Active users일·주·월 단위 고유 활성 사용자. 클라이언트(IDE/CLI)·등급별
Credits consumed일·주·월 단위 크레딧 소비. 등급·클라이언트별

조직 전체 구독 가시성을 켠 관리 계정으로 로그인하면 멤버 계정의 구독도 Total에 포함됩니다.

  • 끄기: Kiro 콘솔 Settings → Kiro Settings에서 Kiro usage dashboard를 끕니다.
  • 메뉴에 Dashboard가 안 보일 때: 이 토글이 켜져 있는지, 그리고 다음 권한이 있는지 확인합니다: q:ListDashboardMetrics, codewhisperer:ListProfiles, sso:ListInstances, user-subscriptions:ListUserSubscriptions

사용자별 활동 리포트 ​

조직 구독자의 사용자별 일간 활동을 내보냅니다. 사용량 감사, 라이선스 배분 조정, 크레딧·초과(overage) 사용 추적에 씁니다. 관리자가 설정하며 사용자는 바꿀 수 없습니다.

두 형식이 있고 하나만 켜도, 둘 다 켜도 됩니다. 담기는 일간 집계 지표는 같습니다.

형식맞는 경우
Amazon S3에 CSV일간 파일을 쿼리, 대시보드, 기존 분석 파이프라인에 쓰고 싶을 때
OpenTelemetry쓰고 있는 OTel 호환 수집기로 Kiro가 직접 보내 주길 원할 때

CSV (Amazon S3) ​

매일 02:00 UTC에 클라이언트 유형(IDE, CLI, Plugin)별 CSV를 버킷에 씁니다.

text
s3://bucketName/prefix/AWSLogs/accountId/KiroLogs/user_report/region/year/month/day/00/clientType_accountId_user_report_timestamp.csv

버킷 조건

  • Kiro 프로필이 설치된 리전에 있어야 합니다(처음 IAM Identity Center 사용자를 Kiro Pro에 구독시킬 때 설치된 프로필).
  • 사용자가 구독된 AWS 계정에 있어야 합니다. 여러 계정에 구독돼 있으면 계정마다 버킷을 만듭니다. 교차 계정 버킷은 지원하지 않습니다.
  • 버킷 루트가 아닌 prefix(하위 폴더)를 써야 합니다.
  • 프롬프트 로그 버킷과는 분리하는 것이 권장됩니다.
  • q.amazonaws.com에 s3:PutObject를 허용하는 버킷 정책이 필요합니다.
json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "KiroLogsWrite",
    "Effect": "Allow",
    "Principal": { "Service": "q.amazonaws.com" },
    "Action": ["s3:PutObject"],
    "Resource": ["arn:aws:s3:::bucketName/prefix/*"],
    "Condition": {
      "StringEquals": { "aws:SourceAccount": "accountId" },
      "ArnLike": { "aws:SourceArn": "arn:aws:codewhisperer:region:accountId:*" }
    }
  }]
}

Condition의 region과 accountId는 Kiro 프로필 리전과 사용자가 구독된 계정이어야 합니다.

켜기: Kiro 콘솔 Settings → Kiro user activity reports → Edit → Collect granular metrics per user를 켜고 S3 location에 URI(예: s3://amzn-s3-demo-bucket/user-activity-reports/)를 넣습니다. 첫 리포트는 다음 02:00 UTC에 생성됩니다. Amazon Athena로 쿼리하거나 Amazon QuickSight로 시각화할 수 있습니다.

주요 열

열내용
Date, UserId, User_Email날짜와 사용자
Client_TypeKIRO_IDE, KIRO_CLI, PLUGIN
Chat_Conversations, Total_Messages하루 대화 수, 주고받은 메시지 수(프롬프트·도구 호출·응답 포함)
Credits_Used구독 플랜에서 쓴 크레딧
Overage_Enabled, Overage_Cap, Overage_Credits_Used초과 사용 허용 여부, 한도, 사용량. 초과 사용이 꺼져 있으면 Overage_Cap에는 플랜에 포함된 최대 크레딧이 표시됨
Subscription_TierPro, ProPlus, ProMax, Power
New_User그날 구독을 활성화했는지
*model_name*_messages모델별 메시지 수(Auto 포함). 열 개수는 그날 쓰인 모델에 따라 정해지고, 그 모델을 안 쓴 사용자는 0

이와 별도로 CLI·플러그인 사용량이 담긴 레거시 리포트가 같은 버킷의 .../KiroLogs/by_user_analytic/... 경로에 계속 생성됩니다. 하루 사용자가 1,000명을 넘으면 part_1, part_2처럼 1,000명 단위로 나뉩니다.

OpenTelemetry ​

같은 일간 지표를 매일 02:00 UTC에 OTLP로 보냅니다. OTLP/gRPC(기본)와 OTLP/HTTP(protobuf, 콘솔 표기 HTTP/protobuf)를 지원합니다. Kiro는 Secrets Manager 시크릿의 ARN만 저장하고, 보낼 때마다 시크릿에서 엔드포인트와 인증 헤더를 읽습니다.

설정 순서

  1. 고객 관리형 KMS 대칭 키를 만듭니다. KMS 키, Secrets Manager 시크릿, Kiro 프로필은 모두 같은 리전에 있어야 합니다. Kiro가 다른 계정에서 시크릿을 읽기 때문에 기본 aws/secretsmanager 키는 쓸 수 없습니다. 키 정책에 q.amazonaws.com의 kms:Decrypt, kms:DescribeKey를 kms:ViaService = secretsmanager.<region>.amazonaws.com 조건으로 허용합니다.

  2. Kiro 프로필과 같은 리전에 Secrets Manager Other type of secret을 만들고, 1번 키로 암호화합니다.

    json
    {
      "OTEL_EXPORTER_OTLP_ENDPOINT": "https://<collector-host>:443",
      "OTEL_EXPORTER_OTLP_HEADERS": "<header-name>=<value>"
    }

    헤더는 하나만, Name=value 형식으로 씁니다. 시크릿 리소스 정책으로 q.amazonaws.com에 secretsmanager:GetSecretValue를 허용합니다.

  3. Kiro 콘솔 Settings → Kiro user activity reports → Edit → OpenTelemetry (OTel) 형식을 고르고 시크릿 ARN과 프로토콜을 넣은 뒤 Enable합니다. 저장할 때는 아무것도 보내지 않으며, 첫 전송은 다음 02:00 UTC 주기에 전날 활동분으로 이뤄집니다.

수집기 조건: 공용 인터넷에서 접근 가능해야 하고, 공인 TLS 인증서를 써야 합니다(자체 서명 인증서 거부). 인증서 호스트 이름을 확인하므로 IP 대신 호스트 이름을 씁니다.

대상프로토콜엔드포인트 예인증 헤더
HoneycombgRPChttps://api.honeycomb.io:443X-Honeycomb-Team=<key>
ElasticgRPChttps://<deployment>.ingest.<region>.gcp.elastic-cloud.com:443Authorization=ApiKey <base64 id:api_key>
DatadogHTTP/protobufhttps://otlp.datadoghq.com/v1/metricsdd-api-key=<API key>
Amazon CloudWatchHTTP/protobufhttps://monitoring.<region>.amazonaws.com/v1/metricsAuthorization=Bearer <API key>
OpenSearch (Data Prepper 같은 OTLP 수신기)gRPChttps://<host>:21891Authorization=Basic <credential>
자체 OTLP 수집기gRPC 또는 HTTP/protobufhttps://<host>:<port>수집기가 요구하는 헤더

Honeycomb은 ingest key ID만이 아니라 ID와 시크릿을 합친 값을, Datadog은 application key가 아닌 API key를 씁니다. 관리자 자격 증명이 아닌 수집 전용 자격 증명을 쓰세요.

CloudWatch는 Kiro가 SigV4로 서명할 수 없어서 bearer API 키가 필요합니다. 지표는 API 키를 발급한 AWS 계정에 기록되고 Metrics V2 저장소에 들어가며, 기존 지표 콘솔이나 ListMetrics에는 보이지 않으므로 PromQL로 조회합니다.

보내는 지표 (kiro.daily.*, 단조 증가 Sum 카운터)

지표대응 CSV 열
kiro.daily.creditsCredits_Used
kiro.daily.overage_creditsOverage_Credits_Used
kiro.daily.messagesTotal_Messages
kiro.daily.conversationsChat_Conversations
kiro.daily.model_messages*model_name*_messages

데이터 포인트에는 kiro.user.id, kiro.client.type, kiro.user.new가 항상 붙고, 확인 가능하면 kiro.user.email도 붙습니다. 리소스 속성 service.name은 항상 kiro-enterprise입니다.

확인과 주의점

  • 성공·실패 알림이 없습니다. 대상에서 service.name = kiro-enterprise로 kiro.daily.credits를 조회해 확인합니다. date 속성은 내보낸 날의 전날입니다.
  • 일시적 실패는 자동으로 재시도하며 날짜당 최대 3번(첫 시도 포함) 시도하고, 모두 실패하면 그날은 비어 있게 됩니다. 자동 백필은 없습니다.
  • 수집기가 요청을 받아들이면 성공으로 칩니다. 나중에 수집기가 데이터 포인트를 거부해도 Kiro는 알 수 없습니다.
  • gRPC 전용 엔드포인트에 HTTP/protobuf를 고르는 식으로 프로토콜이 틀리면 전달되지 않고 알림도 없습니다.
  • 엔드포인트 변경이나 토큰 교체는 같은 ARN의 시크릿 값만 바꾸면 되며, 새 값은 다음 02:00 UTC 주기부터 쓰입니다.
  • 데이터에 IAM Identity Center 사용자 ID와 이메일이 들어갈 수 있습니다. 대상 접근 권한과 보존 기간을 제한하고, 전용 시크릿·KMS 키와 지표 수집 전용 자격 증명을 쓰세요.

프롬프트 로깅 ​

Kiro IDE와 CLI에서 사용자가 받은 인라인 제안과 채팅 대화를 모두 기록합니다. 사용자 프롬프트와 Kiro의 응답이 함께 남으며 감사, 디버깅, 분석, 컴플라이언스에 씁니다.

  • 로그는 내 계정의 S3 버킷에 저장됩니다. 별도 요금은 없고 S3 저장 비용과, 선택한 경우 KMS 키 요금만 듭니다.
  • 버킷 조건(프로필 리전, 구독 계정, q.amazonaws.com 쓰기 정책)은 활동 리포트와 같습니다.
  • 켜기: Kiro 콘솔 Settings → Kiro Settings > Logging → Log Kiro prompts with metadata를 켜고 S3 URI(예: s3://amzn-s3-demo-bucket/kiro-prompt-logs/)를 넣습니다.

로그 종류:

로그주요 필드
인라인 제안 (generateCompletionsEventRequest/Response)leftContext, rightContext, fileName, userId, timeStamp, 사용자가 수락한 completions
채팅 (generateAssistantResponseEventRequest/Response)prompt, chatTriggerType(MANUAL 또는 INLINE_CHAT), userId, assistantResponse, conversationId, codeReferenceEvents

구독 데이터 CSV 내보내기 ​

Kiro 콘솔 Users & Groups 페이지의 Subscriptions 표에서 Download CSV를 누르면 사용자 이름, 구독 상태, Kiro 플랜, 플랜 출처, 활성화일을 내려받습니다.

더 알아보기 ​


출처: 위 kiro.dev Enterprise 문서 (2026-10-26 확인)