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.aws.amazon.com/organizations/ に進んでください。次のようなビューが表示されるはずです(訳注: 添付の画像は旧デザインの Organizations コンソールです)。アクティブ化された AWS Organizations が表示されない場合は作成してください。
AMG は AWS SSO と統合されているため、AMG ワークスペース内の Active Directory、LDAP、あるいは Okta などの既存のユーザーディレクトリからユーザーとグループを簡単に割り当てて、既存のユーザー ID とパスワードを使用してシングルサインオンすることができます。これにより、2 要素認証やパスワードの複雑さなど、自社の既存のログインセキュリティ要件を適用できます。
既存のユーザーディレクトリがない場合、またはSecurity Assertion Markup Language (SAML) 2.0 標準を通じて外部ID プロバイダーと統合したくない場合は、AWS SSO 内でローカルユーザーとパスワードを作成し、それらを使用して Grafana ワークスペースにサインインできます。
AWS SSO と AWSOrganizationsに関する準備が終わったので、AMG の中核となるセットアップに入る準備が整いました。
AWS アカウントで AMG をセットアップする
オンデマンドでオートスケールされる Grafana ワークスペース (仮想 Grafana サーバー) を簡単に立ち上げて、複数のデータソースにまたがった一元的なダッシュボードを作成できます。次の例のためにAMGを使用する前に、我々はそのダッシュボードを設定する必要があります。以降では、AWS コンソールを使用して、必要なステップについて説明し、各ステップを実行する際に考慮すべき事項について説明します。
AMG コンソールのランディングページの右上隅にある ワークスペースの作成 ボタンを押した後、新しいワークスペースに名前を入力し、必要に応じて説明を入力します。
次に、ユーザーとデータのアクセス権限を定義する必要があります。(他の AWS サービスに対して細かな制御を行うために)IAM ロールとポリシーを自分で管理するというユースケースが無いのであれば、 AWS サービスデータにアクセスするための IAM ロールとポリシーの作成を AMG に任せることをお勧めします。
Grafana ワークスペースへのユーザー認証を管理するために、このステップではAMG に対して AWS Single Sign-On (SSO) を有効にしていきます。
上述したように AWS SSO 経由でユーザーを設定していない場合は、AMG が提供するAWS SSOの有効化機能を使うことができますので、このステップで ユーザーの作成 をクリックします。
次に、フォームに詳細を入力します。つまり、電子メールアドレスと名前だけでなく、名字も入力します。
招待を確認するメールがすぐに届くはずです。
ユーザー (この例では Grafana User
) は、SSO によって提供された URL ( d-xxx-awsapps.com/start
のようなもの) またはワークスペースの詳細ページから特定の Grafana ワークスペースの URL を使用して、自分の環境にログインできます。そこでは、管理者として SSO から取得し、ユーザーと共有しているワンタイムパスワードを使用してパスワードを変更するように求められます(上記のスクリーンショットを参照してください)。
AMG ワークスペースの設定に戻りましょう。あともう少しです。ここで、データの取得と可視化に使用するデータソースを AMG に伝える必要があります。すべてのデータソースを試すために以下の項目をすべて選択しましたが、ユースケースに必要なサブセットに制限すると良いでしょう。
いつものように、設定を見直して、AMG ワークスペースの作成の確認を最後に行うことができます。
ワークスペースが作成されたら、Grafana ワークスペースへのアクセス権をユーザーに割り当てることができます。AWS SSO から個々のユーザーを割り当てるか、ユーザーグループを割り当てるかを選択できます。
これで、管理者の観点からは作業が終わったので、ギアを切り替えてみましょう。上記の SSO ユーザーを使用して、AMG ワークスペースにアクセスできます。これで、ワークスペースの詳細ページから Grafana ワークスペースの URL をクリックすると、SSO クレデンシャル(ユーザー Grafana User
) を使用して Grafana ワークスペースにログインし、AMG が有効になり、アクセスできるようになります。
これでAMGアイコンをクリックするだけで、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 を使用したアクセス許可の設定に基づいて自動設定できます。
このオプションは、AMG がネイティブに統合している 6 つの AWS サービスのアカウントとリソースを検出します。ワークフローの作成時に付与したアクセス権限に基づいて、追加するアカウントまたはリソースのチェックボックスをオンにするだけで、AMG は手動でコピーして貼り付けることなく、適切な IAM ロールのアクセス許可でデータソースを自動的に設定します。
AWS データソースの手動設定
次の手順でデータソースを手動で構成することもできます。
- データソースプラグインを選択
- 次のいずれかの認証メカニズムを選択します。
- アクセス&シークレットキー
- 認証情報ファイル
- AWS アカウントで認証するための AssumeRole の ARN
- デフォルトの AWS リージョンを選択(オプション)
この例では、Amazon Managed Prometheus (AMP) データソースに接続しています。
接続すると、新しく接続したデータソースとPromQLを使ったクエリメトリクスを選択して、ダッシュボードパネルを作成できます。以下は、AMPデータソースでクエリされた EKS クラスターからのメトリクスを示すスクリーンショットです。
すぐに使えるダッシュボード
AWS データソースプラグインには、すぐに使い始めるのに役立つ多数のダッシュボードが付属しています。以下に示すように、ダッシュボードタブの下にそれらを見つけることができます。
ボタンをクリックすることでダッシュボードを簡単にインポートできます。以下は Amazon EC2 ダッシュボードのスクリーンショットです。
カスタムダッシュボードの作成
Grafana は、さまざまなデータソースを使用してダッシュボードを作成するために、さまざまなパネルを使った可視化をサポートしています。以下に、One Observability デモアプリケーション の AWS X-Ray トレースデータを示すダッシュボードが表示されます。AWS X-Ray フィルター式を使用して、以下に示すようなダッシュボードパネルを Grafana に作成し、トレースデータを可視化することができます。
トレース 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 は、Amazon CloudWatch と AWS X-Ray にフォーカスしたシニアソリューションアーキテクトです。彼はモニタリングとオブザーバビリティに情熱を注ぎ、アプリケーションの開発とアーキテクチャに強力なバックグラウンドを持っています。彼は分散システムが好きで、マイクロサービスのアーキテクチャ設計について話すことを楽しんでいます。彼はコンテナとサーバーレス技術を使って動かす C# でのプログラミングが大好きです。
Michael は AWS コンテナサービスチームのオープンソースプロダクトデベロッパーアドボケイトで、オープンソースのオブザーバビリティとサービスメッシュを担当しています。AWS 以前は、Red Hat、Mesosphere、MapRに勤務し、応用研究で博士研究員として働いていました。Twitterアカウントは @mhausenblas です。
翻訳はソリューションアーキテクトの 藤嶋 が担当しました。原文はこちらです。