この記事でわかること
-
Amazon EKSでGrafanaを使うで扱う作業の全体像 - 手順を進める前に確認したい前提
- 今の環境で試すときに気をつけたい点
はじめに
Amazon EKSで Grafana を利用する方法をまとめます。
Mac環境を想定しています。
実行環境の準備
-
AWS CLIの設定
AWS CloudFormationを動かすためのAWS CLIの設定を参考にしてください。 -
EKSクラスタの構築
Macでeksctlを利用してAmazon EKSのクラスターを構築するを参考にしてください。 -
EKSのコンテキストの設定
MacにてAmazon EKSの設定をするを参考にしてください。 -
Helmの設定
Amazon EKSでHelmを利用するを参考にしてください。 -
Prometheusの設定
Amazon EKSでPrometheusを利用するを参考にしてください。
環境設定
-
grafana.yamlを作成するgrafana.yamldatasources: datasources.yaml: apiVersion: 1 datasources: - name: Prometheus type: prometheus url: http://prometheus-server.prometheus.svc.cluster.local access: proxy isDefault: true -
Grafana のチャートをHelmでインストールする
※事前にKubernetesクラスターのコンテキストの設定をします。# Grafana チャートリポジトリを追加する helm repo add grafana https://grafana.github.io/helm-charts # Grafana のチャートをインストールする helm install grafana grafana/grafana \ --namespace grafana \ --set persistence.storageClassName="gp2" \ --set persistence.enabled=true \ --set adminPassword='${パスワード}' \ --values grafana.yaml \ --set service.type=LoadBalancer \ --create-namespace # Grafana がインストールされたことを確認する helm list -n grafana -
Grafana パスワードを確認する
※デフォルトの username はadminになります。kubectl get secret --namespace grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo -
Grafana にアクセスする
※ELBが構築されるまで、数分アクセスできないことがあります。open "http://$(kubectl get svc -n grafana grafana -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')"
クリーンアップ
-
GrafanaをHelmで削除する
helm delete grafana -n grafana -
Namespaceを削除する
kubectl delete ns grafana
参考
実務で使うときの確認ポイント
- Kubernetes、EKS、関連コントローラーのバージョン差分を確認する。
-
kubectlの接続先、namespace、RBAC権限を確認してから実行する。 - 検証後は不要なリソース、Load Balancer、ログ出力先、権限設定を整理する。
- 本番反映前に公式ドキュメント、リリースノート、既存クラスタの運用ルールを確認する。
おわりに
ここまで読んでいただきありがとうございました。
Wealthy Designでは、AWS・Webシステム開発・AI活用など、現場で使える技術を大切にしています。
会社の取り組みは、会社サイトにまとめています。
https://wealthy-design.com/