

# 推奨 PromQL アラーム
<a name="Recommended_PromQL_Alarms"></a>

これらの PromQL アラームは、従来の推奨アラームと同等のものとして使用します。CloudWatch OTLP エンドポイントを通じて取り込まれたメトリクスに対して評価される PromQL インスタントクエリを使用して、同じメトリクスをモニタリングします。

PromQL アラームは `EvaluationCriteria` と `PromQLCriteria` を併用します。クラシックメトリクスアラームとは異なり、しきい値は PromQL クエリ式に直接埋め込まれます。
+ **保留期間** – アラームが ALARM 状態に移行する前に、時系列が連続して超過しなければならない期間 (秒)。
+ **復旧期間** – アラームが OK 状態に戻る前に、すべての時系列が超過を停止しなければならない期間 (秒)。
+ **評価間隔** – CloudWatch が PromQL クエリを実行する頻度 (秒)。

**注記**  
これらのアラームには、CloudWatch OTLP エンドポイントを通じて発行されるメトリクスが必要です。詳細については、「[PromQL アラーム](alarm-promql.md)」を参照してください。

これらのアラームは AWS CloudFormation を使用してデプロイすることができます。`AWS::CloudWatch::Alarm` リソースでプロパティ `EvaluationCriteria` および `PromQLCriteria` を使用します。

**Topics**
+ [API ゲートウェイ](#Recommended_PromQL_ApiGateway)
+ [Auto Scaling](#Recommended_PromQL_AutoScaling)
+ [Certificate Manager](#Recommended_PromQL_CertificateManager)
+ [CloudFront](#Recommended_PromQL_CloudFront)
+ [Cognito](#Recommended_PromQL_Cognito)
+ [DynamoDB](#Recommended_PromQL_DynamoDB)
+ [EBS](#Recommended_PromQL_EBS)
+ [Amazon Elastic Compute Cloud](#Recommended_PromQL_EC2)
+ [Amazon ECS](#Recommended_PromQL_ECS)
+ [Amazon ECS Container Insights](#Recommended_PromQL_ECS_ContainerInsights)
+ [Amazon ECS Container Insights 拡張オブザーバビリティ](#Recommended_PromQL_ECS_ContainerInsights_Enhanced)
+ [Amazon EFS](#Recommended_PromQL_EFS)
+ [Amazon EKS Container Insights](#Recommended_PromQL_EKS)
+ [Amazon ElastiCache](#Recommended_PromQL_ElastiCache)
+ [Elastic GPU](#Recommended_PromQL_ElasticGPUs)
+ [Amazon EventBridge スケジューラ](#Recommended_PromQL_Scheduler)
+ [Amazon Kinesis Data Streams](#Recommended_PromQL_Kinesis)
+ [AWS Lambda](#Recommended_PromQL_Lambda)
+ [AWS Lambda Insights](#Recommended_PromQL_LambdaInsights)
+ [NAT Gateway](#Recommended_PromQL_NATGateway)
+ [AWS PrivateLink エンドポイント](#Recommended_PromQL_PrivateLinkEndpoints)
+ [AWS PrivateLink サービス](#Recommended_PromQL_PrivateLinkServices)
+ [RDS](#Recommended_PromQL_RDS)
+ [Route 53](#Recommended_PromQL_Route53)
+ [S3](#Recommended_PromQL_S3)
+ [S3 Object Lambda](#Recommended_PromQL_S3ObjectLambda)
+ [SNS](#Recommended_PromQL_SNS)
+ [SQS](#Recommended_PromQL_SQS)
+ [VPN](#Recommended_PromQL_VPN)

## API ゲートウェイ
<a name="Recommended_PromQL_ApiGateway"></a>

**REST API**

**4XXError**  
**ラベル: **ApiName、Stage  
**アラームの説明: **REST API ステージの平均 4XX エラー率が 5% を超えた場合のアラーム。  
**目的: **リクエスト問題を示す高いクライアントエラー率を検出します。  
**PromQL 基準: **`avg({__name__="4XXError", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiName="{{your-api-name}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えるクライアントエラー率を検出します。これはリクエストの重大な失敗を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**5XXError**  
**ラベル: **ApiName、Stage  
**アラームの説明: **REST API ステージの平均 5XX エラー率が 5% を超えた場合のアラーム。  
**目的: **バックエンドの障害を示す高いサーバーエラー率を検出します。  
**PromQL 基準: **`avg({__name__="5XXError", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiName="{{your-api-name}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えるサーバーエラー率を検出します。これは至急調査する必要があります。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **300

**レイテンシー**  
**ラベル: **ApiName、Stage  
**アラームの説明: **REST API ステージの p90 レイテンシーが 2500 ミリ秒を超えた場合のアラーム。  
**目的: **ユーザーエクスペリエンスに影響する高い p90 レイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="Latency", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiName="{{your-api-name}}",Stage="{{your-stage}}"}) > 2500`  
**推奨しきい値: **2500 (クエリに埋め込み)  
**しきい値の根拠: **2500 ミリ秒を超える p90 レイテンシーは、ほとんどのリクエストの応答時間が長くなっていることを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**カウント**  
**ラベル: **ApiName、Stage  
**アラームの説明: **リクエストの合計数が REST API ステージの予想ベースラインを下回った場合のアラーム。  
**目的: **ルーティングや可用性の問題を示す可能性のある低トラフィック量を検出します。  
**PromQL 基準: **`sum({__name__="Count", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiName="{{your-api-name}}",Stage="{{your-stage}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想されるトラフィックベースラインに基づいて設定し、予期しない低下を検出します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **300

**HTTP API**

**4xx**  
**ラベル: **ApiId、Stage  
**アラームの説明: **HTTP API ステージの平均 4XX エラー率が 5% を超えた場合のアラーム。  
**目的: **HTTP API エンドポイントで高いクライアントエラー率を検出します。  
**PromQL 基準: **`avg({__name__="4xx", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えるクライアントエラー率を検出します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**5xx**  
**ラベル: **ApiId、Stage  
**アラームの説明: **HTTP API ステージの平均 5XX エラー率が 5% を超えた場合のアラーム。  
**目的: **HTTP API エンドポイントで高いサーバーエラー率を検出します。  
**PromQL 基準: **`avg({__name__="5xx", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **調査を必要とする 5% を超えるサーバーエラー率を検出します。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **300

**レイテンシー**  
**ラベル: **ApiId、Stage  
**アラームの説明: **HTTP API ステージの p90 レイテンシーが 2500 ミリ秒を超えた場合のアラーム。  
**目的: **HTTP API エンドポイントで高い p90 レイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="Latency", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 2500`  
**推奨しきい値: **2500 (クエリに埋め込み)  
**しきい値の根拠: **2500 ミリ秒を超える p90 レイテンシーは、応答時間が長くなっていることを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**IntegrationLatency**  
**ラベル: **ApiId、Stage  
**アラームの説明: **HTTP API ステージの p90 統合レイテンシーが 2000 ミリ秒を超えた場合のアラーム。  
**目的: **応答時間に影響する高いバックエンド統合レイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="IntegrationLatency", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 2000`  
**推奨しきい値: **2000 (クエリに埋め込み)  
**しきい値の根拠: **2000 ミリ秒を超える p90 統合レイテンシーは、バックエンドの速度低下を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**カウント**  
**ラベル: **ApiId、Stage  
**アラームの説明: **リクエストの合計数が HTTP API ステージの予想ベースラインを下回った場合のアラーム。  
**目的: **ルーティングや可用性の問題を示す可能性のある低トラフィック量を検出します。  
**PromQL 基準: **`sum({__name__="Count", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想されるトラフィックベースラインに基づいて設定し、予期しない低下を検出します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **300

**WebSocket API**

**ClientError**  
**ラベル: **ApiId、Stage  
**アラームの説明: **WebSocket API ステージの平均クライアントエラー率が 5% を超えた場合のアラーム。  
**目的: **WebSocket API 接続で高いクライアントエラー率を検出します。  
**PromQL 基準: **`avg({__name__="ClientError", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **WebSocket 接続で 5% を超えるクライアントエラー率を検出します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ExecutionError**  
**ラベル: **ApiId、Stage  
**アラームの説明: **WebSocket API ステージの平均実行エラー率が 5% を超えた場合のアラーム。  
**目的: ** WebSocket API で高いサーバー側実行エラー率を検出します。  
**PromQL 基準: **`avg({__name__="ExecutionError", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **調査を必要とする 5% を超える実行エラー率を検出します。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **300

**IntegrationLatency**  
**ラベル: **ApiId、Stage  
**アラームの説明: **WebSocket API ステージの p90 統合レイテンシーが 2000 ミリ秒を超えた場合のアラーム。  
**目的: ** WebSocket API ルートで高いバックエンド統合のイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="IntegrationLatency", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) > 2000`  
**推奨しきい値: **2000 (クエリに埋め込み)  
**しきい値の根拠: **2000 ミリ秒を超える p90 統合レイテンシーは、バックエンドの速度低下を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**MessageCount**  
**ラベル: **ApiId、Stage  
**アラームの説明: **メッセージの合計数が WebSocket API ステージの予想ベースラインを下回った場合のアラーム。  
**目的: **接続やルーティングの問題を示す可能性のある低メッセージ量を検出します。  
**PromQL 基準: **`sum({__name__="MessageCount", "@instrumentation.@name"="cloudwatch.aws/apigateway", ApiId="{{your-api-id}}",Stage="{{your-stage}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想されるメッセージ量に基づいて設定し、予期しない低下を検出します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **300

## Auto Scaling
<a name="Recommended_PromQL_AutoScaling"></a>

**GroupInServiceCapacity**  
**ラベル: **AutoScalingGroupName  
**アラームの説明: **平均インサービス容量が Auto Scaling グループの予想最小値を下回った場合のアラーム。  
**目的: **起動の失敗またはインスタンスの終了による可用性の低下を検出します。  
**PromQL 基準: **`avg({__name__="GroupInServiceCapacity", "@instrumentation.@name"="cloudwatch.aws/autoscaling", AutoScalingGroupName="{{your-auto-scaling-group-name}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **起動の失敗やインスタンスの不足を検出するために必要な最小容量に基づいて設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

## Certificate Manager
<a name="Recommended_PromQL_CertificateManager"></a>

**DaysToExpiry**  
**ラベル: **CertificateArn  
**アラームの説明: **証明書の有効期限までの最小日数が 44 日以下に低下した場合のアラーム。  
**目的: **更新の時間を確保するための先見的な証明書有効期限アラート。  
**PromQL 基準: **`min({__name__="DaysToExpiry", "@instrumentation.@name"="cloudwatch.aws/certificatemanager", CertificateArn="{{your-certificate-arn}}"}) <= 44`  
**推奨しきい値: **44 (クエリに埋め込み)  
**しきい値の根拠: **更新プロセスを完了するために、証明書の有効期限が切れるまでのリードタイムを十分に確保します。  
**評価間隔: **86400  
**保留期間: **86400  
**リカバリ期間: **86400

## CloudFront
<a name="Recommended_PromQL_CloudFront"></a>

**5xxErrorRate**  
**ラベル: **DistributionId  
**アラームの説明: **平均 5xx エラー率が CloudFront 配信のしきい値を超えた場合のアラーム。  
**目的: **コンテンツ配信に影響する高いオリジンまたは CloudFront エラー率を検出します。  
**PromQL 基準: **`avg({__name__="5xxErrorRate", "@instrumentation.@name"="cloudwatch.aws/cloudfront", DistributionId="{{your-distribution-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **コンテンツ配信の許容エラー率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**OriginLatency**  
**ラベル: **DistributionId  
**アラームの説明: **p90 オリジンレイテンシーが CloudFront 配信のしきい値を超えた場合のアラーム。  
**目的: **コンテンツ配信パフォーマンスに影響する高いオリジンレスポンスレイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="OriginLatency", "@instrumentation.@name"="cloudwatch.aws/cloudfront", DistributionId="{{your-distribution-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想されるオリジンレスポンス時間とキャッシュ戦略に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**FunctionValidationErrors**  
**ラベル: **DistributionId、FunctionName  
**アラームの説明: ** CloudFront 関数の検証エラーが発生した場合のアラーム。  
**目的: **関数の実行を妨げる CloudFront 関数の検証エラーを検出します。  
**PromQL 基準: **`sum({__name__="FunctionValidationErrors", "@instrumentation.@name"="cloudwatch.aws/cloudfront", DistributionId="{{your-distribution-id}}",FunctionName="{{your-function-name}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **検証エラーは、注意が必要な関数設定の問題を示します。  
**評価間隔: **60  
**保留期間: **120  
**リカバリ期間: **120

**FunctionExecutionErrors**  
**ラベル: **DistributionId、FunctionName  
**アラームの説明: ** CloudFront 関数の実行エラーが発生した場合のアラーム。  
**目的: **リクエスト処理に影響する CloudFront 関数のランタイム障害を検出します。  
**PromQL 基準: **`sum({__name__="FunctionExecutionErrors", "@instrumentation.@name"="cloudwatch.aws/cloudfront", DistributionId="{{your-distribution-id}}",FunctionName="{{your-function-name}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **実行エラーは、関数コードのランタイム問題を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**FunctionThrottles**  
**ラベル: **DistributionId、FunctionName  
**アラームの説明: ** CloudFront 関数のスロットリングが発生した場合のアラーム。  
**目的: **リクエスト処理を低下させる可能性のある CloudFront 関数スロットリングを検出します。  
**PromQL 基準: **`sum({__name__="FunctionThrottles", "@instrumentation.@name"="cloudwatch.aws/cloudfront", DistributionId="{{your-distribution-id}}",FunctionName="{{your-function-name}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **スロットリングは、関数がコンピューティング制限に達していることを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## Cognito
<a name="Recommended_PromQL_Cognito"></a>

**SignUpThrottles**  
**ラベル: **UserPool、UserPoolClient  
**アラームの説明: **サインアップスロットルイベントがユーザープールのしきい値を超えた場合のアラーム。  
**目的: **新規ユーザー登録を妨げるサインアップスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="SignUpThrottles", "@instrumentation.@name"="cloudwatch.aws/cognito", UserPool="{{your-user-pool}}",UserPoolClient="{{your-user-pool-client}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **サインアップオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**SignInThrottles**  
**ラベル: **UserPool、UserPoolClient  
**アラームの説明: **サインインスロットルイベントがユーザープールのしきい値を超えた場合のアラーム。  
**目的: **ユーザー認証を妨げるサインインスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="SignInThrottles", "@instrumentation.@name"="cloudwatch.aws/cognito", UserPool="{{your-user-pool}}",UserPoolClient="{{your-user-pool-client}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **サインインオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TokenRefreshThrottles**  
**ラベル: **UserPool、UserPoolClient  
**アラームの説明: **トークン更新スロットルイベントがユーザープールのしきい値を超えた場合のアラーム。  
**目的: **セッションの中断を引き起こす可能性のあるトークン更新スロットリングを検出します。  
**PromQL 基準: **`sum({__name__="TokenRefreshThrottles", "@instrumentation.@name"="cloudwatch.aws/cognito", UserPool="{{your-user-pool}}",UserPoolClient="{{your-user-pool-client}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **トークン更新オペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**FederationThrottles**  
**ラベル: **UserPool、UserPoolClient、IdentityProvider  
**アラームの説明: **フェデレーションスロットルイベントがユーザープール ID プロバイダのしきい値を超えた場合のアラーム。  
**目的: **フェデレーションサインインを妨げる可能性のあるフェデレーションスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="FederationThrottles", "@instrumentation.@name"="cloudwatch.aws/cognito", UserPool="{{your-user-pool}}",UserPoolClient="{{your-user-pool-client}}",IdentityProvider="{{your-identity-provider}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **フェデレーションオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## DynamoDB
<a name="Recommended_PromQL_DynamoDB"></a>

**AccountProvisionedReadCapacityUtilization**  
**ラベル: **なし  
**アラームの説明: **プロビジョニングされたアカウントレベルの読み込みキャパシティ使用率が 80% を超えた場合のアラーム。  
**目的: **プロビジョニングされた読み込みキャパシティがアカウント制限に近づいた場合に検出します。  
**PromQL 基準: **`max({__name__="AccountProvisionedReadCapacityUtilization", "@instrumentation.@name"="cloudwatch.aws/dynamodb"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **使用率が 80% の場合、アカウント制限に達する前にヘッドルームが制限されます。  
**評価間隔: **300  
**保留期間: **600  
**リカバリ期間: **600

**AccountProvisionedWriteCapacityUtilization**  
**ラベル: **なし  
**アラームの説明: **プロビジョニングされたアカウントレベルの書き込みキャパシティ使用率が 80% を超えた場合のアラーム。  
**目的: **プロビジョニングされた書き込みキャパシティがアカウント制限に近づいた場合に検出します。  
**PromQL 基準: **`max({__name__="AccountProvisionedWriteCapacityUtilization", "@instrumentation.@name"="cloudwatch.aws/dynamodb"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **使用率が 80% の場合、アカウント制限に達する前にヘッドルームが制限されます。  
**評価間隔: **300  
**保留期間: **600  
**リカバリ期間: **600

**AgeOfOldestUnreplicatedRecord**  
**ラベル: **TableName、DelegatedOperation  
**アラームの説明: **レプリケートされていない最古のレコードの経過時間がしきい値を超えた場合のアラーム。  
**目的: **グローバルテーブル内のデータが古くなる原因となる可能性のあるレプリケーション遅延を検出します。  
**PromQL 基準: **`max({__name__="AgeOfOldestUnreplicatedRecord", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",DelegatedOperation="{{your-operation}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **レプリケーションの鮮度要件に基づいて設定します。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900

**FailedToReplicateRecordCount**  
**ラベル: **TableName、DelegatedOperation  
**アラームの説明: **グローバルテーブルでレコードのレプリケートに失敗した場合のアラーム。  
**目的: **リージョン間でデータの不整合を引き起こすレプリケーションの失敗を検出します。  
**PromQL 基準: **`sum({__name__="FailedToReplicateRecordCount", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",DelegatedOperation="{{your-operation}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **レプリケーションの失敗は、即時対応を要するデータ整合性問題を示します。  
**評価間隔: **60  
**保留期間: **60  
**リカバリ期間: **60

**ReadThrottleEvents**  
**ラベル: **TableName  
**アラームの説明: **読み込みスロットルイベントがユーザープールのしきい値を超えた場合のアラーム。  
**目的: **プロビジョニングされた容量が不十分であることを示す読み取りスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="ReadThrottleEvents", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **読み取りオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ReadThrottleEvents (GSI)**  
**ラベル: **TableName、GlobalSecondaryIndexName  
**アラームの説明: **読み込みスロットルイベントがグローバルセカンダリインデックスのしきい値を超えた場合のアラーム。  
**目的: **プロビジョニングされた容量が不十分であることを示す読み込みスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="ReadThrottleEvents", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",GlobalSecondaryIndexName="{{your-index-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **GSI 読み込みオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ReplicationLatency**  
**ラベル: **TableName、ReceivingRegion  
**アラームの説明: **平均レプリケーションレイテンシーがグローバルテーブルのしきい値を超えた場合のアラーム。  
**目的: **レプリカリージョンで古い読み込みを引き起こす可能性のある高いレプリケーションレイテンシーを検出します。  
**PromQL 基準: **`avg({__name__="ReplicationLatency", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",ReceivingRegion="{{your-receiving-region}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **レプリカリージョンのデータ鮮度要件に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**SuccessfulRequestLatency**  
**ラベル: **TableName、Operation  
**アラームの説明: **成功リクエストの平均レイテンシーがグローバルテーブルのしきい値を超えた場合のアラーム。  
**目的: **アプリケーションのパフォーマンスに影響する DynamoDB オペレーションの高レイテンシーを検出します。  
**PromQL 基準: **`avg({__name__="SuccessfulRequestLatency", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",Operation="{{your-operation}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **特定の DynamoDB オペレーションのレイテンシー SLA に基づいて設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**SystemErrors**  
**ラベル: **TableName  
**アラームの説明: **システムエラーがテーブルのしきい値を超えた場合のアラーム。  
**目的: **テーブルの可用性に影響する DynamoDB サービス側エラーを検出します。  
**PromQL 基準: **`sum({__name__="SystemErrors", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **テーブルの許容システムエラー数に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**ThrottledPutRecordCount**  
**ラベル: **TableName、DelegatedOperation  
**アラームの説明: **スロットリングされた put レコード数がテーブルのしきい値を超えた場合のアラーム。  
**目的: **ストリーミングオペレーションでデータ損失を引き起こす可能性のあるスロットリングされた put を検出します。  
**PromQL 基準: **`max({__name__="ThrottledPutRecordCount", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",DelegatedOperation="{{your-operation}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **ストリーミング put オペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**UserErrors**  
**ラベル: **なし  
**アラームの説明: **ユーザーエラーがアカウント全体のしきい値を超えた場合のアラーム。  
**目的: **検証の失敗や条件付きチェックの失敗などといったクライアントエラーの高い割合を検出します。  
**PromQL 基準: **`sum({__name__="UserErrors", "@instrumentation.@name"="cloudwatch.aws/dynamodb"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **クライアント側のリクエスト失敗の許容エラー率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**WriteThrottleEvents**  
**ラベル: **TableName  
**アラームの説明: **書き込みスロットルイベントがユーザープールのしきい値を超えた場合のアラーム。  
**目的: **プロビジョニングされた容量が不十分であることを示す書き込みスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="WriteThrottleEvents", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **書き込みオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**WriteThrottleEvents (GSI)**  
**ラベル: **TableName、GlobalSecondaryIndexName  
**アラームの説明: **書き込みスロットルイベントがグローバルセカンダリインデックスのしきい値を超えた場合のアラーム。  
**目的: **プロビジョニングされた容量が不十分であることを示す書き込みスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="WriteThrottleEvents", "@instrumentation.@name"="cloudwatch.aws/dynamodb", TableName="{{your-table-name}}",GlobalSecondaryIndexName="{{your-index-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **GSI 書き込みオペレーションの許容可能なスロットルレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## EBS
<a name="Recommended_PromQL_EBS"></a>

**VolumeStalledIOCheck**  
**ラベル: **VolumeId、InstanceId  
**アラームの説明: **EBS ボリュームにより I/O チェックの停止エラーが報告された場合のアラーム。  
**目的: **ボリューム障害を示す EBS ボリュームの I/O 停止を検出します。  
**PromQL 基準: **`max({__name__="VolumeStalledIOCheck", "@instrumentation.@name"="cloudwatch.aws/ebs", VolumeId="{{your-volume-id}}",InstanceId="{{your-instance-id}}"}) >= 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **1 以上の値は、ボリュームの I/O が停止し、即時の調査が必要であることを示します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

## Amazon Elastic Compute Cloud
<a name="Recommended_PromQL_EC2"></a>

**CPUUtilization**  
**ラベル: **InstanceId  
**アラームの説明: **EC2 インスタンスの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="CPUUtilization", "@instrumentation.@name"="cloudwatch.aws/ec2", InstanceId="{{your-instance-id}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% のしきい値は飽和前にヘッドルームを提供します。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900

**StatusCheckFailed**  
**ラベル: **InstanceId  
**アラームの説明: **EC2 インスタンスのインスタンスまたはシステムヘルスチェックが失敗した場合のアラーム。  
**目的: **インスタンスまたはシステムのヘルス問題を検出します。  
**PromQL 基準: **`max({__name__="StatusCheckFailed", "@instrumentation.@name"="cloudwatch.aws/ec2", InstanceId="{{your-instance-id}}"}) >= 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **ステータスチェックの失敗には調査が必要です。  
**評価間隔: **300  
**保留期間: **600  
**リカバリ期間: **600

**StatusCheckFailed\_AttachedEBS**  
**ラベル: **InstanceId  
**アラームの説明: **アタッチされた EBS ボリュームが EC2 インスタンスに到達できなくなった場合のアラーム。  
**目的: **到達できない EBS ボリュームを検出します。  
**PromQL 基準: **`max({__name__="StatusCheckFailed_AttachedEBS", "@instrumentation.@name"="cloudwatch.aws/ec2", InstanceId="{{your-instance-id}}"}) >= 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **到達できないボリュームは I/O 障害を引き起こします。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

## Amazon ECS
<a name="Recommended_PromQL_ECS"></a>

**CPUReservation**  
**ラベル: **ClusterName  
**アラームの説明: **ECS クラスターの平均 CPU 予約が 80% を超えた場合のアラーム。  
**目的: **CPU 容量に近づいているクラスターを検出します。  
**PromQL 基準: **`avg({__name__="CPUReservation", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **予約 80% は、新しいタスクのヘッドルームが限られていることを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**CPUUtilization**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **ECS サービスの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **ECS サービスの高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="CPUUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**EBSFilesystemUtilization**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **ECS サービスの平均 EBS ファイルシステム使用率が 80% を超えた場合のアラーム。  
**目的: **高い EBS ストレージ使用率を検出します。  
**PromQL 基準: **`avg({__name__="EBSFilesystemUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**MemoryReservation**  
**ラベル: **ClusterName  
**アラームの説明: **ECS クラスターの平均メモリ予約が 80% を超えた場合のアラーム。  
**目的: **メモリ容量に近づいているクラスターを検出します。  
**PromQL 基準: **`avg({__name__="MemoryReservation", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **予約 80% は、新しいタスクのヘッドルームが限られていることを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**MemoryUtilization**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **ECS サービスの平均メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="MemoryUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**HTTPCode\_Target\_5XX\_Count**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **HTTP 5XX エラー数が ECS サービスのしきい値を超えた場合のアラーム。  
**目的: **高いサーバー側エラー数を検出します。  
**PromQL 基準: **`sum({__name__="HTTPCode_Target_5XX_Count", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **アプリケーションの通常のエラー率ベースラインに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TargetResponseTime**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **平均ターゲット応答時間が ECS サービスのしきい値を超えた場合のアラーム。  
**目的: **高いターゲット応答時間を検出します。  
**PromQL 基準: **`avg({__name__="TargetResponseTime", "@instrumentation.@name"="cloudwatch.aws/ecs", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **アプリケーションの許容可能なレイテンシー要件に基づいて設定します。  
**Evaluation interval: **60  
**保留期間: **300  
**リカバリ期間: **300

## Amazon ECS Container Insights
<a name="Recommended_PromQL_ECS_ContainerInsights"></a>

**EphemeralStorageUtilized**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **平均エフェメラルストレージ使用量が Fargate タスクのしきい値を超えた場合のアラーム。  
**目的: **Fargate タスクの高いエフェメラルストレージ使用率を検出します。  
**PromQL 基準: **`avg({__name__="EphemeralStorageUtilized", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **タスクのエフェメラルストレージの割り当てに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**RunningTaskCount**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **ECS サービスで実行中のタスク数がゼロまで低下した場合のアラーム。  
**目的: **実行されているタスクがない時点を検出します。  
**PromQL 基準: **`avg({__name__="RunningTaskCount", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) <= 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **実行中のタスクがゼロの場合は、サービスが停止されます。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**instance\_filesystem\_utilization**  
**ラベル: **InstanceId、ContainerInstanceId、ClusterName  
**アラームの説明: **コンテナインスタンスでファイルシステムの平均使用率が 90% を超えた場合のアラーム。  
**目的: **高いファイルシステム使用率を検出します。  
**PromQL 基準: **`avg({__name__="instance_filesystem_utilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", InstanceId="{{your-instance-id}}",ContainerInstanceId="{{your-container-instance-id}}",ClusterName="{{your-cluster-name}}"}) > 90`  
**推奨しきい値: **90 (クエリに埋め込み)  
**しきい値の根拠: **ファイルシステム使用率が 90% の場合、オペレーションのスペースは最小限に抑えられます。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## Amazon ECS Container Insights 拡張オブザーバビリティ
<a name="Recommended_PromQL_ECS_ContainerInsights_Enhanced"></a>

**TaskCpuUtilization (クラスターレベル)**  
**ラベル: **ClusterName  
**アラームの説明: **クラスターレベルでタスクの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskCpuUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskCpuUtilization (サービスレベル)**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **サービスレベルでタスクの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskCpuUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskMemoryUtilization (クラスターレベル)**  
**ラベル: **ClusterName  
**アラームの説明: **クラスターレベルでタスクの平均メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskMemoryUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskMemoryUtilization (サービスレベル)**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **サービスレベルでタスクの平均メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskMemoryUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ContainerCpuUtilization (クラスターレベル)**  
**ラベル: **ClusterName  
**アラームの説明: **クラスターレベルでコンテナの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="ContainerCpuUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ContainerCpuUtilization (コンテナレベル)**  
**ラベル: **ContainerName、ClusterName、ServiceName  
**アラームの説明: **コンテナレベルでコンテナの平均 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="ContainerCpuUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ContainerName="{{your-container-name}}",ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ContainerMemoryUtilization (クラスターレベル)**  
**ラベル: **ClusterName  
**アラームの説明: **クラスターレベルでコンテナの平均メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="ContainerMemoryUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ContainerMemoryUtilization (コンテナレベル)**  
**ラベル: **ContainerName、ClusterName、ServiceName  
**アラームの説明: **コンテナレベルでコンテナの平均メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="ContainerMemoryUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ContainerName="{{your-container-name}}",ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskEBSfilesystemUtilization**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **タスクの平均 EBS ファイルシステム使用率が 80% を超えた場合のアラーム。  
**目的: **高い EBS ファイルシステム使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskEBSfilesystemUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskEphemeralStorageUtilization (クラスターレベル)**  
**ラベル: **ClusterName  
**アラームの説明: **クラスターレベルでエフェメラルストレージの平均使用率が 80% を超えた場合のアラーム。  
**目的: **高いエフェメラルストレージ使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskEphemeralStorageUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**TaskEphemeralStorageUtilization (サービスレベル)**  
**ラベル: **ClusterName、ServiceName  
**アラームの説明: **サービスレベルでエフェメラルストレージの平均使用率が 80% を超えた場合のアラーム。  
**目的: **高いエフェメラルストレージ使用率を検出します。  
**PromQL 基準: **`avg({__name__="TaskEphemeralStorageUtilization", "@instrumentation.@name"="cloudwatch.aws/ecs-containerinsights", ClusterName="{{your-cluster-name}}",ServiceName="{{your-service-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## Amazon EFS
<a name="Recommended_PromQL_EFS"></a>

**PercentIOLimit**  
**ラベル: **FileSystemId  
**アラームの説明: ** EFS ファイルシステムが I/O 制限の 100% に達した場合のアラーム。  
**目的: **ファイルシステムが I/O 制限に達した時点を検出します。  
**PromQL 基準: **`avg({__name__="PercentIOLimit", "@instrumentation.@name"="cloudwatch.aws/efs", FileSystemId="{{your-filesystem-id}}"}) >= 100`  
**推奨しきい値: **100 (クエリに埋め込み)  
**しきい値の根拠: **100% になると、ファイルシステムはボトルネックになります。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**BurstCreditBalance**  
**ラベル: **FileSystemId  
**アラームの説明: ** EFS ファイルシステムのバーストクレジットバランスがゼロまで低下した場合のアラーム。  
**目的: **スループットが遅くなる原因となる、枯渇したバーストクレジットを検出します。  
**PromQL 基準: **`avg({__name__="BurstCreditBalance", "@instrumentation.@name"="cloudwatch.aws/efs", FileSystemId="{{your-filesystem-id}}"}) <= 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **クレジットがゼロになると、スループットが低下します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

## Amazon EKS Container Insights
<a name="Recommended_PromQL_EKS"></a>

**node\_cpu\_utilization**  
**ラベル: **ClusterName  
**アラームの説明: **EKS ワーカーノードの最大 CPU 使用率が 80% を超えた場合のアラーム。  
**目的: **ワーカーノードで高い CPU を検出します。  
**PromQL 基準: **`max({__name__="node_cpu_utilization", "@instrumentation.@name"="cloudwatch.aws/eks-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**node\_filesystem\_utilization**  
**ラベル: **ClusterName  
**アラームの説明: **EKS ワーカーノードの最大ファイルシステム使用率がしきい値を超えた場合のアラーム。  
**目的: **ワーカーノードでの高いファイルシステム使用率を検出します。  
**PromQL 基準: **`max({__name__="node_filesystem_utilization", "@instrumentation.@name"="cloudwatch.aws/eks-containerinsights", ClusterName="{{your-cluster-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **ノードのストレージ容量と使用パターンに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**node\_memory\_utilization**  
**ラベル: **ClusterName  
**アラームの説明: **EKS ワーカーノードの最大メモリ使用率が 80% を超えた場合のアラーム。  
**目的: **ワーカーノードで高いメモリを検出します。  
**PromQL 基準: **`max({__name__="node_memory_utilization", "@instrumentation.@name"="cloudwatch.aws/eks-containerinsights", ClusterName="{{your-cluster-name}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は飽和前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**pod\_cpu\_utilization\_over\_pod\_limit**  
**ラベル: **ClusterName、Namespace、Service  
**アラームの説明: **ポッド CPU 使用率が制限の 80% を超えた場合のアラーム。  
**目的: **CPU 制限に近づいているポッドを検出します。  
**PromQL 基準: **`max({__name__="pod_cpu_utilization_over_pod_limit", "@instrumentation.@name"="cloudwatch.aws/eks-containerinsights", ClusterName="{{your-cluster-name}}",Namespace="{{your-namespace}}",Service="{{your-service}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% はスロットリング発生前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**pod\_memory\_utilization\_over\_pod\_limit**  
**ラベル: **ClusterName、Namespace、Service  
**アラームの説明: **ポッドメモリ使用率が制限の 80% を超えた場合のアラーム。  
**目的: **メモリ制限に近づいているポッドを検出します。  
**PromQL 基準: **`max({__name__="pod_memory_utilization_over_pod_limit", "@instrumentation.@name"="cloudwatch.aws/eks-containerinsights", ClusterName="{{your-cluster-name}}",Namespace="{{your-namespace}}",Service="{{your-service}}"}) > 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% は OOMKill 発生前にヘッドルームを提供します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## Amazon ElastiCache
<a name="Recommended_PromQL_ElastiCache"></a>

**CPUUtilization**  
**ラベル: **CacheClusterId、CacheNodeId  
**アラームの説明: **平均 CPU 使用率が ElastiCache ノードのしきい値を超えた場合のアラーム。  
**目的: **インスタンス全体で高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="CPUUtilization", "@instrumentation.@name"="cloudwatch.aws/elasticache", CacheClusterId="{{your-cache-cluster-id}}",CacheNodeId="{{your-cache-node-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **ノードタイプとワークロードの特性に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**CurrConnections**  
**ラベル: **CacheClusterId、CacheNodeId  
**アラームの説明: **接続数が ElastiCache ノードのしきい値を超えた場合のアラーム。  
**目的: **高い接続数を検出します。  
**PromQL 基準: **`avg({__name__="CurrConnections", "@instrumentation.@name"="cloudwatch.aws/elasticache", CacheClusterId="{{your-cache-cluster-id}}",CacheNodeId="{{your-cache-node-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される接続プールのサイズとアプリケーションのニーズに基づいて設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**DatabaseMemoryUsagePercentage**  
**ラベル: **CacheClusterId  
**アラームの説明: **データベースのメモリ使用量が ElastiCache クラスターのしきい値を超えた場合のアラーム。  
**目的: **書き込みの失敗を防ぐため、高いメモリ使用率を検出します。  
**PromQL 基準: **`avg({__name__="DatabaseMemoryUsagePercentage", "@instrumentation.@name"="cloudwatch.aws/elasticache", CacheClusterId="{{your-cache-cluster-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **エビクションポリシーとデータ重要度に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**EngineCPUUtilization**  
**ラベル: **CacheClusterId  
**アラームの説明: **ElastiCache クラスターの Redis エンジン CPU 使用率が 90% を超えた場合のアラーム。  
**目的: **Redis エンジンの高い CPU 使用率を検出します。  
**PromQL 基準: **`avg({__name__="EngineCPUUtilization", "@instrumentation.@name"="cloudwatch.aws/elasticache", CacheClusterId="{{your-cache-cluster-id}}"}) > 90`  
**推奨しきい値: **90 (クエリに埋め込み)  
**しきい値の根拠: **Redis はシングルスレッドで、90% を超えると飽和を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ReplicationLag**  
**ラベル: **CacheClusterId  
**アラームの説明: **レプリケーション遅延が ElastiCache クラスターのしきい値を超えた場合のアラーム。  
**目的: **データ整合性に影響するレプリケーション遅延を検出します。  
**PromQL 基準: **`avg({__name__="ReplicationLag", "@instrumentation.@name"="cloudwatch.aws/elasticache", CacheClusterId="{{your-cache-cluster-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **古い読み込みに対するアプリケーションの許容値に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

## Elastic GPU
<a name="Recommended_PromQL_ElasticGPUs"></a>

**GPUConnectivityCheckFailed**  
**ラベル: **InstanceId、EGPUId  
**アラームの説明: **Elastic Graphics アクセラレーターがインスタンスへの接続を失った場合のアラーム。  
**目的: **Elastic Graphics アクセラレーターに対する接続問題を検出します。  
**PromQL 基準: **`max({__name__="GPUConnectivityCheckFailed", "@instrumentation.@name"="cloudwatch.aws/elasticgpus", InstanceId="{{your-instance-id}}",EGPUId="{{your-egpu-id}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **接続の失敗には調査が必要です。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900

**GPUHealthCheckFailed**  
**ラベル: **InstanceId、EGPUId  
**アラームの説明: **Elastic Graphics アクセラレーターのヘルスチェックが失敗した場合のアラーム。  
**目的: **異常な Elastic Graphics アクセラレーターを検出します。  
**PromQL 基準: **`max({__name__="GPUHealthCheckFailed", "@instrumentation.@name"="cloudwatch.aws/elasticgpus", InstanceId="{{your-instance-id}}",EGPUId="{{your-egpu-id}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **ヘルスチェックの失敗はアクセラレーターの問題を示します。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900

## Amazon EventBridge スケジューラ
<a name="Recommended_PromQL_Scheduler"></a>

**TargetErrorThrottledCount**  
**アラームの説明: **スケジュールターゲット呼び出しがスロットルされた場合のアラーム。  
**目的: **スケジュールの遅延の原因となるターゲットスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="TargetErrorThrottledCount", "@instrumentation.@name"="cloudwatch.aws/scheduler"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **スロットリングは、ターゲット容量の問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**InvocationThrottleCount**  
**アラームの説明: **スケジューラの呼び出しがスロットルされた場合のアラーム。  
**目的: **スケジューラの呼び出しのスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="InvocationThrottleCount", "@instrumentation.@name"="cloudwatch.aws/scheduler"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **スロットリングはスケジュールされた実行を遅延させます。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**InvocationDroppedCount**  
**アラームの説明: **スケジュールされた呼び出しがドロップされた場合のアラーム。  
**目的: **ドロップされた呼び出しを検出します。  
**PromQL 基準: **`sum({__name__="InvocationDroppedCount", "@instrumentation.@name"="cloudwatch.aws/scheduler"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **ドロップされた呼び出しは、スケジュールされたイベントの喪失を表します。  
**評価間隔: **60  
**保留期間: **60  
**リカバリ期間: **60

**InvocationsFailedToBeSentToDeadLetterCount**  
**アラームの説明: **失敗した呼び出しをデッドレターキューに送信できない場合のアラーム。  
**目的: **DLQ 配信の失敗を検出します。  
**PromQL 基準: **`sum({__name__="InvocationsFailedToBeSentToDeadLetterCount", "@instrumentation.@name"="cloudwatch.aws/scheduler"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **DLQ 配信に失敗すると、エラー情報が失われます。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

## Amazon Kinesis Data Streams
<a name="Recommended_PromQL_Kinesis"></a>

**GetRecords.IteratorAgeMilliseconds**  
**ラベル: **StreamName  
**アラームの説明: **コンシューマーイテレーターの経過時間が Kinesis ストリームのしきい値を超えた場合のアラーム。  
**目的: **保存期間を過ぎ、データ損失のリスクがあるデータを検出します。  
**PromQL 基準: **`max({__name__="GetRecords.IteratorAgeMilliseconds", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **ストリーム保持期間の割合に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**GetRecords.Success**  
**ラベル: **StreamName  
**アラームの説明: **GetRecords の成功率が Kinesis ストリームのしきい値を下回った場合のアラーム。  
**目的: **コンシューマー取得の失敗を検出します。  
**PromQL 基準: **`avg({__name__="GetRecords.Success", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される成功率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**PutRecord.Success**  
**ラベル: **StreamName  
**アラームの説明: **PutRecord の成功率が Kinesis ストリームのしきい値を下回った場合のアラーム。  
**目的: **プロデューサーの取り込みエラーを検出します。  
**PromQL 基準: **`avg({__name__="PutRecord.Success", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される成功率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**PutRecords.FailedRecords**  
**ラベル: **StreamName  
**アラームの説明: **バッチ配置オペレーションにより Kinesis ストリームのレコード失敗が発生した場合のアラーム。  
**目的: **バッチ配置の失敗を検出します。  
**PromQL 基準: **`sum({__name__="PutRecords.FailedRecords", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能な失敗回数に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ReadProvisionedThroughputExceeded**  
**ラベル: **StreamName  
**アラームの説明: **コンシューマーの読み込みが Kinesis ストリームのプロビジョニングされたスループットを超えた場合のアラーム。  
**目的: **コンシューマーの読み込みのスロットリングを検出します。  
**PromQL 基準: **`avg({__name__="ReadProvisionedThroughputExceeded", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **継続的なスロットリングは容量のニーズを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**SubscribeToShardEvent.MillisBehindLatest**  
**ラベル: **StreamName、ConsumerName  
**アラームの説明: **拡張ファンアウトコンシューマーが最新のレコードを下回った場合のアラーム。  
**目的: **拡張ファンアウトコンシューマー処理の遅延を検出します。  
**PromQL 基準: **`avg({__name__="SubscribeToShardEvent.MillisBehindLatest", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}",ConsumerName="{{your-consumer-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能な処理遅延に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**WriteProvisionedThroughputExceeded**  
**ラベル: **StreamName  
**アラームの説明: **プロデューサーの書き込みが Kinesis ストリームのプロビジョニングされたスループットを超えた場合のアラーム。  
**目的: **プロデューサーの書き込みのスロットリングを検出します。  
**PromQL 基準: **`avg({__name__="WriteProvisionedThroughputExceeded", "@instrumentation.@name"="cloudwatch.aws/kinesis", StreamName="{{your-stream-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **継続的なスロットリングは容量のニーズを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## AWS Lambda
<a name="Recommended_PromQL_Lambda"></a>

**ClaimedAccountConcurrency**  
**アラームの説明: **登録済みアカウントの同時実行数がしきい値を超えた場合のアラーム。  
**目的: **同時実行クォータに近づいているアカウントを検出します。  
**PromQL 基準: **`max({__name__="ClaimedAccountConcurrency", "@instrumentation.@name"="cloudwatch.aws/lambda"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **リージョンの同時実行制限の割合に設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**エラー**  
**ラベル: **FunctionName  
**アラームの説明: **関数のエラー数が Lambda 関数のしきい値を超えた場合のアラーム。  
**目的: **高い関数エラー数を検出します。  
**PromQL 基準: **`sum({__name__="Errors", "@instrumentation.@name"="cloudwatch.aws/lambda", FunctionName="{{your-function-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なエラー数に基づいて設定します。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **300

**Throttles**  
**ラベル: **FunctionName  
**アラームの説明: **Lambda 関数の関数呼び出しがスロットリングされた場合のアラーム。  
**目的: **関数呼び出しスロットリングを検出します。  
**PromQL 基準: **`sum({__name__="Throttles", "@instrumentation.@name"="cloudwatch.aws/lambda", FunctionName="{{your-function-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **スロットリングは、同時実行数の制限に達したことを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**時間**  
**ラベル: **FunctionName  
**アラームの説明: **p90 関数の持続期間が Lambda 関数のしきい値を超えた場合のアラーム。  
**目的: **長時間実行されている関数呼び出しを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="Duration", "@instrumentation.@name"="cloudwatch.aws/lambda", FunctionName="{{your-function-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **関数のタイムアウトに対する相対値を設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**ConcurrentExecutions**  
**ラベル: **FunctionName  
**アラームの説明: **同時実行が Lambda 関数のしきい値を超えた場合のアラーム。  
**目的: **同時実行数の制限に近づいている関数を検出します。  
**PromQL 基準: **`max({__name__="ConcurrentExecutions", "@instrumentation.@name"="cloudwatch.aws/lambda", FunctionName="{{your-function-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予約済み同時実行の割合に設定します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

## AWS Lambda Insights
<a name="Recommended_PromQL_LambdaInsights"></a>

**memory\_utilization**  
**ラベル: **function\_name  
**アラームの説明: **Lambda 関数の平均メモリ使用率が 90% を超えた場合のアラーム。  
**目的: **設定されたメモリ制限に近づいている関数を検出します。  
**PromQL 基準: **`avg({__name__="memory_utilization", "@instrumentation.@name"="cloudwatch.aws/lambda-insights", function_name="{{your-function-name}}"}) > 90`  
**推奨しきい値: **90 (クエリに埋め込み)  
**しきい値の根拠: **90% を超えるとメモリ不足障害のリスクがあります。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

## NAT Gateway
<a name="Recommended_PromQL_NATGateway"></a>

**ErrorPortAllocation**  
**ラベル: **NatGatewayId  
**アラームの説明: **NAT ゲートウェイが新しい接続へのポートの割り当てに失敗した場合のアラーム。  
**目的: **新しい接続を妨げるポート割り当ての失敗を検出します。  
**PromQL 基準: **`sum({__name__="ErrorPortAllocation", "@instrumentation.@name"="cloudwatch.aws/natgateway", NatGatewayId="{{your-nat-gateway-id}}"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **割り当ての失敗は接続に影響します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**PacketsDropCount**  
**ラベル: **NatGatewayId  
**アラームの説明: **NAT ゲートウェイがしきい値を超えるパケットをドロップした場合のアラーム。  
**目的: **容量または接続の問題を示すパケットドロップを検出します。  
**PromQL 基準: **`sum({__name__="PacketsDropCount", "@instrumentation.@name"="cloudwatch.aws/natgateway", NatGatewayId="{{your-nat-gateway-id}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なドロップレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## AWS PrivateLink エンドポイント
<a name="Recommended_PromQL_PrivateLinkEndpoints"></a>

**PacketsDropped**  
**ラベル: **VpcId、VpcEndpointId、EndpointType、SubnetId、ServiceName  
**アラームの説明: **VPC エンドポイントがしきい値を超えるパケットをドロップした場合のアラーム。  
**目的: **エンドポイントやエンドポイントサービスの異常を検出します。  
**PromQL 基準: **`sum({__name__="PacketsDropped", "@instrumentation.@name"="cloudwatch.aws/privatelinkendpoints", VpcId="{{your-vpc-id}}",VpcEndpointId="{{your-vpc-endpoint-id}}",EndpointType="{{your-endpoint-type}}",SubnetId="{{your-subnet-id}}",ServiceName="{{your-service-name}}"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なドロップレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## AWS PrivateLink サービス
<a name="Recommended_PromQL_PrivateLinkServices"></a>

**RstPacketsSent**  
**ラベル: **ServiceId、LoadBalancerArn、Az  
**アラームの説明: **RST パケットレートがエンドポイントサービスのしきい値を超えた場合のアラーム。  
**目的: **エンドポイントサービスの異常なターゲットを検出します。  
**PromQL 基準: **`sum({__name__="RstPacketsSent", "@instrumentation.@name"="cloudwatch.aws/privatelinkservices", ServiceId="SVC",LoadBalancerArn="LB",Az="AZ"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能な RST パケットレートに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## RDS
<a name="Recommended_PromQL_RDS"></a>

**CPUUtilization**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS インスタンスの平均 CPU 使用率が 90% を超えた場合のアラーム。  
**目的: **パフォーマンスの低下を防ぐために高 CPU を検出します。  
**PromQL 基準: **`avg({__name__="CPUUtilization", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > 90`  
**推奨しきい値: **90 (クエリに埋め込み)  
**しきい値の根拠: **90% は飽和に近いことを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**DatabaseConnections**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **データベース接続が RDS インスタンスのしきい値を超えた場合のアラーム。  
**目的: **最大制限での接続拒否を防止します。  
**PromQL 基準: **`avg({__name__="DatabaseConnections", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **max\_connections パラメータの割合に設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**EBSByteBalance%**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS インスタンスの EBS バイトバランスが 10% を下回った場合のアラーム。  
**目的: **ボトルネックの原因となる低スループットクレジットを検出します。  
**PromQL 基準: **`avg({__name__="EBSByteBalance%", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < 10`  
**推奨しきい値: **10 (クエリに埋め込み)  
**しきい値の根拠: **10% を下回ると、スループットが低下するリスクがあります。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **180

**EBSIOBalance%**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS インスタンスの EBS IO バランスが 10% を下回った場合のアラーム。  
**目的: **ボトルネックの原因となる低 IOPS クレジットを検出します。  
**PromQL 基準: **`avg({__name__="EBSIOBalance%", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < 10`  
**推奨しきい値: **10 (クエリに埋め込み)  
**しきい値の根拠: **10% を下回ると、IOPS が低下するリスクがあります。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **180

**FreeableMemory**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **解放可能なメモリが RDS インスタンスのしきい値を下回った場合のアラーム。  
**目的: **メモリ不足による接続拒否を防止します。  
**PromQL 基準: **`avg({__name__="FreeableMemory", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **インスタンスクラスのメモリに基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**FreeLocalStorage**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **空きローカルストレージが Aurora インスタンスのしきい値を下回った場合のアラーム。  
**目的: **Aurora ローカルストレージの枯渇を防ぎます。  
**PromQL 基準: **`avg({__name__="FreeLocalStorage", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **オペレーションに必要な最小値に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**FreeStorageSpace**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **ストレージの空きスペースが RDS インスタンスのしきい値を下回った場合のアラーム。  
**目的: **ストレージフルによるダウンタイムを防止します。  
**PromQL 基準: **`min({__name__="FreeStorageSpace", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **ストレージの増加率とプロビジョニングされたサイズに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**MaximumUsedTransactionIDs**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS インスタンスの使用済みトランザクション ID の最大数が 10 億を超えた場合のアラーム。  
**目的: **PostgreSQL のトランザクション ID のラップアラウンドを防ぎます。  
**PromQL 基準: **`avg({__name__="MaximumUsedTransactionIDs", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > 1000000000`  
**推奨しきい値: **1000000000 (クエリに埋め込み)  
**しきい値の根拠: **10 億はラップアラウンドの危険に近づいていることを示します。  
**評価間隔: **60  
**保留期間: **60  
**リカバリ期間: **60

**ReadLatency**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **p90 読み込みレイテンシーが RDS インスタンスのしきい値を超えた場合のアラーム。  
**目的: **ディスク問題を示す高い読み込みレイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="ReadLatency", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なアプリケーションレイテンシーに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**ReplicaLag**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS リードレプリカのレプリケーション遅延が 60 秒を超えた場合のアラーム。  
**目的: **データ損失のリスクがあるレプリケーション遅延を検出します。  
**PromQL 基準: **`max({__name__="ReplicaLag", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > 60`  
**推奨しきい値: **60 (クエリに埋め込み)  
**しきい値の根拠: **60 秒は、ほとんどのワークロードにとって大幅な遅延を表します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**WriteLatency**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **p90 書き込みレイテンシーが RDS インスタンスのしきい値を超えた場合のアラーム。  
**目的: **ディスク問題を示す高い書き込みレイテンシーを検出します。  
**PromQL 基準: **`histogram_quantile(0.9, {__name__="WriteLatency", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なアプリケーションレイテンシーに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**DBLoad**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **平均データベース負荷が RDS インスタンスのしきい値を超えた場合のアラーム。  
**目的: **パフォーマンスを低下させている高いデータベース負荷を検出します。  
**PromQL 基準: **`avg({__name__="DBLoad", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **vCPU 数の倍数に設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**AuroraVolumeBytesLeftTotal**  
**ラベル: **DBClusterIdentifier  
**アラームの説明: **Aurora クラスターストレージの残りのバイト数がしきい値を下回った場合のアラーム。  
**目的: **Aurora クラスターストレージの枯渇を防ぎます。  
**PromQL 基準: **`avg({__name__="AuroraVolumeBytesLeftTotal", "@instrumentation.@name"="cloudwatch.aws/rds", DBClusterIdentifier="CLUSTER"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **増加率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**AuroraBinlogReplicaLag**  
**ラベル: **DBClusterIdentifier  
**アラームの説明: **Aurora バイナリログレプリカの遅延がエラー状態を示す場合のアラーム。  
**目的: **ライターインスタンスのレプリケーションエラーを検出します。  
**PromQL 基準: **`avg({__name__="AuroraBinlogReplicaLag", "@instrumentation.@name"="cloudwatch.aws/rds", DBClusterIdentifier="CLUSTER"}) <= -1`  
**推奨しきい値: **-1 (クエリに埋め込み)  
**しきい値の根拠: **-1 はエラー状態を示します。  
**評価間隔: **60  
**保留期間: **120  
**リカバリ期間: **120

**BlockedTransactions**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **ブロックされたトランザクション数が RDS インスタンスのしきい値を超えた場合のアラーム。  
**目的: **パフォーマンスの低下を引き起こすトランザクションブロッキングを検出します。  
**PromQL 基準: **`avg({__name__="BlockedTransactions", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なブロックされたトランザクション数に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**BufferCacheHitRatio**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **RDS インスタンスのバッファキャッシュヒット率が 80% を下回った場合のアラーム。  
**目的: **パフォーマンスの低下を招く低いキャッシュ効率を検知します。  
**PromQL 基準: **`avg({__name__="BufferCacheHitRatio", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) < 80`  
**推奨しきい値: **80 (クエリに埋め込み)  
**しきい値の根拠: **80% 未満はディスク I/O が過剰であることを示します。  
**評価間隔: **60  
**保留期間: **600  
**リカバリ期間: **600

**EngineUptime**  
**ラベル: **DBClusterIdentifier  
**アラームの説明: **エンジンアップタイムがゼロまで低下し、Aurora ライターが再起動した場合のアラーム。  
**目的: **Aurora ライターインスタンスのダウンタイムまたはクラッシュを検出します。  
**PromQL 基準: **`avg({__name__="EngineUptime", "@instrumentation.@name"="cloudwatch.aws/rds", DBClusterIdentifier="CLUSTER"}) <= 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **ゼロのアップタイムはインスタンスの再起動を示します。  
**評価間隔: **60  
**保留期間: **120  
**リカバリ期間: **120

**RollbackSegmentHistoryListLength**  
**ラベル: **DBInstanceIdentifier  
**アラームの説明: **Aurora インスタンスのロールバックセグメント履歴リストの長さが 100 万を超えた場合のアラーム。  
**目的: **CPU の低下を引き起こす高いロールバック履歴を検出します。  
**PromQL 基準: **`avg({__name__="RollbackSegmentHistoryListLength", "@instrumentation.@name"="cloudwatch.aws/rds", DBInstanceIdentifier="DB"}) > 1000000`  
**推奨しきい値: **1000000 (クエリに埋め込み)  
**しきい値の根拠: **100 万を超えるとパフォーマンス問題が発生します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**StorageNetworkThroughput**  
**ラベル: **DBClusterIdentifier  
**アラームの説明: **ストレージネットワークのスループットが Aurora クラスターのしきい値を超えた場合のアラーム。  
**目的: **ネットワークパケットドロップのリスクをもたらす高スループットを検出します。  
**PromQL 基準: **`avg({__name__="StorageNetworkThroughput", "@instrumentation.@name"="cloudwatch.aws/rds", DBClusterIdentifier="CLUSTER"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **インスタンスのネットワーク容量に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## Route 53
<a name="Recommended_PromQL_Route53"></a>

**HealthCheckStatus**  
**ラベル: **HealthCheckId  
**アラームの説明: ** Route 53 ヘルスチェックで異常なエンドポイントが報告された場合のアラーム。  
**目的: **Route 53 ヘルスチェッカーを使用して、異常なエンドポイントを検出します。  
**PromQL 基準: **`avg({__name__="HealthCheckStatus", "@instrumentation.@name"="cloudwatch.aws/route53", HealthCheckId="HC"}) < 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **1 未満は、エンドポイントがヘルスチェックに失敗したことを示します。  
**評価間隔: **60  
**保留期間: **180  
**リカバリ期間: **180

## S3
<a name="Recommended_PromQL_S3"></a>

**4xxErrors**  
**ラベル: **BucketName、FilterId  
**アラームの説明: **S3 バケットの 4XX エラー率が 5% を超えた場合のアラーム。  
**目的: **異常なクライアントエラー率を検出します。  
**PromQL 基準: **`avg({__name__="4xxErrors", "@instrumentation.@name"="cloudwatch.aws/s3", BucketName="BUCKET",FilterId="FILTER"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えると、セットアップまたはアクセスの問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**5xxErrors**  
**ラベル: **BucketName、FilterId  
**アラームの説明: **S3 バケットの 5XX エラー率が 5% を超えた場合のアラーム。  
**目的: **アプリケーションに影響するサーバー側エラーを検出します。  
**PromQL 基準: **`avg({__name__="5xxErrors", "@instrumentation.@name"="cloudwatch.aws/s3", BucketName="BUCKET",FilterId="FILTER"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えると、S3 サービス問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**OperationsFailedReplication**  
**ラベル: **SourceBucket、DestinationBucket、RuleId  
**アラームの説明: **バケットの S3 レプリケーションオペレーションが失敗した場合のアラーム。  
**目的: **データ不整合のリスクがあるレプリケーション失敗を検出します。  
**PromQL 基準: **`max({__name__="OperationsFailedReplication", "@instrumentation.@name"="cloudwatch.aws/s3", SourceBucket="SRC",DestinationBucket="DST",RuleId="RULE"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **レプリケーションの失敗には調査が必要です。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## S3 Object Lambda
<a name="Recommended_PromQL_S3ObjectLambda"></a>

**4xxErrors**  
**ラベル: **AccessPointName、DataSourceARN  
**アラームの説明: **S3 Object Lambda アクセスポイントの 4xx エラー率が 5% を超えた場合のアラーム。  
**目的: **Object Lambda の異常なクライアントエラー率を検出します。  
**PromQL 基準: **`avg({__name__="4xxErrors", "@instrumentation.@name"="cloudwatch.aws/s3objectlambda", AccessPointName="AP",DataSourceARN="ARN"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えると、セットアップの問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**5xxErrors**  
**ラベル: **AccessPointName、DataSourceARN  
**アラームの説明: **S3 Object Lambda アクセスポイントの 5xx エラー率が 5% を超えた場合のアラーム。  
**目的: **Object Lambda におけるサーバー側エラーを検出します。  
**PromQL 基準: **`avg({__name__="5xxErrors", "@instrumentation.@name"="cloudwatch.aws/s3objectlambda", AccessPointName="AP",DataSourceARN="ARN"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えると、Lambda または S3 の問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**LambdaResponse4xx**  
**ラベル: **AccessPointName、DataSourceARN  
**アラームの説明: **S3 Object Lambda アクセスポイントの Lambda 関数 4xx 応答率が 5% を超えた場合のアラーム。  
**目的: **Lambda 関数のクライアントエラーを検出します。  
**PromQL 基準: **`avg({__name__="LambdaResponse4xx", "@instrumentation.@name"="cloudwatch.aws/s3objectlambda", AccessPointName="AP",DataSourceARN="ARN"}) > 0.05`  
**推奨しきい値: **0.05 (クエリに埋め込み)  
**しきい値の根拠: **5% を超えると、Lambda 関数の問題を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

## SNS
<a name="Recommended_PromQL_SNS"></a>

**NumberOfMessagesPublished**  
**ラベル: **TopicName  
**アラームの説明: **発行されたメッセージ数が SNS トピックのしきい値を下回った場合のアラーム。  
**目的: **発行ボリュームの大幅な減少を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfMessagesPublished", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される最小トラフィックに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsDelivered**  
**ラベル: **TopicName  
**アラームの説明: **配信された通知の数が SNS トピックのしきい値を下回った場合のアラーム。  
**目的: **通知配信ボリュームの減少を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsDelivered", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される最小配信数に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsFailed**  
**ラベル: **TopicName  
**アラームの説明: **失敗した通知配信の数が SNS トピックのしきい値を超えた場合のアラーム。  
**目的: **配信の失敗を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsFailed", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能な失敗率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsFilteredOut-InvalidAttributes**  
**ラベル: **TopicName  
**アラームの説明: **無効なメッセージ属性が原因で通知が除外された場合のアラーム。  
**目的: **無効なメッセージ属性を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsFilteredOut-InvalidAttributes", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **無効なフィルターは設定ミスを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsFilteredOut-InvalidMessageBody**  
**ラベル: **TopicName  
**アラームの説明: **無効なメッセージ本文が原因で通知が除外された場合のアラーム。  
**目的: **無効なメッセージ本文を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsFilteredOut-InvalidMessageBody", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **無効なフィルターは設定ミスを示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsRedrivenToDlq**  
**ラベル: **TopicName  
**アラームの説明: **SNS トピックのデッドレターキューに通知が送信された場合のアラーム。  
**目的: **デッドレターキューに送信されたメッセージを検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsRedrivenToDlq", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **DLQ メッセージは配信の問題を示します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**NumberOfNotificationsFailedToRedriveToDlq**  
**ラベル: **TopicName  
**アラームの説明: **SNS トピックのデッドレターキューに通知が送信されなかった場合のアラーム。  
**目的: **DLQ 配信の失敗を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfNotificationsFailedToRedriveToDlq", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **DLQ が失敗すると、エラー追跡が失われます。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**SMSMonthToDateSpentUSD**  
**ラベル: **TopicName  
**アラームの説明: **SMS 支出が SNS トピックのアカウントクォータに近づいた場合のアラーム。  
**目的: **クォータに近づいている SMS 支出を検出します。  
**PromQL 基準: **`max({__name__="SMSMonthToDateSpentUSD", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **アカウント SMS クォータに基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

**SMSSuccessRate**  
**ラベル: **TopicName  
**アラームの説明: **SMS 配信の成功率が SNS トピックのしきい値を下回った場合のアラーム。  
**目的: **失敗した SMS 配信を検出します。  
**PromQL 基準: **`avg({__name__="SMSSuccessRate", "@instrumentation.@name"="cloudwatch.aws/sns", TopicName="TOPIC"}) < {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能な配信率に基づいて設定します。  
**評価間隔: **60  
**保留期間: **300  
**リカバリ期間: **300

## SQS
<a name="Recommended_PromQL_SQS"></a>

**ApproximateAgeOfOldestMessage**  
**ラベル: **QueueName  
**アラームの説明: **最も古いメッセージ経過時間が SQS キューのしきい値を超えた場合のアラーム。  
**目的: **処理が迅速でなかったメッセージを検出します。  
**PromQL 基準: **`max({__name__="ApproximateAgeOfOldestMessage", "@instrumentation.@name"="cloudwatch.aws/sqs", QueueName="QUEUE"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **許容可能なメッセージ処理時間に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**ApproximateNumberOfMessagesNotVisible**  
**ラベル: **QueueName  
**アラームの説明: **処理中メッセージ数が SQS キューのしきい値を超えた場合のアラーム。  
**目的: **コンシューマーの問題を示す処理中メッセージ数の増加を検出します。  
**PromQL 基準: **`avg({__name__="ApproximateNumberOfMessagesNotVisible", "@instrumentation.@name"="cloudwatch.aws/sqs", QueueName="QUEUE"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想される処理量に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**ApproximateNumberOfMessagesVisible**  
**ラベル: **QueueName  
**アラームの説明: **可視メッセージ数が SQS キューのしきい値を超えた場合のアラーム。  
**目的: **遅いコンシューマーを示すメッセージバックログを検出します。  
**PromQL 基準: **`avg({__name__="ApproximateNumberOfMessagesVisible", "@instrumentation.@name"="cloudwatch.aws/sqs", QueueName="QUEUE"}) > {{THRESHOLD}}`  
**推奨しきい値: **{{THRESHOLD}} (クエリに埋め込み)  
**しきい値の根拠: **予想されるキュー深度に基づいて設定します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

**NumberOfMessagesSent**  
**ラベル: **QueueName  
**アラームの説明: **SQS キューにメッセージが一切送信されない場合のアラーム。  
**目的: **プロデューサーによるメッセージ送信停止を検出します。  
**PromQL 基準: **`sum({__name__="NumberOfMessagesSent", "@instrumentation.@name"="cloudwatch.aws/sqs", QueueName="QUEUE"}) <= 0`  
**推奨しきい値: **0 (クエリに埋め込み)  
**しきい値の根拠: **メッセージがゼロの場合は、プロデューサーの障害を示します。  
**評価間隔: **60  
**保留期間: **900  
**リカバリ期間: **900

## VPN
<a name="Recommended_PromQL_VPN"></a>

**TunnelState (VPN レベル)**  
**ラベル: **VpnId  
**アラームの説明: **少なくとも 1 つの VPN トンネルが DOWN 状態になっている場合のアラーム。  
**目的: **DOWN 状態のトンネルが 1 つでもあれば検出します。  
**PromQL 基準: **`min({__name__="TunnelState", "@instrumentation.@name"="cloudwatch.aws/vpn", VpnId="VPN"}) < 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **1 未満はトンネルがダウンしていることを意味します。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900

**TunnelState (トンネルレベル)**  
**ラベル: **TunnelIpAddress  
**アラームの説明: **特定の VPN トンネルが DOWN 状態になっている場合のアラーム。  
**目的: **DOWN 状態になっている特定のトンネルを検出します。  
**PromQL 基準: **`min({__name__="TunnelState", "@instrumentation.@name"="cloudwatch.aws/vpn", TunnelIpAddress="IP"}) < 1`  
**推奨しきい値: **1 (クエリに埋め込み)  
**しきい値の根拠: **1 未満はトンネルがダウンしていることを意味します。  
**評価間隔: **300  
**保留期間: **900  
**リカバリ期間: **900