설정 없이 사용하고 싶나요? 지출 프리셋을 사용하세요
홈 화면에 AWS 요금만 표시하려면 대시보드가 필요하지 않습니다. 결제 지표를 켠 다음(1단계), 위젯 만들기 › 프리셋에서 CloudPeek의 지출 프리셋을 추가하세요. 이 프리셋들로 아래 대시보드가 보여 주는 모든 내용을 표시할 수 있습니다.
| 대시보드 위젯 | 프리셋 | 차이점 |
|---|---|---|
| 지출 상위 5개 서비스 | 서비스별 지출 | 모든 서비스를 큰 순서대로 표시하며, 공간이 부족해 표시하지 못한 서비스는 합산하여 기타로 표시합니다. 합계는 전체 요금이 아니라 서비스 금액의 합입니다. |
| 이번 달 누계 지출 | 이번 달 누계 지출 | 동일합니다. |
| 지난 7일 지출 | 계정별 일일 지출 | 동일합니다. AWS Organizations 관리 계정에서는 각 계정을 열에 누적하여 표시하며, 2주, 30일 또는 이번 달 누계도 표시할 수 있습니다. |
| 상위 5개 서비스의 지출 비중 | 지출 비율 | 5개만이 아니라 모든 서비스를 표시합니다. |
프리셋에는 월말 예측, 지출 및 예측, 서비스별 일일 지출, 일일 지출 표, 지출 추세도 있습니다. 프리셋을 참조하세요. 고정된 상위 5개, 전체 요금을 나타내는 합계, CloudWatch 콘솔에서도 볼 수 있는 같은 위젯, 또는 CloudFormation이나 Terraform으로 관리하는 대시보드가 필요하다면 대신 대시보드를 만드세요.
만들 결과물
위젯 4개가 있는 CloudPeek-Spend라는 CloudWatch 대시보드를 만듭니다. 첫 번째는 이번 달 지금까지 지출이 가장 많은 서비스 5개를 자동으로 찾아 계정 합계와 함께 보여 주는 막대 차트입니다. 두 번째는 이번 달 누계 합계를 지난 1주의 스파크라인과 함께 보여 줍니다. 세 번째는 지난 7일 동안 날마다 지출한 금액을 하루에 열 하나씩 보여 주고, 네 번째는 상위 5개 서비스의 지출 비중을 보여 주는 파이 차트입니다. CloudPeek에서는 다음과 같이 표시됩니다.
AWS 콘솔에서는 약 15분이 걸리며, CloudFormation이나 Terraform으로는 한 번만 배포하면 됩니다. 각 단계의 탭에서 사용할 도구를 선택하세요.
시작하기 전에
- AWS 계정, 그리고 결제 기본 설정을 변경하고 CloudWatch 대시보드와 IAM 사용자 및 정책을 만들 수 있는 로그인 정보(예: 관리자). 계정이 AWS Organizations에 속해 있는 경우, 조직 전체의 지출을 보려면 관리 계정을 사용하세요.
- iPhone, iPad 또는 Android 휴대전화에 설치된 CloudPeek.
비용. 결제 지표는 무료입니다. CloudWatch 프리 티어에는 대시보드 3개가 포함되며, 그 이상은 대시보드당 월 $3입니다. CloudPeek은 새로고침할 때 GetMetricData를 호출하며, AWS는 이에 대해 지표 1,000개당 $0.01를 청구합니다. AWS는 결제 지표를 하루에 몇 번만 업데이트하므로 이 위젯은 최대 3시간마다 새로고침됩니다. 위젯 4개를 모두 고정하면 새로고침당 지표 약 15개, 한 달에 약 4¢입니다. 설정의 새로고침에서 사용 중인 위젯의 예상 비용을 확인할 수 있습니다. CloudWatch 요금을 참조하세요.
1. 결제 지표 켜기
AWS는 사용자가 직접 켜야만 예상 요금을 CloudWatch로 보냅니다. 이 작업은 계정마다 한 번씩 콘솔에서 해야 합니다. CloudFormation, Terraform, AWS CLI로는 이 설정을 변경할 수 없습니다.
- AWS 콘솔에 로그인하고 Billing and Cost Management › 결제 기본 설정을 여세요.
- 알림 기본 설정에서 편집을 선택하세요.
- CloudWatch 결제 알림 수신을 선택하고 변경 사항을 저장하세요.
예상 요금은 하루에 여러 번 미국 동부(버지니아 북부) 리전(us-east-1)에 게시됩니다. 요금은 매월 초부터 누적되므로 매달 0으로 돌아갑니다. 첫 데이터가 표시되기까지 몇 시간이 걸릴 수 있습니다. 루트 사용자로 로그인하지 않은 경우, 계정에서 결제 정보에 대한 IAM 액세스도 허용해야 합니다(계정 › 결제 정보에 대한 IAM 사용자 및 역할 액세스에서 설정).
첫 데이터가 도착할 때까지 다음 단계에서 만들 대시보드에는 사용 가능한 데이터가 없습니다라고 표시되고, CloudPeek의 지출 위젯에는 “결제 콘솔에서 CloudWatch 결제 알림을 켜세요. 하루 이내에 지출이 표시됩니다.”라고 표시됩니다(소형 위젯에서는 “CloudWatch 결제 알림을 켜세요.”). 결제 지표가 시작되었는지 확인하려면 us-east-1에서 CloudWatch를 열고 지표 › 모든 지표를 선택하세요. 결제 지표가 시작되었다면 Billing 네임스페이스가 나타납니다. Metrics Explorer에는 결제 지표가 나열되지 않으므로 모든 지표에서 확인하세요.
AWS Organizations에서는 결제 지표가 관리 계정에만 있으며, 관리 계정에는 모든 계정의 요금이 계정별로 나뉘어 있습니다(계정별 지출). 다른 계정에는 결제 지표가 없으므로 관리 계정에서 결제 알림을 켜고, 지출 위젯을 사용하려면 관리 계정을 CloudPeek에 추가하세요. IAM Identity Center로 로그인한 계정이 관리 계정이 아니면 CloudPeek의 지출 위젯에 “이 계정의 지출은 조직의 관리 계정에 있습니다.”라고 표시됩니다(소형 위젯에서는 “지출은 관리 계정에 있습니다.”). CloudPeek은 조직의 계정 목록을 가져올 수 있는지(CloudPeek의 정책에 포함된 organizations:ListAccounts)를 보고 관리 계정인지 판단하므로, 관리 계정의 로그인 정보에 이 권한을 부여하세요.
2. 대시보드 만들기
- us-east-1의 CloudWatch 콘솔을 열고 대시보드 생성을 선택하세요.
- 이름을
CloudPeek-Spend로 지정하고 대시보드 생성을 선택하세요. 위젯 추가 창이 열리면 닫으세요. - 작업 › 소스 보기/편집을 선택하고, 소스를 대시보드 JSON으로 바꾼 다음 업데이트를 선택하세요.
- 저장을 선택하세요.
spend-by-service.json 파일을 다운로드하고(전체 내용은 아래 참조) 다음 명령을 실행하세요.
aws cloudwatch put-dashboard \
--region us-east-1 \
--dashboard-name CloudPeek-Spend \
--dashboard-body file://spend-by-service.json
템플릿 하나로 대시보드와 함께 3단계의 CloudPeek 정책과 IAM 사용자도 만듭니다. 대시보드 리소스는 다음과 같습니다.
Dashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: !Ref DashboardName
DashboardBody: !Sub |
{
"start": "-P7D",
"widgets": [
{
"type": "metric",
"x": 0,
"y": 0,
"width": 12,
"height": 8,
"properties": {
"title": "Top ${TopServices} services by spend",
"view": "bar",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "label": "Total" } ],
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${Currency}\"', 'Maximum', 21600), MAX, DESC, ${TopServices})", "label": "${!PROP('Dim.ServiceName')}", "id": "top" } ]
]
}
},
{
"type": "metric",
"x": 12,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Month-to-date spend",
"view": "singleValue",
"region": "us-east-1",
"stat": "Maximum",
"period": 21600,
"sparkline": true,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "label": "Total" } ]
]
}
},
{
"type": "metric",
"x": 18,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Last 7 days' spend",
"view": "timeSeries",
"region": "us-east-1",
"start": "-P7D",
"stat": "Maximum",
"period": 86400,
"yAxis": { "left": { "min": 0 } },
"metrics": [
[ { "expression": "IF(DIFF(m1) < 0, m1, DIFF(m1))", "label": "Spend", "id": "daily" } ],
[ "AWS/Billing", "EstimatedCharges", "Currency", "${Currency}", { "id": "m1", "visible": false } ]
]
}
},
{
"type": "metric",
"x": 0,
"y": 8,
"width": 12,
"height": 8,
"properties": {
"title": "Top ${TopServices} services' share of spend",
"view": "pie",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${Currency}\"', 'Maximum', 21600), MAX, DESC, ${TopServices})", "label": "${!PROP('Dim.ServiceName')}", "id": "share" } ]
]
}
}
]
}
본문은 아래의 대시보드 JSON이며, ${TopServices}와 ${Currency}는 스택의 파라미터 값으로 채워집니다. ${!PROP(…)}는 CloudFormation이 동적 레이블을 자체 변수로 처리하지 않도록 합니다.
aws cloudformation deploy \
--region us-east-1 \
--stack-name CloudPeek \
--template-file cloudpeek-setup.yaml \
--capabilities CAPABILITY_NAMED_IAM
또는 us-east-1의 CloudFormation 콘솔에서 템플릿 파일 업로드를 선택하고, 스택 이름을 CloudPeek으로 지정하고, 파라미터를 확인한 다음, 제출하기 전에 AWS CloudFormation에서 사용자 지정 이름으로 IAM 리소스를 생성할 수 있음을 승인합니다를 선택하세요. 스택이 CREATE_COMPLETE 상태가 되면 출력 탭에 대시보드 링크가 표시됩니다.
| 파라미터 | 기본값 | 용도 |
|---|---|---|
DashboardName | CloudPeek-Spend | 대시보드 이름입니다. |
TopServices | 5 | 차트에 표시할 상위 서비스 수입니다(1~20). |
Currency | USD | 요금이 청구되는 통화입니다. |
PolicyName | CloudPeek | 정책 이름입니다. |
CreateUser | true | IAM Identity Center로 로그인하려면 false로 설정하세요. |
UserName | cloudpeek | IAM 사용자 이름입니다. |
값을 변경하려면 --parameter-overrides를 추가하세요(예: --parameter-overrides TopServices=10 CreateUser=false).
구성 하나로 대시보드와 함께 3단계의 CloudPeek 정책과 IAM 사용자도 만듭니다. 대시보드 리소스는 다음과 같습니다.
resource "aws_cloudwatch_dashboard" "spend" {
dashboard_name = var.dashboard_name
dashboard_body = jsonencode({
start = "-P7D"
widgets = [
{
type = "metric"
x = 0
y = 0
width = 12
height = 8
properties = {
title = "Top ${var.top_services} services by spend"
view = "bar"
region = "us-east-1"
start = "-P1D"
stat = "Maximum"
period = 21600
metrics = [
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { label = "Total" }],
[{
expression = "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${var.currency}\"', 'Maximum', 21600), MAX, DESC, ${var.top_services})"
label = "$${PROP('Dim.ServiceName')}"
id = "top"
}],
]
}
},
{
type = "metric"
x = 12
y = 0
width = 6
height = 8
properties = {
title = "Month-to-date spend"
view = "singleValue"
region = "us-east-1"
stat = "Maximum"
period = 21600
sparkline = true
metrics = [
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { label = "Total" }],
]
}
},
{
type = "metric"
x = 18
y = 0
width = 6
height = 8
properties = {
title = "Last 7 days' spend"
view = "timeSeries"
region = "us-east-1"
start = "-P7D"
stat = "Maximum"
period = 86400
yAxis = { left = { min = 0 } }
metrics = [
[{ expression = "IF(DIFF(m1) < 0, m1, DIFF(m1))", label = "Spend", id = "daily" }],
["AWS/Billing", "EstimatedCharges", "Currency", var.currency, { id = "m1", visible = false }],
]
}
},
{
type = "metric"
x = 0
y = 8
width = 12
height = 8
properties = {
title = "Top ${var.top_services} services' share of spend"
view = "pie"
region = "us-east-1"
start = "-P1D"
stat = "Maximum"
period = 21600
metrics = [
[{
expression = "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"${var.currency}\"', 'Maximum', 21600), MAX, DESC, ${var.top_services})"
label = "$${PROP('Dim.ServiceName')}"
id = "share"
}],
]
}
},
]
})
}
jsonencode로 아래의 대시보드 JSON과 똑같은 대시보드를 만듭니다. $${PROP(…)}는 Terraform이 동적 레이블을 보간 구문으로 처리하지 않도록 합니다. 빈 디렉터리에 파일을 저장하고 다음 명령을 실행하세요.
terraform init
terraform apply
| 변수 | 기본값 | 용도 |
|---|---|---|
dashboard_name | CloudPeek-Spend | 대시보드 이름입니다. |
top_services | 5 | 차트에 표시할 상위 서비스 수입니다(1~20). |
currency | USD | 요금이 청구되는 통화입니다. |
policy_name | CloudPeek | 정책 이름입니다. |
create_user | true | IAM Identity Center로 로그인하려면 false로 설정하세요. |
user_name | cloudpeek | IAM 사용자 이름입니다. |
값을 변경하려면 -var를 전달하세요(예: terraform apply -var top_services=10 -var create_user=false). 기존 구성에 대시보드를 추가하려면 terraform 및 provider 블록을 제외하고 리소스를 복사하세요.
3. CloudPeek용 로그인 정보 만들기
시작하기의 CloudPeek용 로그인 정보 만들기를 따르세요. CloudPeek 정책과 함께 액세스 키가 있는 IAM 사용자 또는 IAM Identity Center 권한 세트를 만듭니다.
시작하기의 CloudPeek용 로그인 정보 만들기를 따르세요. IAM 사용자 또는 IAM Identity Center 권한 세트를 만드는 AWS CLI 명령이 나와 있습니다.
2단계의 스택에서 이미 CloudPeek 정책을 만들었고, CreateUser를 false로 설정하지 않았다면 cloudpeek 사용자도 만들었습니다. 사용자의 액세스 키를 만드세요. 보안 액세스 키는 한 번만 표시됩니다.
aws iam create-access-key --user-name cloudpeek
IAM Identity Center의 경우 CloudPeek 정책을 고객 관리형 정책으로 권한 세트에 연결하세요(옵션 B 참조).
2단계의 구성에서 이미 CloudPeek 정책을 만들었고, create_user를 false로 설정하지 않았다면 cloudpeek 사용자도 만들었습니다. 보안 액세스 키가 Terraform 상태에 남지 않도록 사용자의 액세스 키는 Terraform 외부에서 만드세요. 보안 액세스 키는 한 번만 표시됩니다.
aws iam create-access-key --user-name cloudpeek
IAM Identity Center의 경우 CloudPeek 정책을 고객 관리형 정책으로 권한 세트에 연결하세요(옵션 B 참조).
4. 계정 추가 및 위젯 고정
- CloudPeek의 계정 탭에서 액세스 키나 IAM Identity Center로 계정을 추가하세요(시작하기의 2단계 참조). 기본 리전은 어디든 상관없습니다. 지출 위젯은 항상
us-east-1을 읽습니다. - 계정 탭에서 계정을 열고 CloudPeek-Spend 대시보드를 연 다음, 원하는 위젯에서 고정을 탭하세요. 위젯은 Top 5 services by spend(지출 상위 5개 서비스), Month-to-date spend(이번 달 누계 지출), Last 7 days' spend(지난 7일 지출), Top 5 services' share of spend(상위 5개 서비스의 지출 비중)입니다.
- 위젯마다 한 번씩 CloudPeek을 홈 화면에 추가하고, 각각 표시할 위젯을 선택하세요(표시할 위젯 선택하기 참조). 막대 차트와 파이 차트에는 중형이, 이번 달 누계 합계와 지난 7일 지출에는 소형이 적합합니다.
결과: 결제 지표가 도착하면 막대 차트에 이번 달 지출이 가장 많은 서비스가 표시되고, 그 위에 합계가 표시됩니다. 그전까지는 위젯에 이 시간 범위에 대한 데이터가 없습니다.라고 표시됩니다.
iPhone 및 iPad에서는 합계를 잠금 화면에 두어도 좋습니다. 잠금 화면 위젯은 최신 값을 표시합니다.
대시보드 작동 방식
어떤 도구를 사용했든 최종적으로 만들어지는 대시보드는 다음과 같습니다.
{
"start": "-P7D",
"widgets": [
{
"type": "metric",
"x": 0,
"y": 0,
"width": 12,
"height": 8,
"properties": {
"title": "Top 5 services by spend",
"view": "bar",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "label": "Total" } ],
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "label": "${PROP('Dim.ServiceName')}", "id": "top" } ]
]
}
},
{
"type": "metric",
"x": 12,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Month-to-date spend",
"view": "singleValue",
"region": "us-east-1",
"stat": "Maximum",
"period": 21600,
"sparkline": true,
"metrics": [
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "label": "Total" } ]
]
}
},
{
"type": "metric",
"x": 18,
"y": 0,
"width": 6,
"height": 8,
"properties": {
"title": "Last 7 days' spend",
"view": "timeSeries",
"region": "us-east-1",
"start": "-P7D",
"stat": "Maximum",
"period": 86400,
"yAxis": { "left": { "min": 0 } },
"metrics": [
[ { "expression": "IF(DIFF(m1) < 0, m1, DIFF(m1))", "label": "Spend", "id": "daily" } ],
[ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "id": "m1", "visible": false } ]
]
}
},
{
"type": "metric",
"x": 0,
"y": 8,
"width": 12,
"height": 8,
"properties": {
"title": "Top 5 services' share of spend",
"view": "pie",
"region": "us-east-1",
"start": "-P1D",
"stat": "Maximum",
"period": 21600,
"metrics": [
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,ServiceName} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "label": "${PROP('Dim.ServiceName')}", "id": "share" } ]
]
}
}
]
}
- 표현식 행이 상위 서비스를 자동으로 찾습니다.
SEARCH는 모든 서비스의 예상 요금을 찾고,SORT(…, MAX, DESC, 5)는 가장 큰 5개만 남깁니다. 새로 사용하기 시작한 서비스도 자동으로 나타납니다. 더 많이 또는 더 적게 표시하려면 막대 차트와 파이 차트 표현식 끝의5를 변경하세요(또는TopServices파라미터나top_services변수를 변경하세요). ${PROP('Dim.ServiceName')}레이블은 각 막대에AmazonEC2나AWSLambda같은 서비스 이름을 붙입니다. CloudPeek은 짧은 이름(EC2, Lambda)을 표시하고, 큰 순서대로 나열하며, 공간이 부족해 표시하지 못한 항목은 기타로 합산합니다.Currency차원만 있는 행은 이번 달 지금까지의 계정 전체 요금입니다. CloudPeek은 이 행을 막대가 아니라 위젯의 합계로 표시하므로 상위 5개 밖의 서비스도 합계에 포함됩니다. CloudWatch 콘솔에서는 막대 하나로 더 표시됩니다.- 요금은 매월 초부터 누적되므로 막대 차트와 파이 차트는 지난 1일만 봅니다(
"start": "-P1D"). 그래야 순위가 지난달이 아닌 이번 달 요금을 따릅니다. 이번 달 누계 합계는 스파크라인에 대시보드의 1주를 사용합니다. - 지난 7일 지출은 같은 이번 달 누계 요금을 숨겨진
m1행에서 하루에 한 번("period": 86400) 읽어서 구합니다.DIFF(m1)는 매일 늘어난 금액이며, 월초에 요금이 0으로 돌아가는 날에는IF(… < 0, m1, …)가 대신 새 달의 요금을 사용합니다. - CloudPeek은 각 날짜를 사용자 시간대의 자정부터 시작하는 열로 그리며, 오늘의 지금까지 금액은 오른쪽 끝에 표시합니다. CloudWatch 콘솔에는 이런 차트가 없으므로 같은 날짜를 선으로 그립니다.
- 요금이 미국 달러로 청구되지 않는다면 행과 표현식의 모든
USD를 사용하는 통화 코드로 바꾸세요. - 파이 차트는 막대 차트와 같은 표현식을 사용하지만 합계 행이 없으므로, 각 조각은 상위 5개 서비스 비용의 합에서 각 서비스가 차지하는 비중입니다. CloudPeek은 그 합을 가운데에 표시합니다.
- 나머지를 모두 파이 차트에 기타 조각으로 포함하고 가운데에 계정 전체 요금을 표시하려면 막대 차트의 합계 행을 파이 차트에 복사하세요. 그러면 CloudWatch 콘솔에서는 합계가 조각 하나로 더 그려집니다.
모든 서비스의 요금을 보려면 us-east-1에서 CloudWatch를 열고 모든 지표 › Billing › 서비스별을 선택하세요.
각 서비스의 일별 지출을 하루에 열 하나씩 누적하여 보려면 서비스별 일일 지출 프리셋을 추가하거나(지출 프리셋 참조), AI 위젯에서 “지난 7일 동안의 서비스별 일일 지출을 누적으로”처럼 설명하세요. 각 서비스의 요금도 매월 초부터 누적되므로, DIFF(m1)가 합계에 대해 하는 것처럼 각 서비스가 매일 얼마나 늘었는지 계산합니다.
지난 7일 지출을 하루에 행 하나씩 최신순으로 표에 나열하려면 일일 지출 표 프리셋을 추가하거나, AI 위젯에서 “지난 7일 지출을 하루에 한 행씩 표로”처럼 설명하세요. 대시보드에서는 위의 DIFF(m1) 행을 "view": "table" 및 "table": {"layout": "vertical"}가 설정된 위젯에 넣으면 됩니다.
계정별 지출
계정이 AWS Organizations에 속해 있다면 관리 계정의 결제 지표는 LinkedAccount 차원으로 요금을 계정별로도 나눕니다. 지출이 가장 많은 서비스 대신 이번 달 지출이 가장 많은 계정 5개를 차트로 표시하려면 막대 차트나 파이 차트에서 서비스 표현식 행 대신 다음 표현식 행을 사용하세요.
[ { "expression": "SORT(SEARCH('{AWS/Billing,Currency,LinkedAccount} MetricName=\"EstimatedCharges\" Currency=\"USD\"', 'Maximum', 21600), MAX, DESC, 5)", "id": "accounts" } ]
또는 AI 위젯에서 원하는 것을 설명하세요. 예를 들어 “이번 달 계정별 지출”, 서비스 하나라면 “지난 7일 동안 계정별 SQS 지출을 누적 막대 그래프로”처럼 설명할 수 있습니다. 계정별 일일 지출 프리셋은 이미 각 계정의 지출을 하루에 열 하나씩 누적하여 표시합니다. 지출 프리셋을 참조하세요.
CloudWatch는 각 계정을 12자리 ID로만 식별합니다. CloudPeek은 대신 계정 이름을 표시하며, 다음 중 계정 이름을 알려 주는 첫 번째 출처의 이름을 사용합니다.
- AWS Organizations: 조직의 모든 계정 이름을 알려 줍니다. CloudPeek의 정책에 포함된
organizations:ListAccounts권한이 필요하며, 관리 계정(또는 위임된 관리자 계정)의 요청에만 응답합니다. CloudPeek은 하루에 한 번 요청합니다. - IAM Identity Center: IAM Identity Center로 로그인한 경우, 로그인할 수 있는 계정의 이름입니다.
- 계정 탭: 추가한 계정에 지정한 이름입니다.
이 중 어디에서도 이름을 찾지 못한 계정은 ID로 표시됩니다. AWS Organizations가 요청을 거부하면 CloudPeek은 6시간 후에, 또는 위젯을 새로고침하면 바로 다시 요청합니다.
제거
us-east-1의 CloudWatch 콘솔에서 대시보드를 열고 CloudPeek-Spend를 선택한 다음 삭제를 선택하세요. CloudPeek의 액세스 권한도 제거하려면 IAM 콘솔에서 cloudpeek 사용자와 CloudPeek 정책을 삭제하세요.
aws cloudwatch delete-dashboards --region us-east-1 --dashboard-names CloudPeek-Spend
CloudFormation은 아직 액세스 키가 있는 사용자나, 스택 외부의 무언가가 아직 사용 중인 정책은 삭제할 수 없습니다. 먼저 사용자의 액세스 키를 삭제하고 모든 권한 세트에서 정책을 분리한 다음, 스택을 삭제하세요.
aws iam list-access-keys --user-name cloudpeek
aws iam delete-access-key --user-name cloudpeek --access-key-id <access-key-id>
aws cloudformation delete-stack --region us-east-1 --stack-name CloudPeek
IAM은 아직 액세스 키가 있는 사용자나, 아직 다른 곳에 연결된 정책은 삭제하지 않습니다. 먼저 사용자의 액세스 키를 삭제하고 모든 권한 세트에서 정책을 분리한 다음, destroy를 실행하세요.
aws iam list-access-keys --user-name cloudpeek
aws iam delete-access-key --user-name cloudpeek --access-key-id <access-key-id>
terraform destroy
문제 해결
위젯이 비어 있거나 대시보드에 “사용 가능한 데이터가 없습니다”라고 표시됨
결제 지표가 아직 CloudWatch에 도달하지 않았으며, CloudPeek의 위젯에는 “결제 콘솔에서 CloudWatch 결제 알림을 켜세요. 하루 이내에 지출이 표시됩니다.”라고 표시됩니다. 결제 지표가 켜져 있는지 확인하고(1단계) 몇 시간 기다리세요. 그런 다음 us-east-1의 모든 지표에서 Billing 네임스페이스를 찾으세요(Metrics Explorer에는 결제 지표가 나열되지 않습니다). AWS Organizations에서는 조직 전체의 요금을 볼 수 있는 관리 계정에서 설정하세요. 조직의 다른 계정에서는 위젯에 “이 계정의 지출은 조직의 관리 계정에 있습니다.”라고 표시됩니다.
계정이 숫자로 표시됨
CloudPeek이 계정 이름을 찾지 못했습니다. 관리 계정에서 CloudPeek의 로그인 정보에 organizations:ListAccounts를 추가하거나 시작하기의 업데이트된 템플릿을 배포한 다음, 위젯을 새로고침하세요. 계정별 지출을 참조하세요.
서비스가 누락됨
이번 달 지출 상위 5개에 들지 않는 서비스입니다. 더 많이 표시하려면 SORT 표현식 끝의 숫자를 늘리세요(작동 방식 보기). 이 서비스의 요금은 이미 합계에 포함되어 있습니다.
합계가 막대를 모두 더한 값보다 큼
정상입니다. 합계는 상위 5개 밖의 서비스를 포함한 이번 달 지금까지의 전체 요금입니다.
그 밖의 문제
문제 해결을 참조하거나 support@cloudpeek.app에 이메일로 문의하세요. 보안 액세스 키는 절대 보내지 마세요.