자동 라이선스 사용량 보고
자동 라이선스 사용량 보고
이 기능은 Boundary Enterprise가 필요해요. 자동 라이선스 사용량 보고는 라이선스 사용량 데이터를 직접 수집하고 보고하지 않아도 HashiCorp로 보내줘요. 또한 이미 쓰고 있는 모니터링 솔루션(Splunk, Datadog 등)으로 라이선스 사용량을 검토할 수 있게 해줘서, 배포를 최적화하고 관리하는 데 도움을 주죠. 이 보고서를 사용해 현재 계약 하에서 얼마나 더 배포할 수 있는지 파악하고, 과다 사용(overutilization)을 예방하며, 예상 소비량을 예산에 반영할 수 있어요.
본문
자동 보고는 우리 계약에 정의된 대로 라이선스 사용량 검증에 필요한 최소한의 데이터만 공유해요. 대부분 계산된 메트릭으로 구성되며, 개인 식별 정보(PII)나 다른 민감 정보는 절대 포함하지 않아요. 자동 보고는 안전한 단방향 HTTPS API로 데이터를 HashiCorp와 공유하며, 보고서를 제출할 때마다 제품 로그에 감사 가능한 기록을 남깁니다. 보고 과정은 GDPR을 준수하고 대략 24시간마다 한 번 보고서를 제출해요.
자동 보고 활성화
자동 보고를 활성화하려면 아웃바운드 네트워크 트래픽이 올바르게 구성되어 있고, 이를 지원하는 버전으로 엔터프라이즈 제품을 업그레이드해야 해요. 설치가 air-gapped이거나 네트워크 설정이 갖춰져 있지 않다면 자동 보고는 동작하지 않습니다.
1. 포트 443에서 아웃바운드 HTTPS 트래픽 허용
네트워크가 https://reporting.hashicorp.services에서 포트 443으로의 HTTPS 이그레스(egress)를 허용하는지 확인하세요. 다음 IP 주소를 허용 목록에 추가하면 됩니다:
- 100.20.70.12
- 35.166.5.222
2. 업그레이드
라이선스 사용량 보고를 지원하는 릴리즈로 업그레이드하세요. 여기에는 Release 0.13.0 이후 버전이 포함됩니다.
3. 로그 확인
자동 라이선스 사용량 보고는 대략 24시간 안에 데이터 전송을 시작해요. 제품 로그에서 데이터가 성공적으로 전송되었는지 기록을 확인하세요. 기록은 시스템 이벤트로 전송됩니다.
파일 동기화(file sync)를 사용해 Boundary가 이벤트를 기록할 파일을 구성할 수 있어요.
{
"id": "ZWqRK7XlnN",
"source": "https://hashicorp.com/boundary/Test_InitSysEventer",
"specversion": "1.0",
"type": "system",
"data": {
"version": "v0.1",
"op": "census.(censusJob).Run",
"data": {
"msg": "the following snapshot has been generated {\"snapshot_version\":1,\"id\":{\"ULID\":\"0001J50MM0QGR5KN21FVGYJVP9\",\"Timestamp\":\"2023-05-02T00:00:00Z\"},\"schema_version\":\"1.0.0\",\"service\":\"boundary\",\"process_id\":\"01H2B2KY823KYPVAVC02V65TZV\",\"metrics\":{\"boundary.sessions\":{\"key\":\"boundary.sessions\",\"value\":2,\"kind\":\"counter\",\"mode\":\"write\",\"description\":\"Number of pending sessions from previous day\"}}}"
}
},
"datacontentype": "application/cloudevents",
"time": "2023-06-07T10:01:53.158933-04:00"
}
설치가 air-gapped이거나 네트워크가 올바른 이그레스를 허용하지 않으면 로그에 오류가 표시돼요.
{
"id": "VQyF5VzbTT",
"source": "https://hashicorp.com/boundary/Test_InitSysEventer",
"specversion": "1.0",
"type": "error",
"data": {
"error": "census.(censusJob).Run: unable to export snapshot through agent: unknown: error #0",
"error_fields": {
"Code": 0,
"Msg": "unable to export snapshot through agent",
"Op": "census.(censusJob).Run",
"Wrapped": null
},
"id": "e_BgPs9hUMxw",
"version": "v0.1",
"op": "census.(censusJob).Run"
},
"datacontentype": "application/cloudevents",
"time": "2023-06-07T10:21:48.221494-04:00"
}
이 경우 네트워크를 재구성해 이그레스를 허용하고 대략 24시간 후에 다시 확인하세요.
옵트아웃(Opt out)
설치가 air-gapped이거나 같은 라이선스 사용량 메트릭을 직접 수집하고 보고하고 싶다면 자동 보고를 옵트아웃할 수 있어요.
이 메트릭을 수동으로 보고하는 것은 시간이 많이 걸릴 수 있어요. 자동 보고를 옵트아웃한다고 해서 라이선스 사용량 메트릭 전송까지 옵트아웃하는 것은 아니에요. 자동 보고를 옵트아웃한 고객도 여전히 라이선스 사용량 메트릭을 직접 수집해 HashiCorp에 보내야 합니다.
데이터가 걱정되어 옵트아웃을 고려하고 있다면, 옵트아웃하기 전에 아래 예시 페이로드를 꼭 검토해 보세요. 자동 보고되는 데이터에 우려가 있다면 계정 매니저에게 알려 주세요.
옵트아웃하는 방법은 두 가지가 있어요:
- HCL 구성(권장)
- 환경 변수(재시작 필요)
HCL 구성(권장): 제품의 구성 파일에서 옵트아웃하는 것은 시스템 재시작이 필요 없어서 권장하는 방법이에요. configuration.hcl 파일에 다음 블록을 추가하세요.
reporting {
license {
enabled = false
}
}
환경 변수: 필요하다면 환경 변수로도 옵트아웃할 수 있어요. 이 방법은 자동 보고를 비활성화했음을 확인하는 시작 메시지를 제공하지만 시스템 재시작이 필요합니다. 다음 환경 변수를 설정하세요.
$ export OPTOUT_LICENSE_REPORTING=true
이제 시스템을 재시작하세요. 옵트아웃한 뒤 대략 24시간 후에 제품 로그를 확인해 시스템이 보고서를 보내려 하지 않는지 확인하세요.
구성 파일과 환경 변수가 서로 다르다면 환경 변수 설정이 우선합니다.
예시 페이로드
HashiCorp는 다음 사용량 데이터를 JSON 페이로드로 수집해요.
exporter_version - 라이선스 exporter의 버전.
Product payload - 세션(Sessions)은 Boundary 스토어에서 조회되며 지난 X일 동안의 수를 세어요.
"metrics": {
"boundary.sessions": {
"key": "boundary.sessions",
"value": 0,
"mode": "write"
}
}
Product payload - 월간 활성 사용자(Monthly active users)는 한 달 동안의 고유한 활성 사용자 수를 추적해요. 한 달 전체의 누적 값이에요. 시작 시간은 값에 포함되고 종료 시간은 제외됩니다.
"metrics": {
"boundary.monthly_active_users": {
"key": "boundary.monthly_active_users",
"value": 8,
"mode": "write",
}
},
"metadata": {
"complete": "true",
"end_time": "2023-04-01T00:00:00Z",
"start_time": "2023-03-01T00.00:00Z"
}
더 알아보기 (Learn more)
- 자동 라이선스 보고 활성화 및 옵트아웃 관련 구성은 Boundary Enterprise 문서를 참고하세요.