コンテンツにスキップ

Amazon Managed Service for Prometheus

1. サービス概要

Amazon Managed Service for Prometheus (AMP) は、AWS が提供するフルマネージドのモニタリングサービスで、オープンソースのモニタリングツールである Prometheus と互換性がある。
AMP を利用することで、コンテナ環境、サーバーレスアプリケーション、およびその他のクラウド環境から収集したメトリクスデータを、スケーラブルかつ可用性の高い方法で監視できる。
これにより、インフラストラクチャやアプリケーションのパフォーマンスを可視化し、問題を早期に特定できる。

主なユースケースとして、

  • コンテナアプリケーションの監視
  • Kubernetes クラスタの監視
  • マイクロサービスの監視
  • DevOps モニタリング
  • アラート管理

などが挙げられる。

2. 主な特徴と機能

2.1 Prometheus 互換性

Amazon Managed Service for Prometheus は、Prometheus のクエリ言語 (PromQL) 、データモデル、および API と互換性がある。
これにより、既存の Prometheus の知識やツールをそのまま利用できる。

2.2 フルマネージドサービス

Prometheus サーバーの運用管理(プロビジョニング、スケーリング、パッチ適用、バックアップなど)は AWS が自動で行う。
これにより、ユーザーはインフラ管理に煩わされることなく、モニタリングに集中できる。

2.3 スケーラビリティと可用性

AMP は、大量のメトリクスデータを効率的に処理するために、自動的にスケールアップできる。
また、データは複数のアベイラビリティーゾーンに保存され、高い可用性を確保する。

2.4 長期保存

AMP は、メトリクスデータを長期にわたって保存できる。
これにより、過去のデータに基づく分析やトレンド把握を容易に行える。

2.5 複数リージョン対応

AMP は、複数の AWS リージョンにデータを保存できる。
これにより、グローバルに分散したアプリケーションのモニタリングを容易に行える。

2.6 Grafana との連携

Amazon Managed Grafana とシームレスに統合されており、AMP に格納されたメトリクスデータを、Grafana ダッシュボードで可視化できる。
これにより、統合的なモニタリングソリューションを構築できる。

2.7 セキュリティ

AMP は、データの暗号化、アクセス制御、コンプライアンス認証に対応し、安全なメトリクスデータの収集、保存、分析を保証する。
IAM によるアクセス制御、転送中のデータ暗号化、保存中のデータ暗号化、VPC 内でのプライベート接続をサポートしている。

  • IAM 連携: AWS IAM を使用してアクセス制御と権限管理。
  • データ暗号化: 転送中および保存中のデータを暗号化。
  • VPC サポート: Amazon VPC 内でのプライベート接続。

2.8 統合性

AMP は、AWS の他のサービス(Amazon ECS, Amazon EKS, AWS Lambda など)と統合されており、コンテナ環境やサーバーレスアプリケーションのモニタリングを容易に行える。
AWS Distro for OpenTelemetry (ADOT) を利用して、メトリクスデータを収集できる。

3. アーキテクチャおよび技術要素

  1. Prometheus エクスポーターまたは AWS Distro for OpenTelemetry (ADOT) を使用して、メトリクスデータを収集。
  2. 収集されたメトリクスデータは、AMP に送信。
  3. AMP は、Prometheus のデータモデルに基づいてメトリクスデータを保存。
  4. ユーザーは、PromQL を使用してメトリクスデータをクエリ。
  5. 必要に応じて、Amazon Managed Grafana でメトリクスデータを可視化。

AMP は、フルマネージドサービスとして提供され、高い可用性、スケーラビリティ、セキュリティを内包している。
Prometheus の運用管理を簡素化し、ユーザーはモニタリングに集中できる。

4. セキュリティと認証・認可

セキュリティは AMP の重要な要素です:

  • IAM によるアクセス制御: AWS IAM を利用して、AMP リソースへのアクセスを制御し、権限を管理。
  • データ暗号化: 転送中および保存中のデータを暗号化し、データの機密性を保護。
  • VPC サポート: Amazon VPC 内で AMP を使用する場合、プライベート接続を確立。
  • 監査ログ: AWS CloudTrail を利用して、API 呼び出しやリソース変更を記録。

これにより、データの安全性とコンプライアンスを確保できる。

5. 料金形態

Amazon Managed Service for Prometheus の料金は主に以下に基づきます:

  • 取り込み量: 取り込まれたメトリクスデータ量に応じた課金。
  • クエリ: メトリクスデータのクエリ量に応じた課金。
  • ストレージ: 保存されたメトリクスデータの量に応じた課金。

6. よくあるアーキテクチャ・設計パターン

一般的なパターンは以下の通りです:

  • コンテナアプリケーションの監視: Amazon ECS や Amazon EKS 上で実行されるコンテナアプリケーションのメトリクスを収集し、パフォーマンスを監視。
  • Kubernetes クラスタの監視: Kubernetes クラスタのノード、ポッド、コンテナのメトリクスを監視し、リソース使用量と可用性を把握。
  • マイクロサービスの監視: 複数のマイクロサービスからメトリクスを収集し、サービス間のパフォーマンスを可視化。
  • DevOps モニタリング: CI/CD パイプライン、デプロイ状況、アプリケーションのパフォーマンスなどを監視し、DevOps チームの効率を向上。
  • アラート管理: 収集されたメトリクスに基づいてアラートを設定し、システムやアプリケーションの異常を検知。

7. 設定・デプロイ手順(ハンズオン例)

  1. AWS コンソールで AMP ワークスペースを作成。
  2. Prometheus エクスポーターまたは AWS Distro for OpenTelemetry (ADOT) をインストールし、メトリクスデータを収集。
  3. AMP にメトリクスデータを送信。
  4. PromQL でメトリクスデータをクエリ。
  5. Amazon Managed Grafana でデータを可視化。

8. 試験で問われやすいポイント

8.1 Prometheus 互換性

  • PromQL: Prometheus のクエリ言語である PromQL をサポートしていることを理解。
  • データモデル: Prometheus のデータモデルと互換性があることを理解。
  • API: Prometheus の API と互換性があることを理解。

8.2 フルマネージドサービス

  • 運用管理: Prometheus サーバーの運用管理を AWS が自動で行うことを理解。
  • モニタリング集中: ユーザーはインフラ管理に煩わされることなくモニタリングに集中できることを理解。

8.3 スケーラビリティと可用性

  • 自動スケーリング: 大量のメトリクスデータを効率的に処理するために自動的にスケールアップできることを理解。
  • 複数 AZ: データは複数のアベイラビリティーゾーンに保存され、高い可用性を確保していることを理解。

8.4 料金体系

  • 取り込み量: 取り込まれたメトリクスデータ量による課金を理解。
  • クエリ: メトリクスデータのクエリ量による課金を理解。
  • ストレージ: 保存されたメトリクスデータ量による課金を理解。

8.5 類似・関連サービスとの比較

  • Amazon CloudWatch: AWS リソースのメトリクス収集に特化。AMP は Prometheus 互換のメトリクス収集と長期保存に特化。
  • Amazon Managed Grafana: データ可視化サービス。AMP はメトリクス収集サービス。連携して利用される。

8.6 試験で頻出となる具体的な問われ方と答え

  • Q: Amazon Managed Service for Prometheus (AMP) の主な用途は?
  • A: メトリクスデータの収集、保存、クエリを実行するフルマネージドサービス。
  • Q: AMP はどのモニタリングツールと互換性がある?
  • A: Prometheus。
  • Q: AMP のフルマネージドとは?
  • A: Prometheus サーバーの運用管理を AWS が行うこと。
  • Q: AMP のデータクエリに利用する言語は?
  • A: PromQL (Prometheus Query Language)。
  • Q: AMP のセキュリティ対策は?
  • A: IAM によるアクセス制御、データ暗号化、VPC サポートなど。
  • Q: AMP の料金体系は?
  • A: 取り込み量、クエリ、ストレージに基づいた従量課金。
  • Q: AMP と CloudWatch の違いは?
  • A: CloudWatch は AWS リソース監視、AMP は Prometheus 互換のメトリクス収集に特化。