Amazon Web Services ブログ

Amazon Managed Service for Grafana を始めよう

この記事は、Amazon Managed Service for Grafana – Getting Started を翻訳したものです。

Amazon Managed Service for Grafana (AMG) は、フルマネージドでセキュアなデータ可視化サービスです。このサービスでは、お客様は複数のデータソースからアプリケーションの運用メトリクス、ログ、トレースデータを即座に検索、関連付け、そして可視化することができます。AMG は、オープンソースの Grafana プロジェクトに基づいています。Grafana は、広く展開されているデータ可視化ツールであり、拡張可能なデータソースのサポートによって普及しています。Grafana Labsと共に開発したAMGでは、Grafana のプロビジョニング、セットアップ、スケーリング、メンテナンスをお客様自身で行う必要がありません。また、シングルサインオン、きめ細かなデータアクセス制御、そして監査レポートなど、ガバナンス要件へのコンプライアンスを可能にするセキュリティ機能が備わっています。AMG は、Amazon CloudWatch、Amazon Elasticsearch Service、Amazon Timestream、AWS IoT SiteWise、AWS X-Ray、Amazon Managed Service for Prometheus (AMP) などの運用データを収集する AWS のデータソースと統合され、他のクラウドサービスと同様に一般的なオープンソースデータベースやサードパーティの ISV モニタリングツールへのプラグインを提供します。AMG を使用すると、複数の AWS サービス、AWS アカウント、およびリージョンの情報を 1 つの Grafana ダッシュボードで簡単に可視化することができます。

Grafana Enterprise へのインプレースアップグレードを実行して、追加の機能やプラグインを利用することもできます。Grafana Enterprise では、AppDynamics、DataDog、Dynatrace、New Relic、MongoDB、Oracle Database、ServiceNow、Snowflake、Splunk、そして Wavefront からのデータを統合できます。さらに、Grafana Labsからサポートコンテンツやトレーニングコンテンツに直接アクセスして、Grafana の高度な機能を簡単に探して活用することができます。詳細はこちらをクリックしてください。

始める前に

AMG を柔軟かつ便利に使用するために、私達はユーザー管理に AWS Single Sign-On (SSO) を活用することにしました。AWS SSO は、AWS Organizations を有効にすると利用できます。AWS アカウントが AWS Organizationsの一部であるかどうかを確認するには、https://console.thinkwithwp.com/organizations/ に進んでください。次のようなビューが表示されるはずです(訳注: 添付の画像は旧デザインの Organizations コンソールです)。アクティブ化された AWS Organizations が表示されない場合は作成してください。

既存のAWS Organizationの画面

既存のAWS Organizationの画面

AMG は AWS SSO と統合されているため、AMG ワークスペース内の Active Directory、LDAP、あるいは Okta などの既存のユーザーディレクトリからユーザーとグループを簡単に割り当てて、既存のユーザー ID とパスワードを使用してシングルサインオンすることができます。これにより、2 要素認証やパスワードの複雑さなど、自社の既存のログインセキュリティ要件を適用できます。

既存のユーザーディレクトリがない場合、またはSecurity Assertion Markup Language (SAML) 2.0 標準を通じて外部ID プロバイダーと統合したくない場合は、AWS SSO 内でローカルユーザーとパスワードを作成し、それらを使用して Grafana ワークスペースにサインインできます。

SSO console: ユーザーの追加

SSO console: ユーザーの追加

AWS SSO と AWSOrganizationsに関する準備が終わったので、AMG の中核となるセットアップに入る準備が整いました。

AWS アカウントで AMG をセットアップする

オンデマンドでオートスケールされる Grafana ワークスペース (仮想 Grafana サーバー) を簡単に立ち上げて、複数のデータソースにまたがった一元的なダッシュボードを作成できます。次の例のためにAMGを使用する前に、我々はそのダッシュボードを設定する必要があります。以降では、AWS コンソールを使用して、必要なステップについて説明し、各ステップを実行する際に考慮すべき事項について説明します。

AMG コンソールのランディングページの右上隅にある ワークスペースの作成 ボタンを押した後、新しいワークスペースに名前を入力し、必要に応じて説明を入力します。

AMG ワークスペースの新規作成

AMG ワークスペースの新規作成

次に、ユーザーとデータのアクセス権限を定義する必要があります。(他の AWS サービスに対して細かな制御を行うために)IAM ロールとポリシーを自分で管理するというユースケースが無いのであれば、 AWS サービスデータにアクセスするための IAM ロールとポリシーの作成を AMG に任せることをお勧めします。

Grafana ワークスペースへのユーザー認証を管理するために、このステップではAMG に対して AWS Single Sign-On (SSO) を有効にしていきます。

AWG ワークスペースの設定

AWG ワークスペースの設定

上述したように AWS SSO 経由でユーザーを設定していない場合は、AMG が提供するAWS SSOの有効化機能を使うことができますので、このステップで ユーザーの作成 をクリックします。

SSOを有効にし、ユーザーを作成する

SSOを有効にし、ユーザーを作成する

次に、フォームに詳細を入力します。つまり、電子メールアドレスと名前だけでなく、名字も入力します。

SSO ユーザーを作成する

SSO ユーザーを作成する

招待を確認するメールがすぐに届くはずです。

SSO ユーザーへの招待メール

SSO ユーザーへの招待メール

ユーザー (この例では Grafana User ) は、SSO によって提供された URL ( d-xxx-awsapps.com/start のようなもの) またはワークスペースの詳細ページから特定の Grafana ワークスペースの URL を使用して、自分の環境にログインできます。そこでは、管理者として SSO から取得し、ユーザーと共有しているワンタイムパスワードを使用してパスワードを変更するように求められます(上記のスクリーンショットを参照してください)。

AMG ワークスペースの設定に戻りましょう。あともう少しです。ここで、データの取得と可視化に使用するデータソースを AMG に伝える必要があります。すべてのデータソースを試すために以下の項目をすべて選択しましたが、ユースケースに必要なサブセットに制限すると良いでしょう。

AMG ワークスペースの権限設定

AMG ワークスペースの権限設定

いつものように、設定を見直して、AMG ワークスペースの作成の確認を最後に行うことができます。

AMG ワークスペース作成の確認

AMG ワークスペース作成の確認

ワークスペースが作成されたら、Grafana ワークスペースへのアクセス権をユーザーに割り当てることができます。AWS SSO から個々のユーザーを割り当てるか、ユーザーグループを割り当てるかを選択できます。

AMG workspaceでのユーザー割り当て

AMG workspaceでのユーザー割り当て

これで、管理者の観点からは作業が終わったので、ギアを切り替えてみましょう。上記の SSO ユーザーを使用して、AMG ワークスペースにアクセスできます。これで、ワークスペースの詳細ページから Grafana ワークスペースの URL をクリックすると、SSO クレデンシャル(ユーザー Grafana User) を使用して Grafana ワークスペースにログインし、AMG が有効になり、アクセスできるようになります。

AMG が並ぶ SSO ランディングページ

AMG が並ぶ SSO ランディングページ

これでAMGアイコンをクリックするだけで、Grafana ワークスペースにログインします。

Grafanaのランディングページ

Grafanaのランディングページ

これでセットアップが完了し、AMG を使用する準備ができました。Prometheus のデータを取得することから始めましょう。

Amazon Managed Service for Prometheus (AMP) やその他のデータソースとの統合

Amazon Managed Service for Grafanaは、Amazon Managed Service for Prometheus、Amazon CloudWatch、AWS X-Ray、Amazon Elasticsearch、Amazon Timestream、AWS IoT SiteWise プラグインなど、さまざまなデータソースをサポートしています。データソースの全リストはこちらにあります。

AMG は、AWS データソースのアカウントとリソースを自動的に検出し、CloudFormation を使用したアクセス許可の設定に基づいて自動設定できます。

AWSデータソースの自動検知

AWSデータソースの自動検知

データソースのプロビジョニング

データソースのプロビジョニング

このオプションは、AMG がネイティブに統合している 6 つの AWS サービスのアカウントとリソースを検出します。ワークフローの作成時に付与したアクセス権限に基づいて、追加するアカウントまたはリソースのチェックボックスをオンにするだけで、AMG は手動でコピーして貼り付けることなく、適切な IAM ロールのアクセス許可でデータソースを自動的に設定します。

AWS データソースの手動設定

次の手順でデータソースを手動で構成することもできます。

  • データソースプラグインを選択
  • 次のいずれかの認証メカニズムを選択します。
    • アクセス&シークレットキー
    • 認証情報ファイル
    • AWS アカウントで認証するための AssumeRole の ARN
  • デフォルトの AWS リージョンを選択(オプション)

この例では、Amazon Managed Prometheus (AMP) データソースに接続しています。

手動でAMPデータソースに接続する

手動でAMPデータソースに接続する

接続すると、新しく接続したデータソースとPromQLを使ったクエリメトリクスを選択して、ダッシュボードパネルを作成できます。以下は、AMPデータソースでクエリされた EKS クラスターからのメトリクスを示すスクリーンショットです。

EKS Pod のメトリクスダッシュボード

EKS Pod のメトリクスダッシュボード

すぐに使えるダッシュボード

AWS データソースプラグインには、すぐに使い始めるのに役立つ多数のダッシュボードが付属しています。以下に示すように、ダッシュボードタブの下にそれらを見つけることができます。

Amazon CloudWatch向けに用意されたすぐに使えるダッシュボードのリスト

Amazon CloudWatch向けに用意されたすぐに使えるダッシュボードのリスト

ボタンをクリックすることでダッシュボードを簡単にインポートできます。以下は Amazon EC2 ダッシュボードのスクリーンショットです。

EC2ダッシュボード

EC2ダッシュボード

カスタムダッシュボードの作成

Grafana は、さまざまなデータソースを使用してダッシュボードを作成するために、さまざまなパネルを使った可視化をサポートしています。以下に、One Observability デモアプリケーション の AWS X-Ray トレースデータを示すダッシュボードが表示されます。AWS X-Ray フィルター式を使用して、以下に示すようなダッシュボードパネルを Grafana に作成し、トレースデータを可視化することができます。
AWS X-Ray のトレースデータを表示しているカスタムダッシュボード

トレース ID をクリックするだけで、セグメントのタイムラインを見るために単一のトレースを調べることもできます。Grafana では、X-Ray Analyticsなどのツールを使用できる AWS X-Ray コンソールへのディープリンクも提供しています。

コミュニティによって構築された Grafana ダッシュボードの大規模なコレクションが活用できます。Grafana ワークスペースに簡単にインポートでき、あるドメインに特化したクイックスタートで、さまざまな一般的なデータソースでオブザーバビリティデータを可視化し調べることができるようになります。

まとめ

AMG(および AMP)を使えば、インフラストラクチャリソースを維持する運用管理について心配することなく、Grafana と Prometheus を使うことができます。また、画一的で手間のかかる作業を AWS に任せることができます。

さらに重要なのは、AWS Distro for OpenTelemetry の他にCNCF OpenTelemetry といったオープンスタンダード を利用して、Grafana と Prometheus のオープンソースベースなフルマネージドサービスを組み合わせて AWS 上にパワフルなオブザーバビリティを構築できるということなのです。

筆者

Imaya Kumar Jagannathan

Imaya は、Amazon CloudWatch と AWS X-Ray にフォーカスしたシニアソリューションアーキテクトです。彼はモニタリングとオブザーバビリティに情熱を注ぎ、アプリケーションの開発とアーキテクチャに強力なバックグラウンドを持っています。彼は分散システムが好きで、マイクロサービスのアーキテクチャ設計について話すことを楽しんでいます。彼はコンテナとサーバーレス技術を使って動かす C# でのプログラミングが大好きです。

 

Michael Hausenblas

Michael は AWS コンテナサービスチームのオープンソースプロダクトデベロッパーアドボケイトで、オープンソースのオブザーバビリティとサービスメッシュを担当しています。AWS 以前は、Red Hat、Mesosphere、MapRに勤務し、応用研究で博士研究員として働いていました。Twitterアカウントは @mhausenblas です。

 

 

翻訳はソリューションアーキテクトの 藤嶋 が担当しました。原文はこちらです。