AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Amazon Redshift Serverless에 대한 결제 정보를 쿼리하려면 어떻게 해야 하나요?

3분 분량
0

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

중요: 출력은 근사치입니다. 쿼리는 해당 날짜에 발생한 총 비용을 결정하고 경과된 쿼리 시간을 기준으로 시작된 모든 쿼리 간에 비용을 분배합니다.

관련 정보

SYS_SERVERLESS_USAGE

SYS_QUERY_HISTORY

AWS 공식
AWS 공식업데이트됨 2달 전