- 新しい順
- 投票が多い順
- コメントが多い順
Lightsailのメトリクスがコンソールでは表示されるのにCLIでは取得できない問題について、いくつかの確認点と解決策を提案します。
まず、Lightsailのメトリクスは通常のCloudWatchメトリクスとは少し異なる仕組みで管理されている可能性があります。以下の点を確認してみてください:
-
正しいメトリクス名前空間の確認: Lightsailのデータベースメトリクスは、標準の "AWS/Lightsail" 名前空間ではなく、別の名前空間を使用している可能性があります。例えば "Amazon/Lightsail" や特定のサービス固有の名前空間かもしれません。
-
メトリクスの取得方法: Lightsailのメトリクスを取得するには、Lightsail固有のAPIを使用する必要があるかもしれません。以下のコマンドを試してみてください:
aws lightsail get-relational-database-metrics --relational-database-name YOUR_DB_NAME --metric-name FreeStorageSpace --period 3600 --start-time "2023-01-01T00:00:00Z" --end-time "2023-01-02T00:00:00Z" --unit Bytes --statistics Average --region ap-northeast-1
(日時は適宜調整してください)
- IAMアクセス権限の確認: ユーザー認証情報は同じでも、CloudWatchとLightsailのメトリクスへのアクセス権限が異なる可能性があります。IAMポリシーで以下の権限があることを確認してください:
- cloudwatch:ListMetrics
- cloudwatch:GetMetricData
- lightsail:GetRelationalDatabaseMetricData
-
Lambda実装のアプローチ: Lambda関数でLightsailメトリクスを取得するには、AWS SDKを使用してLightsailのAPIを直接呼び出す方法が効果的です。PowertoolsのMetricsユーティリティを使用すると、メトリクスの収集と処理が簡単になります。
-
メトリクスの時間範囲: メトリクスデータが存在する時間範囲を指定しているか確認してください。データが存在しない期間を照会すると空の結果が返される可能性があります。
これらの確認と調整を行った上で、Lambdaを使ってLightsailデータベースの空き容量メトリクスを定期的に取得し、Slackに投稿する実装を進めることをお勧めします。
Sources
Base - Powertools for AWS Lambda (Python)
MetricsOptions | aws-lambda-powertools-typescript
MetricsOptions | aws-lambda-powertools-typescript
EMF - Powertools for AWS Lambda (Python)

で、一定時間単位の空き容量が取得できました。