Azure ๋น์ฉ ๋์๋ณด๋ ๊ฐ์ด๋
์๋ฒ(LSSN) ๋จ์๋ก ์์ง๋ Azure ๊ตฌ๋ ๋น์ฉ์ ์๋น์ค๋ณยท๋ฆฌ์์ค ๊ทธ๋ฃน๋ณ๋ก ์กฐํํ๊ณ ์๋ง ์์ ๋น์ฉ๊น์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
๐ ๊ฐ์
Azure ๋น์ฉ ๋์๋ณด๋๋ ์ ํํ ์๋ฒ(LSSN)์ ์ฐ๊ฒฐ๋ Azure ๊ตฌ๋
์ ๋น์ฉ ํํฉ์ ๋ณด์ฌ์ค๋๋ค. ๋น์ฉ ์์ง๊ธฐ๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์์งํด KVS์ ์ ์ฅํ ์ต์ ์ค๋
์ท(kFactor=azure_cost)์ ์ฝ์ด์, ์๋น์ค๋ณ ๋๋ ๋ฆฌ์์ค ๊ทธ๋ฃน๋ณ ๋น์ฉ ๋น์ค์ ํ์ ๋ง๋ ๊ทธ๋ํ๋ก ์๊ฐํํฉ๋๋ค. ์กฐํ ๊ธฐ๊ฐ์ด ์ด๋ฒ ๋ฌ ๋์ (MonthToDate)์ผ ๊ฒฝ์ฐ ํ์ฌ๊น์ง์ ์ผํ๊ท ์ ๊ธฐ์ค์ผ๋ก ์๋ง ์์ ๋น์ฉ๊น์ง ์ฐ์ถํฉ๋๋ค.
๐ค AI/API ํต์คํํธ
์ด ์ ์ ์ฌ๋์ด ์๋ AI ์์ด์ ํธ๋ ์คํฌ๋ฆฝํธ๊ฐ ์ด ํ๋ฉด๊ณผ ๋์ผํ ์๋ฒ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ถ์์ ์ง์ ์กฐํยท๋ถ์ํ๋๋ก ๋์ต๋๋ค. ํ๋ฉด๊ณผ ๊ณต๊ฐ API๋ ๊ฐ์ ๊ณต์ฉ ์กฐํ ์๋น์ค(์ ๋ณธ ์ ์ฅ ํ๋ก์์ )๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๊ฐ์ด ์ผ์นํฉ๋๋ค.
1. ์ค๋น๋ฌผ
CSN: ํ๋ก์ ํธ ๋ฒํธ(์:47).LSSN: ์๋ฒ ๋ฒํธ. ๋ชจ๋ฅด๋ฉด ์๋ ์๋ฒ ๋ชฉ๋ก API๋ก ์กฐํํ๋ฉฐ, ๊ธฐ๋ณธ ์๋ฒ(default_lssn)๋ฅผ ํจ๊ป ๋๋ ค์ค๋๋ค.API Key: ๋ฐ๊ธ๋ฐ์ ์ํฌ๋ฆฟ ํค. ํ๊ฒฝ๋ณ์(GIIP_API_KEY)๋ก๋ง ๋ณด๊ดํฉ๋๋ค.
2. ์ธ์ฆ ๋ณด์ ๊ฒฝ๊ณ (x-api-key)
- ์ธ์ฆ์
x-api-key์์ฒญ ํค๋๋ก๋ง ์ ๋ฌํฉ๋๋ค. URL ์ฟผ๋ฆฌ์คํธ๋ง์ด๋ ๋ณธ๋ฌธ์ ํค๋ฅผ ๋ฃ์ง ๋ง์ธ์(๋ก๊ทธยทํ๋ก์์ ๋ ธ์ถ๋ฉ๋๋ค). - ์๋ ์์ ๋ ํค๋ฅผ ํ๋์ฝ๋ฉํ์ง ์๊ณ ํ๊ฒฝ๋ณ์
GIIP_CSN/GIIP_LSSN/GIIP_API_KEY๋ง ์ฌ์ฉํฉ๋๋ค.
3. ํธ์ถ ์์ (azureCostServers โ azureCost)
azureCostServers๋ก ํด๋น CSN์ ์๋ฒ ๋ชฉ๋ก๊ณผ ๊ธฐ๋ณธ ์๋ฒ(default_lssn)๋ฅผ ์ป์ต๋๋ค.- ์ํ๋
lssn(๋๋default_lssn)์ผ๋กazureCost๋ฅผ ํธ์ถํด ๋น์ฉ ์์ธ๋ฅผ ์ป์ต๋๋ค.
4. Base URL / Method
| API | Method | URL |
|---|---|---|
| ์๋ฒ ๋ชฉ๋ก | GET | https://giipfaw.azurewebsites.net/api/azureCostServers?csn={csn} |
| ๋น์ฉ ์์ธ | GET | https://giipfaw.azurewebsites.net/api/azureCost?csn={csn}&lssn={lssn} |
5. Query / Header
| ์์น | ์ด๋ฆ | ํ์ | ์ค๋ช |
|---|---|---|---|
| query | csn | ํ์ | ํ๋ก์ ํธ ๋ฒํธ(์ ์) |
| query | lssn | azureCost๋ง ํ์ | ์๋ฒ ๋ฒํธ(์ ์) |
| header | x-api-key | ํ์ | ๋ฐ๊ธ๋ฐ์ ์ํฌ๋ฆฟ ํค |
6. ์ฑ๊ณต ์๋ต ์์ + ํ๋ ์ค๋ช
๊ณตํต ๋ดํฌ: { "rstVal": 200, "message": "OK", "data": { ... } }
azureCostServers์ data:
{
"csn": 47,
"default_lssn": 71197,
"servers": [
{ "lssn": 71197, "hostname": "example-host", "has_azure_cost_snapshot": true, "latest_collected_at": "2026-09-02T22:26:36" }
]
}
azureCost์ data:
{
"csn": 47,
"lssn": 71197,
"source": { "kfactor": "azure_cost", "snapshot_id": 44344061, "collected_at": "2026-09-02T22:26:36" },
"subscription": { "subscription_id": "<your-subscription-id>", "subscription_name": "<your-subscription>" },
"period": { "type": "MonthToDate", "start_date": "2026-09-01", "end_date": "2026-09-02", "currency": "KRW", "is_month_to_date": true },
"totals": { "pretax_cost": 87993.34, "forecast_month_end": 1319900.03 },
"by_service": [
{ "name": "Azure App Service", "pretax_cost": 38703.06, "ratio_percent": 43.98, "forecast_month_end": 580545.83 }
],
"by_resource_group": [
{ "name": "rg-example-prod", "pretax_cost": 54988.80, "ratio_percent": 62.49, "forecast_month_end": 824832.00, "mapped_csn": null }
]
}
ํ๋ ์ค๋ช :
totals.pretax_cost: ๊ธฐ๊ฐ ์ธ์ ์ด์ก.totals.forecast_month_end: ์๋ง ์์ธก(์๋ 8 ์ฐธ์กฐ).by_service[]/by_resource_group[]: ๋น์ฉ์ด ํฐ ์์ผ๋ก ์๋ฒ์์ ์ด๋ฏธ ์ ๋ ฌ๋ฉ๋๋ค.ratio_percent๋ ์ด์ก ๋๋น ๋น์จ(%),forecast_month_end๋ ๊ทธ ํญ๋ชฉ์ ์๋ง ์์ธก์ ๋๋ค.by_resource_group[].mapped_csn: ์๋ 9 ์ฐธ์กฐ.
7. ์ค๋ฅ ํ (HTTP / rstVal)
| HTTP | rstVal | message ์ | ์์ธ |
|---|---|---|---|
| 400 | 400 | csn and lssn are required numeric query parameters | ํ์ ํ๋ผ๋ฏธํฐ ๋๋ฝ/ํ์ ์ค๋ฅ |
| 401 | 401 | Missing x-api-key header | ํค ๋๋ฝ ๋๋ ๋ฌดํจ |
| 403 | 403 | Access denied | ํด๋น CSN ์ ๊ทผ ๊ถํ ์์ |
| 404 | 404 | No cost data for this server | ์๋ฒ๊ฐ CSN ์์์ด ์๋๊ฑฐ๋ ์ต๊ทผ 30์ผ ์ค๋ ์ท ์์ |
| 429 | 429 | Too Many Requests | ๊ณผ๋ค ํธ์ถ๋ก ๋ ์ดํธ๋ฆฌ๋ฐ(์๋ 10 ์ฐธ์กฐ) |
| 500 | 500 | (๋ด๋ถ ์ค๋ฅ ๋ฉ์์ง) | ์๋ฒ ์ค๋ฅ โ ์ ์ ํ ์ฌ์๋ |
8. ๊ฐ์ ์๋ฏธ (์ธ์ ยทํตํยท์ค๋ ์ทยทcollected_atยทMonthToDateยท์์ธก)
- ๋ชจ๋ ๋น์ฉ์ ์ธ์ (Pre-tax) ๊ธฐ์ค์ด๋ฉฐ, ํตํ๋
period.currency์ ๋๋ค. - ํญ์ ๊ฐ์ฅ ์ต๊ทผ ์ค๋
์ท ํ ๊ฑด ๊ธฐ์ค์
๋๋ค(์ค์๊ฐ ์๋). ์์ง ์๊ฐ์
source.collected_at์ ๋๋ค. period.type์ดMonthToDate๋ฉด ์ด๋ฒ ๋ฌ 1์ผ๋ถํฐ ์์ง์ผ๊น์ง์ ๋์ ์ ๋๋ค(is_month_to_date = true).forecast_month_end๋MonthToDate์ผ ๋๋ง ์ฐ์ถ๋ฉ๋๋ค. ์์์์ด๋น์ฉ ร (๊ทธ ๋ฌ ์ ์ฒด ์ผ์ รท ์์ง์ผ์)์ด๋ฉฐ, ๋ค๋ฅธ ๊ธฐ๊ฐ์ด๋ฉดnull์ ๋๋ค.- ์ค๋
์ท์
period.start_date/end_date์๋ณธ์ด ์์ดcollected_at๊ธฐ์ค์ผ๋ก ํ์ํฉ๋๋ค.
9. ์๋น์ค๋ณ / RG๋ณ ๋ถ์๊ณผ mapped_csn
by_service๋ Azure ์๋น์ค๋ณ,by_resource_group๋ ๋ฆฌ์์ค ๊ทธ๋ฃน๋ณ ๋น์ฉ์ ๋๋ค.mapped_csn์ ๊ทธ ๋ฆฌ์์ค ๊ทธ๋ฃน์ ์์ (๋งคํ)ํ CSN์ผ๋ก, ์์ฒญํ CSN๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค(๊ทธ RG์ ์์ ๊ฐ ๋ค๋ฅธ ํ๋ก์ ํธ์ผ ๋). ๊ฒฉ๋ฆฌ ์๋ฐ์ด ์๋๋ผ ์์ ๊ด๊ณ ์ ๋ณด์ด๋ฉฐ, ๋งคํ์ด ์์ผ๋ฉดnull์ ๋๋ค.
10. 429 ์ฌ์๋
- ๊ณต์ฉ API ๋จ์ฉ ๋ฐฉ์ง๋ฅผ ์ํด ๊ณผ๋ค ํธ์ถ ์
429 Too Many Requests๊ฐ ๋ฐํ๋ ์ ์์ต๋๋ค. ์๋ต์Retry-Afterํค๋(์ด)๊ฐ ์์ผ๋ฉด ๊ทธ๋งํผ ๋๊ธฐํ ๋ค ์ฌ์๋ํ๊ณ , ์์ผ๋ฉด ์ง์ ๋ฐฑ์คํ(์: 1s โ 2s โ 4s)๋ก ์ฌ์๋ํ์ธ์.
11. cURL ์์
# ํค๋ฅผ URL/๋ณธ๋ฌธ์ ๋ฃ์ง ์๊ณ ํ๊ฒฝ๋ณ์๋ง ์ฌ์ฉ
export GIIP_CSN=47
export GIIP_LSSN=71197 # ๋ชจ๋ฅด๋ฉด ์๋ตํ๊ณ ์๋ default_lssn ์ฌ์ฉ
export GIIP_API_KEY=***your_key***
# 1) ์๋ฒ ๋ชฉ๋ก + ๊ธฐ๋ณธ ์๋ฒ
curl -s "https://giipfaw.azurewebsites.net/api/azureCostServers?csn=${GIIP_CSN}" \
-H "x-api-key: ${GIIP_API_KEY}"
# 2) ๋จ์ผ ์๋ฒ ๋น์ฉ ์์ธ
curl -s "https://giipfaw.azurewebsites.net/api/azureCost?csn=${GIIP_CSN}&lssn=${GIIP_LSSN}" \
-H "x-api-key: ${GIIP_API_KEY}"
12. PowerShell ์์
$csn = $env:GIIP_CSN; $lssn = $env:GIIP_LSSN; $key = $env:GIIP_API_KEY
$h = @{ "x-api-key" = $key }
$base = "https://giipfaw.azurewebsites.net/api"
$servers = Invoke-RestMethod -Uri "$base/azureCostServers?csn=$csn" -Headers $h
$target = if ($lssn) { $lssn } else { $servers.data.default_lssn }
$cost = Invoke-RestMethod -Uri "$base/azureCost?csn=$csn&lssn=$target" -Headers $h
"์ด ์ธ์ ๋น์ฉ: $($cost.data.totals.pretax_cost) $($cost.data.period.currency)"
$cost.data.by_service | Select-Object -First 5 name, pretax_cost, ratio_percent
13. Python ์์ (ํ ํ์ผ: ์๋ฒ๋ชฉ๋ก โ ๊ธฐ๋ณธ LSSN โ ๋น์ฉ์กฐํ โ ์์ 5)
import os, sys, time, json, urllib.request, urllib.error
BASE = "https://giipfaw.azurewebsites.net/api"
CSN = os.environ["GIIP_CSN"]
KEY = os.environ["GIIP_API_KEY"]
LSSN = os.environ.get("GIIP_LSSN") # ์์ผ๋ฉด default_lssn ์ฌ์ฉ
def call(path):
req = urllib.request.Request(f"{BASE}/{path}", headers={"x-api-key": KEY})
for attempt in range(4):
try:
with urllib.request.urlopen(req, timeout=30) as r:
return json.load(r)
except urllib.error.HTTPError as e:
if e.code == 429: # ๋ ์ดํธ๋ฆฌ๋ฐ โ Retry-After ๋งํผ ๋๊ธฐ ํ ์ฌ์๋
time.sleep(int(e.headers.get("Retry-After", 2 ** attempt)))
continue
sys.exit(f"HTTP {e.code}: {e.read().decode()}")
sys.exit("429 ์ฌ์๋ ์ด๊ณผ")
servers = call(f"azureCostServers?csn={CSN}")
lssn = LSSN or servers["data"]["default_lssn"]
cost = call(f"azureCost?csn={CSN}&lssn={lssn}")["data"]
cur = cost["period"]["currency"]
print(f"์ด ์ธ์ ๋น์ฉ: {cost['totals']['pretax_cost']} {cur} "
f"(์๋ง์์ธก {cost['totals']['forecast_month_end']})")
print("์์ 5 ์๋น์ค:")
for s in cost["by_service"][:5]:
print(f" {s['name']}: {s['pretax_cost']} ({s['ratio_percent']:.1f}%)")
print("์์ 5 ๋ฆฌ์์ค๊ทธ๋ฃน:")
for g in cost["by_resource_group"][:5]:
print(f" {g['name']}: {g['pretax_cost']} ({g['ratio_percent']:.1f}%) mapped_csn={g['mapped_csn']}")
14. ์คํ ์์ (5๋จ๊ณ)
- ํ๊ฒฝ๋ณ์ ์ค์ :
GIIP_CSN,GIIP_API_KEY(์ ํGIIP_LSSN). azureCostServersํธ์ถ โdefault_lssnํ์ธ.azureCostํธ์ถ โdataํ๋.totals/by_service/by_resource_group๋ก ์ด์กยท์์ ํญ๋ชฉ ๋ถ์.- 4xx/5xx๋ ์ค๋ฅํ๋๋ก ์ฒ๋ฆฌํ๊ณ ,
429๋Retry-After๋ก ์ฌ์๋.
๐ ์ฃผ์ ๊ตฌ์ฑ ์์
1. ์๋น์ค / ๋ฆฌ์์ค ๊ทธ๋ฃน ํญ
ํ์ด์ง ์๋จ์ ๋ ํญ์ผ๋ก ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์๋น์ค๋ณ๊ณผ ๋ฆฌ์์ค ๊ทธ๋ฃน๋ณ ๋ ๊ด์ ์ผ๋ก ์ ํํฉ๋๋ค. ํญ์ ๋๋ฅด๋ฉด ํ์ด์ง ์ ์ฒด๋ฅผ ๋ค์ ๋ถ๋ฌ์ค์ง ์๊ณ ์ฃผ์์ฐฝ์ ?view= ๊ฐ(service ๋๋ rg)๋ง ๊ฐฑ์ ๋๋ฏ๋ก, ํน์ ๊ด์ ์ ๋งํฌ๋ฅผ ๊ทธ๋๋ก ๊ณต์ ํ ์ ์์ต๋๋ค.
2. ์๋ฒ(LSSN) ์ ํ
๋น์ฉ์ ์กฐํํ ๋์ ์๋ฒ๋ฅผ ์ง์ ํฉ๋๋ค.
- ๋๋กญ๋ค์ด: ํ์ฌ ํ๋ก์ ํธ(csn)์ ์ํ ์๋ฒ ๋ชฉ๋ก์ด
ํธ์คํธ๋ช (LSSN)ํํ๋ก ์ฑ์์ง๋๋ค. - ์ง์ ์ ๋ ฅ: ๋ชฉ๋ก์ ์๊ฑฐ๋ LSSN์ ์๊ณ ์์ผ๋ฉด ์ค๋ฅธ์ชฝ ์ ๋ ฅ๋์ ๋ฒํธ๋ฅผ ์ง์ ์ ๋ ฅํ๊ณ [์กฐํ]๋ฅผ ๋๋ฅด๊ฑฐ๋ Enter๋ก ์กฐํํฉ๋๋ค.
LSSN์ด ์ ํด์ง๋ฉด ์๋์ผ๋ก ์ต์ ๋น์ฉ ๋ฐ์ดํฐ๋ฅผ ์กฐํํฉ๋๋ค.
3. ์์ฝ ์นด๋
์กฐํ ๊ฒฐ๊ณผ ์๋จ์ ํต์ฌ ์งํ๋ฅผ ์นด๋๋ก ๋ณด์ฌ์ค๋๋ค.
- ์ด ๋น์ฉ: ํด๋น ๊ธฐ๊ฐ์ ์ธ์ ์ด์ก(
total_pretax_cost)๊ณผ ํตํ, ๊ธฐ๊ฐ(period). ์ด๋ฒ ๋ฌ ๋์ ์ด๋ฉดMonthToDate๋ก ํ์๋ฉ๋๋ค. - ์๋ง ์์:
MonthToDate๊ธฐ๊ฐ์ผ ๋๋ง ๋ํ๋๋ฉฐ, ํ์ฌ๊น์ง์ ์ผํ๊ท ร ๊ทธ ๋ฌ ์ ์ฒด ์ผ์๋ก ๊ณ์ฐํฉ๋๋ค. - ๊ตฌ๋
: ๊ตฌ๋
์ด๋ฆ(
subscription_name)๊ณผ ๊ตฌ๋ ID(subscription_id). - ์์ง ์๊ฐ: ๋ฐ์ดํฐ๊ฐ ์์ง๋ ์๊ฐ(
collected_at)๊ณผ ์กฐํํ LSSN.
4. ํญ๋ชฉ๋ณ ๋น์ฉ ํ
ํ์ฑ ํญ์ ๋ฐ๋ผ ์๋น์ค๋ณ ๋๋ ๋ฆฌ์์ค ๊ทธ๋ฃน๋ณ ๋น์ฉ์ ๋น์ฉ์ด ํฐ ์์๋ก ๋์ดํฉ๋๋ค.
- #: ์์
- ์๋น์ค / ๋ฆฌ์์ค ๊ทธ๋ฃน: ํญ๋ชฉ ์ด๋ฆ
- ๋น์ฉ: ํด๋น ํญ๋ชฉ์ ์ธ์ ๋น์ฉ
- ์๋ง ์์:
MonthToDate์ผ ๋๋ง ํ์๋๋ฉฐ, ์ ์ฒด ์์ ๋น์จ์ ํญ๋ชฉ์ ์ ์ฉํ ๊ฐ - ๋น์ค: ์ด ๋น์ฉ ๋๋น ๋น์จ์ ๋ง๋์ ๋ฐฑ๋ถ์จ๋ก ํ์
5. ๋ฆฌ์์ค ๊ทธ๋ฃน์ CSN(ํ๋ก์ ํธ) ์ง์ ยท ๋งคํ RG ํํฐ
๋ฆฌ์์ค ๊ทธ๋ฃน ํญ์์๋ ๊ฐ ๋ฆฌ์์ค ๊ทธ๋ฃน ํ์์ ๋ฐ๋ก ํ๋ก์ ํธ(CSN)๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
- ์ง์ ๋ฐฉ๋ฒ: ํ์ [์ง์ CSN] ๋๋กญ๋ค์ด์์ ํ๋ก์ ํธ๋ฅผ ๊ณ ๋ฅด๊ณ **[์ ์ฉ]**์ ๋๋ฅด๋ฉด ๊ทธ ๋ฆฌ์์ค ๊ทธ๋ฃน์ด ์ ํํ CSN์ ๋งคํ๋ฉ๋๋ค(๋ด๋ถ์ ์ผ๋ก
tCsnAzureRg์ ์ ์ฅ). ์ดํ ํด๋น CSN ๊ด์ ์ Azure ๋น์ฉ ์กฐํ(๋งคํ RG ํํฐยท์๊ณ)์ ์ด RG๊ฐ ๋ฐ์๋ฉ๋๋ค. - ์ฌ์ง์ / ํด์ : ์ด๋ฏธ ๋ค๋ฅธ CSN์ ๋งคํ๋ RG๋ฅผ ๋ค๋ฅธ ํ๋ก์ ํธ๋ก ๋ฐ๊พธ๋ฉด ์ด์ ๋งคํ์ ์๋์ผ๋ก ์ ๋ฆฌ๋์ด 1 RG = 1 CSN์ผ๋ก ์ ์ง๋ฉ๋๋ค.
(์ง์ ์ ํจ)์ ์ ํํด ์ ์ฉํ๋ฉด ๋งคํ์ด ํด์ ๋ฉ๋๋ค. - ๋งคํ RG๋ง ๋ณด๊ธฐ: ํ์ฌ ํ๋ก์ ํธ(CSN)์ ๋งคํ๋ RG๊ฐ 1๊ฑด ์ด์์ด๋ฉด "CSN ๋งคํ RG๋ง ๋ณด๊ธฐ" ํ ๊ธ์ด ๋ํ๋ฉ๋๋ค. ์ผ๋ฉด ์กฐํ ์ค์ธ ์๋ฒ์ ๋ฆฌ์์ค ๊ทธ๋ฃน์ ๋งคํ๋ RG๋ก๋ง ํํฐ๋งํ๊ณ ๋งคํ ์๊ณ๋ฅผ ํจ๊ป ๋ณด์ฌ์ค๋๋ค. ๋งคํ์ด ์์ผ๋ฉด ์ ์ฒด RG๊ฐ ๊ทธ๋๋ก ํ์๋ฉ๋๋ค(๋นํ๊ดด ํด๋ฐฑ).
- ์ด ์ธ๋ผ์ธ ์ง์ ์ ๋ณ๋ ๊ด๋ฆฌ ํ๋ฉด์ธ Azure ๋ฆฌ์์ค ๊ทธ๋ฃน ๊ด๋ฆฌ์ ๊ฐ์ ๋งคํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค. ๊ตฌ๋ IDยท๋ฉ๋ชจ๊น์ง ํฌํจํ ์ ๋ฐ ๊ด๋ฆฌ๋ ๊ด๋ฆฌ ํ๋ฉด์ ์ด์ฉํ์ธ์.
๐ ๏ธ ํ์ฉ ํ
- ๊ด์ ์ ํ: ์๋น์ค ํญ์ผ๋ก ์ด๋ค Azure ์๋น์ค๊ฐ ๋น์ฉ์ ๋ง์ด ์ฐ๋์ง, ๋ฆฌ์์ค ๊ทธ๋ฃน ํญ์ผ๋ก ์ด๋ค ๊ทธ๋ฃน์ด ํฐ์ง ๋๋ ์ ๋ณผ ์ ์์ต๋๋ค.
- ๋งํฌ ๊ณต์ :
?view=์?lssn=๊ฐ์ด ์ฃผ์์ฐฝ์ ๋ฐ์๋๋ฏ๋ก ํน์ ์๋ฒยท๊ด์ ์ ๊ทธ๋๋ก ๊ณต์ ํ ์ ์์ต๋๋ค. - ์๋ง ์์ ํ์ฉ: ์์ ๋น์ฉ์ ์ด๋ฒ ๋ฌ ๋์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๋ง ์ฐ์ถ๋ฉ๋๋ค. ๊ธ์ฆ ์ฌ๋ถ๋ฅผ ์กฐ๊ธฐ์ ํ์ ํ๋ ๋ฐ ํ์ฉํ์ธ์.
๐ก ์ ์ ์ฌํญ
- ํ์๋๋ ๋น์ฉ์ ๋ชจ๋ ์ธ์ (Pre-tax) ๊ธฐ์ค์ ๋๋ค.
- ํญ์ ๊ฐ์ฅ ์ต๊ทผ์ ์์ง๋ ํ ๊ฑด์ ์ค๋ ์ท์ ๋ณด์ฌ์ค๋๋ค. ์ค์๊ฐ ๊ฐ์ด ์๋๋ผ ์์ง ์๊ฐ ๊ธฐ์ค์ ๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์๋ด ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ๋๊ฐ ํด๋น ์๋ฒ์ ๋ํ ๋น์ฉ ์์ง๊ธฐ๊ฐ ์์ง ์คํ๋์ง ์์๊ฑฐ๋ ์ ์ฅ๋ ์ค๋ ์ท์ด ์๋ ๊ฒฝ์ฐ์ ๋๋ค.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| "๋ฐ์ดํฐ ์์"์ผ๋ก ํ์๋จ | ํด๋น LSSN์ ๋ํด ์์ง๋ azure_cost ์ค๋
์ท์ด ์์ | ๋์ ์๋ฒ์์ Azure ๋น์ฉ ์์ง๊ธฐ๊ฐ ์คํยท์ ์ฅ๋์๋์ง ํ์ธํฉ๋๋ค. |
| ์๋ฒ ๋๋กญ๋ค์ด์ด ๋น์ด ์์ | ํ๋ก์ ํธ(csn)๊ฐ ์ ํ๋์ง ์์๊ฑฐ๋ ๋ชฉ๋ก ๋ก๋ฉ์ ์คํจํจ | ํ๋ก์ ํธ๋ฅผ ์ ํํ ๋ค ๋ค์ ์ ์ํ๊ฑฐ๋, LSSN์ ์ค๋ฅธ์ชฝ ์ ๋ ฅ๋์ ์ง์ ์ ๋ ฅํฉ๋๋ค. |
| ์๋ง ์์ ์นด๋/์ด์ด ๋ณด์ด์ง ์์ | ์กฐํ ๊ธฐ๊ฐ์ด MonthToDate๊ฐ ์๋ | ์๋ง ์์์ ์ด๋ฒ ๋ฌ ๋์ ๋ฐ์ดํฐ์์๋ง ์ฐ์ถ๋ฉ๋๋ค. ๊ธฐ๊ฐ์ด ๋ค๋ฅด๋ฉด ์ ์ ๋์์ ๋๋ค. |
| ๋ฆฌ์์ค ๊ทธ๋ฃน ํญ์ด ๋น์ด ์์ | ์ค๋
์ท์ by_resource_group ๋ฐ์ดํฐ๊ฐ ์์ | ์์ง๊ธฐ๊ฐ ๋ฆฌ์์ค ๊ทธ๋ฃน ๋จ์ ๋น์ฉ๊น์ง ์์งํ๋์ง ํ์ธํฉ๋๋ค. |
| [์ง์ CSN] ๋๋กญ๋ค์ด์ด ๋ณด์ด์ง ์์ | ์ ํ ๊ฐ๋ฅํ ํ๋ก์ ํธ ๋ชฉ๋ก ๋ก๋ฉ ์คํจ(์์ ์์/๋คํธ์ํฌ) | ํ๋ก์ ํธ์ ์์๋ผ ์๋์ง ํ์ธ ํ ๋ค์ ์ ์ํฉ๋๋ค. ๋งคํ RG ํํฐยท์กฐํ๋ ์ ์ ๋์ํฉ๋๋ค. |
| [์ ์ฉ]ํด๋ ๋งคํ์ด ๋ฐ์๋์ง ์์ | ๋์ ํ๋ก์ ํธ(CSN) ๊ถํ ์์ ๋๋ API ์คํจ | ํด๋น CSN ๊ถํ์ ํ์ธํ๊ณ , ๋ฐ๋ณต๋๋ฉด ๊ด๋ฆฌ์์๊ฒ ๋ฌธ์ํฉ๋๋ค. |
| ์กฐํ ์ค ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋จ | ๋คํธ์ํฌ ์ค๋ฅ ๋๋ API ์๋ต ์คํจ | ์ ์ ํ ๋ค์ [์กฐํ]ํ๊ณ , ๋ฐ๋ณต๋๋ฉด ๊ด๋ฆฌ์์๊ฒ ๋ฌธ์ํฉ๋๋ค. |
๋ฒ์ : 1.1
์ต์ข
์
๋ฐ์ดํธ: 2026-07-24
์์ค ํ์ผ: giipv3/public/help/azure-cost.ko.md