Amazon Redshift Serverless에 대한 결제 정보를 쿼리하려면 어떻게 해야 하나요?
Redshift 서버리스에 대한 청구 세부 정보를 계산할 수 있도록 Amazon Redshift 처리 장치(RPU) 사용량을 쿼리하고 싶습니다.
간략한 설명
실행하는 워크로드에 따라 비용이 발생합니다. 워크로드는 RPU-시간 단위로 측정되며 1분의 최소 요금으로 초당 누적됩니다. 자세한 내용은 Amazon Redshift 서버리스 요금 청구를 참조하십시오.
해결 방법
비용에 대한 정보를 얻으려면 Amazon Redshift Serverless 계정에 연결된 클라이언트 도구 또는 쿼리 편집기를 사용하여 다음 쿼리를 실행하십시오. 자세한 내용은 Amazon Redshift 서버리스에 연결을 참조하십시오.
참고: 다음 쿼리에서 AWS\ _REGION\ _PRICE를 AWS 리전의 RPU 시간당 요금으로 바꾸십시오. RPU 비용에 대한 자세한 내용은 Amazon Redshift 요금 페이지에서 Amazon Redshift 서버리스를 참조하십시오.
다음 쿼리에서 받은 비용 출력은 근사치입니다. 출력은 AWS 결제 콘솔에 표시된 Amazon Redshift 서버리스 비용과 다를 수 있습니다.
일일 비용
지난 7일 동안 매일 발생한 비용을 확인하려면 다음 쿼리를 실행합니다.
SELECT date_trunc('d',start_time) "Day", ( sum(charged_seconds)/3600::double precision ) * AWS_REGION_PRICE as cost_incurred FROM sys_serverless_usage GROUP BY 1 ORDER BY 1;
참고: 아마존 Redshift 서버리스는 5-7일간의 과거 데이터만 저장합니다. 7일이 지난 데이터는 검색하지 못할 수도 있습니다.
출력 예시:
day | cost_incurred($) --------------------+-------------------------- 2024-05-27 00:00:00 | 1.536 2024-05-29 00:00:00 | 59.903999999999996 2024-05-30 00:00:00 | 13.824 2024-05-31 00:00:00 | 0.768
특정 날짜의 RPU 사용량 및 비용
전날의 RPU 사용량과 총 비용을 확인하려면 다음 쿼리를 실행합니다. 다른 요일을 쿼리하려면 **dateadd(day,-1,sysdate)**에서 \ -1을 다른 음수로 변경하십시오.
SELECT date_trunc('d',start_time) as "day", ( sum(charged_seconds)/3600::double precision ) * <AWS_REGION_PRICE> as cost_incurred, min(compute_capacity) min_rpu, max(compute_capacity) max_rpu, avg(compute_capacity) avg_rpu, max(data_storage) as max_storage FROM sys_serverless_usage WHERE "day" = date_trunc('d', dateadd(day,-1,sysdate)) GROUP BY 1 ORDER BY 1
출력 예시:
day | cost_incurred ($) | min_rpu | max_rpu | avg_rpu | max_storage ---------------------+-------------------+------------+-----------+-------------+------------- 2024-05-30 00:00:00 | 13.824 | 0 | 128 | 92.16 | 3166
RPU 사용량 및 쿼리당 비용
특정 날짜에 실행한 각 쿼리의 대략적인 RPU 사용량과 비용을 확인하려면 다음 쿼리를 실행하세요.
with daily_cost as ( select trunc(start_time) "YYY-MM-DD", max(compute_capacity) max_compute_capacity, (sum(charged_seconds) / 3600:: double precision) * <AWS_REGION_PRICE> as daily_cost from sys_serverless_usage group by 1 ), daily_queries as ( SELECT *, elapsed_time / total_time_for_day:: double precision as perc from ( SELECT query_id, user_id, query_text, trunc(start_time) "Day", elapsed_time, sum(elapsed_time) over (partition by trunc(start_time)) total_time_for_day FROM sys_query_history ) ) select q.*, c.daily_cost * q.perc as query_cost, c.* from daily_cost c join daily_queries q using ("Day") where Day ='<start_date>';
참고: YYYY-MM-DD를 쿼리하려는 특정 날짜로 바꾸십시오. 날짜는 YYYY-MM-DD 형식이어야 합니다.
출력 예시:
query_id| user_id | day | elapsed_time | total_time_for_day | perc | query_cost | day | max_compute_capacity | daily_cost | query_text --------+---------+------------+--------------+--------------------+------------------------+------------------------+------------+----------------------+------------------+--------------------------------------+ 5240721 | 101 | 2024-05-30 | 174646 | 22720291 | 0.00768678534971229 | 0.10921384624871222 | 2024-05-30 | 128 | 14.208 | SELECT table_name as view_name, table_type, schema_name FROM SVV_ALL_TABLES WHERE database_name='dev' AND schema_name='lakeformation_schema' and table_type IN ('VIEW'); 5240073 | 101 | 2024-05-30 | 765 | 22720291 | 0.00003367034339480951 | 0.00047838823895345354 | 2024-05-30 | 128 | 14.208 | select oid, lanname from pg_language order by lanname asc
중요: 출력은 근사치입니다. 쿼리는 해당 날짜에 발생한 총 비용을 결정하고 경과된 쿼리 시간을 기준으로 시작된 모든 쿼리 간에 비용을 분배합니다.
관련 정보
관련 콘텐츠
- 질문됨 5달 전lg...
- 질문됨 한 달 전lg...
- 질문됨 3달 전lg...
- 질문됨 5달 전lg...
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 2년 전