

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Observability Accelerator を使用して Amazon Managed Service for Prometheus をセットアップする
<a name="obs_accelerator"></a>

AWS には、Amazon Elastic Kubernetes Service (Amazon EKS) のプロジェクト向けに、モニタリング、ログ記録、アラート、ダッシュボードなどのオブザーバビリティツールが用意されています。これには、Amazon Managed Service for Prometheus、[Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)、[AWS Distro for OpenTelemetry](https://aws-otel.github.io/)、その他のツールが含まれます。これらのツールの連携を支援するために、AWS では、これらのサービスでオブザーバビリティを構成するための [AWS Observability Accelerator](https://github.com/aws-observability/terraform-aws-observability-accelerator) と呼ばれる Terraform モジュールを提供しています。

AWS Observability Accelerator には、インフラストラクチャのモニタリング、[NGINX](https://nginx.org/en/) のデプロイ、その他のシナリオに向けた例が用意されています。このセクションでは、Amazon EKS クラスターのインフラストラクチャをモニタリングする例を示します。

Terraform テンプレートと詳細な手順については、[AWS Observability Accelerator for Terraform の GitHub ページ](https://github.com/aws-observability/terraform-aws-observability-accelerator)を参照してください。[AWS Observability Accelerator の発表に関するブログ記事](https://aws.amazon.com/blogs/mt/announcing-aws-observability-accelerator-to-configure-comprehensive-observability-for-amazon-eks/)を読むこともできます。

## 前提条件
<a name="obs-accelerator-prereq"></a>

AWS Observability Accelerator を使用するには、既存の Amazon EKS クラスターと、以下の前提条件が必要です。
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) - AWS の機能をコマンドラインから呼び出すために使用されます。
+ [kubectl](https://kubernetes.io/docs/tasks/tools/) - コマンドラインから EKS クラスターを制御するために使用されます。
+ [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) - このソリューションのリソースの作成を自動化するために使用されます。AWS アカウント内で Amazon Managed Service for Prometheus、Amazon Managed Grafana、IAM の作成と管理を行うアクセス権を持つ IAM ロールを使用して、AWS プロバイダーをセットアップする必要があります。Terraform 用の AWS プロバイダーを構成する方法の詳細については、Terraform ドキュメント**の「[AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)」を参照してください。

## インフラストラクチャモニタリングのサンプルの使用
<a name="obs-accelerator-infra-example"></a>

AWS Observability Accelerator には、付属の Terraform モジュールを使用して、Amazon EKS クラスターのオブザーバビリティのセットアップと構成を行うサンプルテンプレートが用意されています。この例は、AWS Observability Accelerator を使用してインフラストラクチャのモニタリングを設定する方法を示しています。このテンプレートの使用方法と、テンプレートに含まれている追加機能の詳細については、GitHub の「[Existing Cluster with the AWS Observability Accelerator base and Infrastructure monitoring](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples/existing-cluster-with-base-and-infra)」ページを参照してください。

**インフラストラクチャモニタリングの Terraform モジュールを使用するには**

1. プロジェクトを作成するフォルダーから、次のコマンドを使用してリポジトリをクローンします。

   ```
   git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
   ```

1. 次のコマンドを実行して Terraform を初期化します。

   ```
   cd examples/existing-cluster-with-base-and-infra
   
   terraform init
   ```

1. 新しい `terraform.tfvars` ファイルを作成し、以下の例を記述します。Amazon EKS クラスターの AWS リージョンとクラスター ID を使用してください。

   ```
   # (mandatory) AWS Region where your resources will be located
   aws_region = "eu-west-1"
   
   # (mandatory) EKS Cluster name
   eks_cluster_id = "my-eks-cluster"
   ```

1. 使用する Amazon Managed Grafana ワークスペースがない場合は作成します。新しいワークスペースを作成する方法については、「Amazon Managed Grafana User Guide**」の「[Create your first workspace](https://docs.aws.amazon.com/grafana/latest/userguide/getting-started-with-AMG.html#AMG-getting-started-workspace-create)」を参照してください。

1. コマンドラインで次のコマンドを実行して、Terraform で Grafana ワークスペースを使用するために必要な 2 つの変数を作成します。*grafana-workspace-id* は、Grafana ワークスペースの ID に置き換えます。

   ```
   export TF_VAR_managed_grafana_workspace_id=grafana-workspace-id
   export TF_VAR_grafana_api_key=`aws grafana create-workspace-api-key --key-name "observability-accelerator-$(date +%s)" --key-role ADMIN --seconds-to-live 1200 --workspace-id $TF_VAR_managed_grafana_workspace_id --query key --output text`
   ```

1. (オプション) 既存の Amazon Managed Service for Prometheus ワークスペースを使用するには、次の例のように `terraform.tfvars` ファイルに ID を追加します。*prometheus-workspace-id* は Prometheus ワークスペース ID に置き換えます。既存のワークスペースを指定しない場合は、新しい Prometheus ワークスペースが自動的に作成されます。

   ```
   # (optional) Leave it empty for a new workspace to be created
   managed_prometheus_workspace_id = "prometheus-workspace-id"
   ```

1. 次のコマンドを使用してソリューションをデプロイします。

   ```
   terraform apply -var-file=terraform.tfvars
   ```

これにより、AWS アカウントに以下のリソースが作成されます。
+ 新しい Amazon Managed Service for Prometheus ワークスペース (既存のワークスペースを使用する場合を除く)。
+ Prometheus ワークスペース内のアラートマネージャーの設定、アラート、ルール。
+ Amazon Managed Grafana の現在のワークスペース内の新しいデータソースとダッシュボード。データソースは `aws-observability-accelerator` という名前になります。ダッシュボードは **[Observability Accelerator ダッシュボード]** の下に一覧表示されます。
+ 提供された Amazon EKS クラスター内にセットアップされた [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/) オペレーター。Amazon Managed Service for Prometheus ワークスペースにメトリクスを送信するために使用されます。

新しいダッシュボードを表示するには、Amazon Managed Grafana ワークスペースでそのダッシュボードを開きます。Amazon Managed Grafana の使用方法の詳細については、「Amazon Managed Grafana User Guide**」の「[Working in your Grafana workspace](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-working-with-Grafana-workspace.html)」を参照してください。