使用 AWS 控制台自动激活接收账单提醒选项的方法
Automised way to activate Receive Billing Alerts Option with the AWS Console
我正在寻找一种自动方式来激活 AWS 账单首选项选项以接收账单提醒。据了解,这是从 Cloudwatch 接收账单提醒的要求。
我搜索了 boto3 参考文档,但没有成功。我不想使用像 mentionend here.
这样的静态检查
对我来说,在一定的优先级和阈值上进行一些扫描似乎是理想的解决方案。
我正在考虑在帐户设置堆栈中使用 CustomResource 来激活此选项。
提前致谢!
感谢@Dvir669。我想通了,AWS Budgets 解决了我的问题,不受区域限制(全球服务,具有区域端点)并且无需更改计费偏好。但是 AWS Budgets
带有一个复杂的计费仪表板。最后,警报通知格式正确,默认情况下不需要 SNS 主题。我附上了图片。
在 CDK 中,配置 AWS 预算非常简单:
# CDK Libs
from aws_cdk import core
from aws_cdk import aws_budgets as _budgets
class BillingAlertStack(core.Stack):
def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
# The code that defines your stack goes here
#####################
# Emails for Alerts
#####################
emails_list = [
"youremail1@example.com",
...
]
#####################
# Thresholds for Alerts
#####################
thresholds_list = [
15,
...
]
#####################
# Budget Alert
#####################
subscribers_list=[]
for emails in emails_list:
subscribers_list.append(
_budgets.CfnBudget.SubscriberProperty(
address=emails,
subscription_type="EMAIL"
)
)
for thresholds in thresholds_list:
property= _budgets.CfnBudget.BudgetDataProperty(
budget_type="COST",
budget_limit=_budgets.CfnBudget.SpendProperty(
amount=thresholds,
unit="USD"
),
time_unit="MONTHLY",
)
budgets = _budgets.CfnBudget(
self,
id="Budget-{}".format(thresholds),
budget=property,
notifications_with_subscribers=[
_budgets.CfnBudget.NotificationWithSubscribersProperty(
notification=_budgets.CfnBudget.NotificationProperty(
comparison_operator="GREATER_THAN",
notification_type="ACTUAL",
threshold=80,
threshold_type="PERCENTAGE"
),
subscribers=subscribers_list
)
]
)
如您所见,到目前为止还没有详细的构造可用,但 Python
它本身就比普通的 CloudFormation
更具优势。在 app.py
中,您可以一次指定多个帐户。在 AWS Organizations
.
内的 OU 上应用 AWS 预算非常有意义
我正在寻找一种自动方式来激活 AWS 账单首选项选项以接收账单提醒。据了解,这是从 Cloudwatch 接收账单提醒的要求。
我搜索了 boto3 参考文档,但没有成功。我不想使用像 mentionend here.
这样的静态检查对我来说,在一定的优先级和阈值上进行一些扫描似乎是理想的解决方案。
我正在考虑在帐户设置堆栈中使用 CustomResource 来激活此选项。
提前致谢!
感谢@Dvir669。我想通了,AWS Budgets 解决了我的问题,不受区域限制(全球服务,具有区域端点)并且无需更改计费偏好。但是 AWS Budgets
带有一个复杂的计费仪表板。最后,警报通知格式正确,默认情况下不需要 SNS 主题。我附上了图片。
在 CDK 中,配置 AWS 预算非常简单:
# CDK Libs
from aws_cdk import core
from aws_cdk import aws_budgets as _budgets
class BillingAlertStack(core.Stack):
def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
# The code that defines your stack goes here
#####################
# Emails for Alerts
#####################
emails_list = [
"youremail1@example.com",
...
]
#####################
# Thresholds for Alerts
#####################
thresholds_list = [
15,
...
]
#####################
# Budget Alert
#####################
subscribers_list=[]
for emails in emails_list:
subscribers_list.append(
_budgets.CfnBudget.SubscriberProperty(
address=emails,
subscription_type="EMAIL"
)
)
for thresholds in thresholds_list:
property= _budgets.CfnBudget.BudgetDataProperty(
budget_type="COST",
budget_limit=_budgets.CfnBudget.SpendProperty(
amount=thresholds,
unit="USD"
),
time_unit="MONTHLY",
)
budgets = _budgets.CfnBudget(
self,
id="Budget-{}".format(thresholds),
budget=property,
notifications_with_subscribers=[
_budgets.CfnBudget.NotificationWithSubscribersProperty(
notification=_budgets.CfnBudget.NotificationProperty(
comparison_operator="GREATER_THAN",
notification_type="ACTUAL",
threshold=80,
threshold_type="PERCENTAGE"
),
subscribers=subscribers_list
)
]
)
如您所见,到目前为止还没有详细的构造可用,但 Python
它本身就比普通的 CloudFormation
更具优势。在 app.py
中,您可以一次指定多个帐户。在 AWS Organizations
.