AWS Lambda でエラー率の増加に対処する場合、エラーを分類し、エスカレーション パスを定義することが重要です。このガイドでは、AWS Systems Manager Incident Manager を使用して、インシデントを効果的に自動的に処理およびエスカレーションする方法を説明します。このワークフローには、Runbook を使用してエラーの詳細を収集し、Amazon SNS を通じて関係者に通知することが含まれます。
AWS Systems Manager Incident Manager は、AWS 環境内でのインシデント対応の一元管理を提供します。主な利点は次のとおりです:
ネイティブ AWS 統合: Amazon CloudWatch、AWS Lambda、Amazon EventBridge などのサービスとシームレスに統合します。
Runbook Automation: 自動または半自動のワークフローを促進して、インシデントのトラブルシューティングと対処を行います。
マルチチャネル通知: Amazon SNS、Slack、Amazon Chime 経由の通知をサポートします。
コスト効率: 中小規模の環境向けの商用ソリューションの実行可能な代替手段。
詳細なレポート、複雑なチーム階層、多層エスカレーション フローを必要とする大規模組織の場合は、PagerDuty や ServiceNow などの特殊なツールの方が適切な場合があります。
このアーキテクチャでは、CloudWatch アラームを使用して AWS Lambda 関数のエラーを監視します。 Incident Manager は、インシデントを自動的に作成し、エラー処理と通知のための Runbook を実行します。
エラー A: 電子メール通知による標準インシデント。
エラー B: SMS 通知とエスカレーションが必要な重大なインシデントです。
CloudWatch アラームは、これらのエラー タイプを区別し、それに応じて特定のインシデント対応をトリガーするように構成されています。
import logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): error_type = event.get("errorType") try: if error_type == "A": logger.error("Error A: A standard exception occurred.") raise Exception("Error A occurred") elif error_type == "B": logger.error("Error B: A critical runtime error occurred.") raise RuntimeError("Critical Error B occurred") else: logger.info("No error triggered.") return {"statusCode": 200, "body": "Success"} except Exception as e: logger.exception("An error occurred: %s", e) raise
import logging logger = logging.getLogger() logger.setLevel(logging.INFO) def lambda_handler(event, context): error_type = event.get("errorType") try: if error_type == "A": logger.error("Error A: A standard exception occurred.") raise Exception("Error A occurred") elif error_type == "B": logger.error("Error B: A critical runtime error occurred.") raise RuntimeError("Critical Error B occurred") else: logger.info("No error triggered.") return {"statusCode": 200, "body": "Success"} except Exception as e: logger.exception("An error occurred: %s", e) raise
エラー A: 未解決の場合は電子メール通知に続いて SMS が送信されます。
エラー B: 即時 SMS 通知。
ランブック テンプレート:
- Navigate to the Incident Manager settings in the AWS Management Console and onboard your account.
エラー A とエラー B に対して個別の対応計画を定義します。
Runbook と通知チャネルを各対応計画にリンクします。
Feature | AWS Incident Manager | PagerDuty | ServiceNow |
---|---|---|---|
Cost Efficiency | High | Medium | Low |
AWS Integration | Seamless | Limited | Limited |
Escalation Flexibility | Moderate | High | High |
Reporting and Analytics | Basic | Advanced | Advanced |
AWS 中心のアーキテクチャを備えた小規模から中規模の環境。
簡単なエスカレーションと通知が必要です。
コスト重視の展開
AWS Systems Manager Incident Manager は、AWS 中心の環境におけるインシデント対応のためのコスト効率の高いツールです。商用ソリューションの高度な機能がいくつか欠けていますが、AWS サービスとの堅牢な統合と、多くのユースケースに十分な機能を提供します。セットアップが簡単でコストが低いため、小規模から中規模の運用にとって魅力的な選択肢となります。
AWS Systems Manager インシデントマネージャー
AWS Lambda モニタリング
Amazon CloudWatch アラーム
PagerDuty
ServiceNow
以上がAWS インシデント管理をマスターする: Systems Manager Incident Manager による対応の自動化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。