خودکارسازی بینشهای بهینهسازی هزینه با AWS SAM: یک راهحل چارچوب خوشمعماری

Summarize this content to 400 words in Persian Lang
مقدمه
مدیریت هزینه یک رکن اصلی در چارچوب AWS Well-Architected Framework است. ادغام بینش های زمان واقعی در بهره وری هزینه ابر و تامین بیش از حد می تواند به طور قابل توجهی استفاده از منابع را افزایش دهد. این راهنما به بررسی استقرار a مدل برنامه بدون سرور (SAM) راه حلی برای خودکارسازی بینش بهینه سازی هزینه با استفاده از AWS EventBridge، API Gateway، Lambda و DynamoDB. این تنظیم معیارهای متمرکز بر هزینه را از مشاور مورد اعتماد AWS برای کمک به حفظ پیکربندیهای حجم کار کارآمد در راستای بهترین شیوههای AWS Well-Architected Framework.
نمای کلی معماری
راه حل از خدمات AWS استفاده می کند که به صورت زیر پیکربندی شده اند:
AWS SAM: استقرار بدون سرور، مدیریت پیکربندی منابع و وابستگی ها را هماهنگ می کند.
AWS EventBridge: به رویدادهای مربوط به ایجاد بارهای کاری جدید Well-Architected Framework گوش می دهد و AWS Lambda را فعال می کند.
AWS Lambda: معیارهای بهینه سازی هزینه مربوطه را از AWS Trusted Advisor (مانند نمونه های EC2 بیش از حد ارائه شده) واکشی می کند و آنها را در DynamoDB می نویسد.
DynamoDB: داده های ستون هزینه را برای هر بار کاری ذخیره می کند و دسترسی سریع و تجزیه و تحلیل تاریخی را تسهیل می کند.
دروازه API: برای بازیابی معیارهای حجم کار و نمایش بینش های بهینه سازی هزینه در برنامه ها یا داشبوردها، دسترسی راحت را امکان پذیر می کند.
استقرار گام به گام
مرحله 1: قالب SAM را پیکربندی کنید
منابع را در خود تعریف کنید قالب SAM (template.yaml) برای API Gateway، توابع Lambda، DynamoDB، و قوانین EventBridge. این فایل به عنوان پایه ای برای استقرار خودکار عمل می کند. یک قطعه نمونه برای راهاندازی لامبدا از طریق EventBridge میتواند به شکل زیر باشد:
Resources:
WorkloadEventRule:
Type: AWS::Events::Rule
Properties:
EventPattern:
source: [“aws.wellarchitected”]
detail:
eventName: [“CreateWorkload”]
Targets:
– Arn: !GetAtt CostOptimizationLambda.Arn
Id: “CostOptimizationTarget”
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 2: برای اطلاعات بهینه سازی هزینه، تابع Lambda را تنظیم کنید
این تابع لامبدا قلب راه حل است هنگامی که یک بار کاری جدید با معماری خوب ایجاد می شود توسط EventBridge فعال می شود. سپس لامبدا پرس و جو می کند مشاور مورد اعتماد AWS برای بینش بهینه سازی هزینه، مانند شناسایی نمونه های EC2 بیش از حد ارائه شده.
بینش مشاور معتمد را واکشی کنید: Lambda را برای فراخوانی نقاط پایانی AWS Trusted Advisor API، بهویژه برای نمونههای EC2، پیکربندی کنید تا دادهها را از منابعی که بیش از حد تهیه شده یا استفاده نشده است، جمعآوری کند.
به DynamoDB بنویسید: هنگامی که داده ها واکشی شدند، Lambda اطلاعات بینش را در DynamoDB می نویسد. دادهها را میتوان با شناسههای بار کاری به عنوان کلیدهای اولیه و معیارهای خاصی به عنوان ویژگیها ساختار داد که امکان جستجو و بازیابی آسان را فراهم میکند.
نمونه قطعه تابع Lambda:
import boto3
def lambda_handler(event, context):
# Set up Trusted Advisor and DynamoDB clients
trusted_advisor = boto3.client(‘support’)
dynamodb = boto3.resource(‘dynamodb’)
# Fetch cost-related insights from Trusted Advisor
response = trusted_advisor.describe_trusted_advisor_checks(language=’en’)
# Write relevant data to DynamoDB
table = dynamodb.Table(‘CostOptimizationTable’)
table.put_item(
Item={
‘WorkloadID’: event[‘detail’][‘workloadId’],
‘OptimizationMetrics’: response[‘checks’]
}
)
return {“status”: “Data saved”}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 3: جدول DynamoDB را برای ذخیره معیارها تعریف کنید
در قالب SAM خود، یک جدول DynamoDB برای ذخیره معیارهای هزینه تعریف کنید. این جدول به عنوان یک مخزن دائمی برای داده های ستون هزینه های تاریخی عمل می کند و آن را برای تجزیه و تحلیل و گزارش در دسترس قرار می دهد.
CostOptimizationTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: “CostOptimizationMetrics”
AttributeDefinitions:
– AttributeName: “WorkloadID”
AttributeType: “S”
KeySchema:
– AttributeName: “WorkloadID”
KeyType: “HASH”
BillingMode: PAY_PER_REQUEST
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 4: نمایش داده ها از طریق دروازه API
یک را تنظیم کنید دروازه API برای دسترسی به داده های ستون هزینه. این API می تواند توسط برنامه های کاربردی خارجی یا داشبوردها برای نمایش بینش بهینه سازی هزینه تولید شده توسط Trusted Advisor و ذخیره شده در DynamoDB استفاده شود.
نمونه پیکربندی الگوی SAM برای دروازه API:
CostOptimizationApi:
Type: AWS::Serverless::Api
Properties:
StageName: “prod”
DefinitionBody:
paths:
/workload/{id}:
get:
x-amazon-apigateway-integration:
uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${CostOptimizationLambda.Arn}/invocations
httpMethod: POST
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
تست و نظارت
ادغام Lambda و EventBridge را تست کنید: یک بار کاری جدید با معماری Well-Architected ایجاد کنید تا ببینید آیا Lambda راه اندازی شده است یا خیر و آیا داده ها در DynamoDB نوشته شده است.
دسترسی به داده ها از طریق API Gateway: از نقطه پایانی API برای بازیابی معیارهای هزینه برای تأیید استفاده کنید.
مانیتور با گزارش های CloudWatch: گزارشهای مربوط به اجرای Lambda را بررسی کنید تا مطمئن شوید در واکشی دادههای Trusted Advisor یا نوشتن در DynamoDB خطایی وجود ندارد.
مزایای راه حل
این راه حل خودکار با بهترین شیوه های AWS Well-Architected Framework با ارائه دید مداوم به معیارهای بهینه سازی هزینه همسو می شود. مزایای کلیدی عبارتند از:
بینش هزینه در زمان واقعی: به طور خودکار بینشهای مربوط به هزینه را برای هر بار کاری استخراج میکند و به شناسایی صرفهجوییهای احتمالی در منابع بیش از حد کمک میکند.
بهبود استفاده از منابع: بهروزرسانیهای منظم تضمین میکند که حجم کار براساس توصیههای Trusted Advisor بهینه میشود.
راه حل مقیاس پذیر: مقیاس معماری بدون سرور برای مدیریت بارهای کاری متعدد و حجم زیادی از داده ها بدون دخالت دست. به اسکرین شات زیر مراجعه کنید تا بدانید راه حل فوق چگونه بینش را ارائه می دهد.
نتیجه گیری
خودکارسازی بینش هزینه با AWS SAM، Lambda، EventBridge، Trusted Advisor و DynamoDB رویکردی فعال برای مدیریت هزینههای ابری ارائه میدهد. این راه حل نشان می دهد که چگونه سرویس های بدون سرور AWS می توانند به طور یکپارچه با هم ادغام شوند تا انطباق و بهینه سازی هزینه را مطابق با بهترین شیوه های معماری خوب انجام دهند. با این قابلیت ها، تیم شما می تواند به راحتی بارهای کاری کارآمد و مقرون به صرفه را در AWS حفظ کند.
این راه حل بینش مداوم بهینه سازی هزینه را امکان پذیر می کند و آن را به یک افزودنی عملی برای هر استراتژی مدیریت مالی ابری تبدیل می کند.
مقدمه
مدیریت هزینه یک رکن اصلی در چارچوب AWS Well-Architected Framework است. ادغام بینش های زمان واقعی در بهره وری هزینه ابر و تامین بیش از حد می تواند به طور قابل توجهی استفاده از منابع را افزایش دهد. این راهنما به بررسی استقرار a مدل برنامه بدون سرور (SAM) راه حلی برای خودکارسازی بینش بهینه سازی هزینه با استفاده از AWS EventBridge، API Gateway، Lambda و DynamoDB. این تنظیم معیارهای متمرکز بر هزینه را از مشاور مورد اعتماد AWS برای کمک به حفظ پیکربندیهای حجم کار کارآمد در راستای بهترین شیوههای AWS Well-Architected Framework.
نمای کلی معماری
راه حل از خدمات AWS استفاده می کند که به صورت زیر پیکربندی شده اند:
- AWS SAM: استقرار بدون سرور، مدیریت پیکربندی منابع و وابستگی ها را هماهنگ می کند.
- AWS EventBridge: به رویدادهای مربوط به ایجاد بارهای کاری جدید Well-Architected Framework گوش می دهد و AWS Lambda را فعال می کند.
- AWS Lambda: معیارهای بهینه سازی هزینه مربوطه را از AWS Trusted Advisor (مانند نمونه های EC2 بیش از حد ارائه شده) واکشی می کند و آنها را در DynamoDB می نویسد.
- DynamoDB: داده های ستون هزینه را برای هر بار کاری ذخیره می کند و دسترسی سریع و تجزیه و تحلیل تاریخی را تسهیل می کند.
- دروازه API: برای بازیابی معیارهای حجم کار و نمایش بینش های بهینه سازی هزینه در برنامه ها یا داشبوردها، دسترسی راحت را امکان پذیر می کند.
استقرار گام به گام
مرحله 1: قالب SAM را پیکربندی کنید
منابع را در خود تعریف کنید قالب SAM (template.yaml
) برای API Gateway، توابع Lambda، DynamoDB، و قوانین EventBridge. این فایل به عنوان پایه ای برای استقرار خودکار عمل می کند. یک قطعه نمونه برای راهاندازی لامبدا از طریق EventBridge میتواند به شکل زیر باشد:
Resources:
WorkloadEventRule:
Type: AWS::Events::Rule
Properties:
EventPattern:
source: ["aws.wellarchitected"]
detail:
eventName: ["CreateWorkload"]
Targets:
- Arn: !GetAtt CostOptimizationLambda.Arn
Id: "CostOptimizationTarget"
مرحله 2: برای اطلاعات بهینه سازی هزینه، تابع Lambda را تنظیم کنید
این تابع لامبدا قلب راه حل است هنگامی که یک بار کاری جدید با معماری خوب ایجاد می شود توسط EventBridge فعال می شود. سپس لامبدا پرس و جو می کند مشاور مورد اعتماد AWS برای بینش بهینه سازی هزینه، مانند شناسایی نمونه های EC2 بیش از حد ارائه شده.
- بینش مشاور معتمد را واکشی کنید: Lambda را برای فراخوانی نقاط پایانی AWS Trusted Advisor API، بهویژه برای نمونههای EC2، پیکربندی کنید تا دادهها را از منابعی که بیش از حد تهیه شده یا استفاده نشده است، جمعآوری کند.
- به DynamoDB بنویسید: هنگامی که داده ها واکشی شدند، Lambda اطلاعات بینش را در DynamoDB می نویسد. دادهها را میتوان با شناسههای بار کاری به عنوان کلیدهای اولیه و معیارهای خاصی به عنوان ویژگیها ساختار داد که امکان جستجو و بازیابی آسان را فراهم میکند.
نمونه قطعه تابع Lambda:
import boto3
def lambda_handler(event, context):
# Set up Trusted Advisor and DynamoDB clients
trusted_advisor = boto3.client('support')
dynamodb = boto3.resource('dynamodb')
# Fetch cost-related insights from Trusted Advisor
response = trusted_advisor.describe_trusted_advisor_checks(language='en')
# Write relevant data to DynamoDB
table = dynamodb.Table('CostOptimizationTable')
table.put_item(
Item={
'WorkloadID': event['detail']['workloadId'],
'OptimizationMetrics': response['checks']
}
)
return {"status": "Data saved"}
مرحله 3: جدول DynamoDB را برای ذخیره معیارها تعریف کنید
در قالب SAM خود، یک جدول DynamoDB برای ذخیره معیارهای هزینه تعریف کنید. این جدول به عنوان یک مخزن دائمی برای داده های ستون هزینه های تاریخی عمل می کند و آن را برای تجزیه و تحلیل و گزارش در دسترس قرار می دهد.
CostOptimizationTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: "CostOptimizationMetrics"
AttributeDefinitions:
- AttributeName: "WorkloadID"
AttributeType: "S"
KeySchema:
- AttributeName: "WorkloadID"
KeyType: "HASH"
BillingMode: PAY_PER_REQUEST
مرحله 4: نمایش داده ها از طریق دروازه API
یک را تنظیم کنید دروازه API برای دسترسی به داده های ستون هزینه. این API می تواند توسط برنامه های کاربردی خارجی یا داشبوردها برای نمایش بینش بهینه سازی هزینه تولید شده توسط Trusted Advisor و ذخیره شده در DynamoDB استفاده شود.
نمونه پیکربندی الگوی SAM برای دروازه API:
CostOptimizationApi:
Type: AWS::Serverless::Api
Properties:
StageName: "prod"
DefinitionBody:
paths:
/workload/{id}:
get:
x-amazon-apigateway-integration:
uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${CostOptimizationLambda.Arn}/invocations
httpMethod: POST
تست و نظارت
- ادغام Lambda و EventBridge را تست کنید: یک بار کاری جدید با معماری Well-Architected ایجاد کنید تا ببینید آیا Lambda راه اندازی شده است یا خیر و آیا داده ها در DynamoDB نوشته شده است.
- دسترسی به داده ها از طریق API Gateway: از نقطه پایانی API برای بازیابی معیارهای هزینه برای تأیید استفاده کنید.
- مانیتور با گزارش های CloudWatch: گزارشهای مربوط به اجرای Lambda را بررسی کنید تا مطمئن شوید در واکشی دادههای Trusted Advisor یا نوشتن در DynamoDB خطایی وجود ندارد.
مزایای راه حل
این راه حل خودکار با بهترین شیوه های AWS Well-Architected Framework با ارائه دید مداوم به معیارهای بهینه سازی هزینه همسو می شود. مزایای کلیدی عبارتند از:
- بینش هزینه در زمان واقعی: به طور خودکار بینشهای مربوط به هزینه را برای هر بار کاری استخراج میکند و به شناسایی صرفهجوییهای احتمالی در منابع بیش از حد کمک میکند.
- بهبود استفاده از منابع: بهروزرسانیهای منظم تضمین میکند که حجم کار براساس توصیههای Trusted Advisor بهینه میشود.
- راه حل مقیاس پذیر: مقیاس معماری بدون سرور برای مدیریت بارهای کاری متعدد و حجم زیادی از داده ها بدون دخالت دست. به اسکرین شات زیر مراجعه کنید تا بدانید راه حل فوق چگونه بینش را ارائه می دهد.
نتیجه گیری
خودکارسازی بینش هزینه با AWS SAM، Lambda، EventBridge، Trusted Advisor و DynamoDB رویکردی فعال برای مدیریت هزینههای ابری ارائه میدهد. این راه حل نشان می دهد که چگونه سرویس های بدون سرور AWS می توانند به طور یکپارچه با هم ادغام شوند تا انطباق و بهینه سازی هزینه را مطابق با بهترین شیوه های معماری خوب انجام دهند. با این قابلیت ها، تیم شما می تواند به راحتی بارهای کاری کارآمد و مقرون به صرفه را در AWS حفظ کند.
این راه حل بینش مداوم بهینه سازی هزینه را امکان پذیر می کند و آن را به یک افزودنی عملی برای هر استراتژی مدیریت مالی ابری تبدیل می کند.