AWS 비용에 대한 개발자 안내서
아니? 나도. 그래서 GitHub에서 Developer's Guide to AWS Costs을 공유하게 되어 기쁩니다! 🚀
Macroscope에서 엔지니어는 비용 관리가 아닌 기능 개발에 시간을 투자해야 한다고 생각합니다.
그렇기 때문에 이 프로젝트는 #sql 코드를 사용하여 AWS 청구 데이터를 분석하고 엔지니어가 실제로 중요한 것인 제품 구축으로 돌아갈 수 있도록 합니다.
Creating Cost and Usage Reports 및 analyzing EC2 costs은 우리 커뮤니티에서 가장 일반적인 요구 사항입니다. 그래서 바로 해봤습니다..
예를 들어 EBS 볼륨과 NAT 게이트웨이의 비용을 분리해야 합니까? 우리는 당신을 덮었습니다:
##Subresource costs for EBS Volume Snapshots
SELECT DISTINCT
[lineItem/ResourceID],
[lineItem/LineItemType],
[lineItem/Operation],
round(sum([lineItem/UnblendedCost]), 4) as subresource_cost
FROM CUR
WHERE
[lineItem/ProductCode] is 'AmazonEC2'
and [lineItem/ResourceId] LIKE '%snapshot%'
GROUP BY
[lineItem/ResourceID],
[lineitem/lineitemtype],
[lineItem/Operation]
ORDER BY
sum([lineItem/UnblendedCost]);
##Subresource costs for NAT Gateways
SELECT DISTINCT
[lineItem/ResourceID],
[lineItem/LineItemType],
[lineItem/Operation],
round(sum([lineItem/UnblendedCost]), 4) as subresource_cost
FROM CUR
WHERE
[lineItem/ProductCode] is 'AmazonEC2'
and [lineItem/ResourceId] LIKE '%natgateway%'
GROUP BY
[lineItem/ResourceID],
[lineitem/lineitemtype],
[lineItem/Operation]
ORDER BY
sum([lineItem/UnblendedCost]);
다음으로, 팀에서 사용하는 모든 인스턴스 유형에 대한 가격 책정 모델 및 지역별 시간당 EC2 비용을 알아야 합니까? 우리는 또한 당신을 다루었습니다:
WITH on_demand_existence AS (
SELECT
[lineItem/ResourceId],
round(sum([lineItem/UnblendedCost]), 4) as existence_cost
FROM CUR
WHERE
[lineItem/ProductCode] = 'AmazonEC2'
and [product/instanceType] <> ""
and [lineItem/LineItemType] is 'Usage'
and [lineItem/UsageType] LIKE '%BoxUsage%'
and [lineItem/Operation] LIKE 'RunInstances%'
GROUP BY
[lineItem/ResourceId]
)
, spot_existence AS (
SELECT
[lineItem/ResourceId],
round(sum([lineItem/UnblendedCost]), 4) as existence_cost
FROM CUR
WHERE
[lineItem/ProductCode] = 'AmazonEC2'
and [product/instanceType] <> ""
and [lineItem/LineItemType] is 'Usage'
and [lineItem/UsageType] LIKE '%SpotUsage%'
and [lineItem/Operation] LIKE 'RunInstances%'
GROUP BY
[lineItem/ResourceId]
)
, reserved_existence AS (
SELECT
[lineItem/ResourceId],
round(sum([reservation/EffectiveCost]), 4) as existence_cost
FROM CUR
WHERE
[lineItem/ProductCode] = 'AmazonEC2'
and [product/instanceType] <> ""
and [lineItem/LineItemType] is 'DiscountedUsage'
GROUP BY
[lineItem/ResourceId]
)
, savings_plan_existence AS (
SELECT
[lineItem/ResourceId],
round(sum([savingsPlan/SavingsPlanEffectiveCost]), 4) as existence_cost
FROM CUR
WHERE
[lineItem/ProductCode] = 'AmazonEC2'
and [product/instanceType] <> ""
and [lineItem/LineItemType] is 'SavingsPlanCoveredUsage'
GROUP BY
[lineItem/ResourceId]
)
SELECT
CUR.[product/instanceType],
CUR.[product/region],
COALESCE(on_demand_existence.existence_cost, 0) as on_demand_existence_cost,
COALESCE(spot_existence.existence_cost, 0) as spot_existence_cost,
COALESCE(reserved_existence.existence_cost, 0) as reserved_existence_cost,
COALESCE(savings_plan_existence.existence_cost, 0) as savings_plan_existence_cost,
(COALESCE(on_demand_existence.existence_cost, 0) + COALESCE(spot_existence.existence_cost, 0) + COALESCE(reserved_existence.existence_cost, 0) + COALESCE(savings_plan_existence.existence_cost, 0)) AS total_existence_cost
FROM CUR
LEFT JOIN
on_demand_existence
ON on_demand_existence.[lineItem/ResourceId] = CUR.[lineItem/ResourceId]
LEFT JOIN
spot_existence
ON spot_existence.[lineItem/ResourceId] = CUR.[lineItem/ResourceId]
LEFT JOIN
reserved_existence
ON reserved_existence.[lineItem/ResourceId] = CUR.[lineItem/ResourceId]
LEFT JOIN
savings_plan_existence
ON savings_plan_existence.[lineItem/ResourceId] = CUR.[lineItem/ResourceId]
WHERE
CUR.[lineItem/ProductCode] is 'AmazonEC2'
and CUR.[product/instanceType] <> ""
and CUR.[lineitem/ResourceId] <> ""
GROUP BY
CUR.[product/instanceType],
CUR.[product/region]
ORDER BY
total_existence_cost;
이것은 우리GitHub page에 있는 것의 샘플이며 곧 더 많은 것이 나올 것입니다! RDS, Lambda, S3와 같은 더 많은 AWS 서비스를 자세히 살펴보고 EDP 약정, 저축 계획 및 RI와 같은 주제를 확장할 것입니다.
이 제품이 귀하와 귀하의 팀에 도움이 되는지 여부에 대해 이 커뮤니티로부터 피드백을 받고 싶습니다. 아직 해결하지 못한 비용 문제가 있는 경우 당사Roadmap Discussion로 알려주시면 작업을 시작하겠습니다. 우리는 도전을 좋아합니다!
Stay up to date: sign up for our newsletter
Reference
이 문제에 관하여(AWS 비용에 대한 개발자 안내서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/brianpregan/developers-guide-to-aws-costs-1al2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)