Splunk Terraform を使ってクラウドサービスを接続する

Splunk Observability Cloud を AWS、GCP、Azure に接続するには Splunk Terraform を使用します。

Terraform を使用して Splunk Observability Cloud API を構成ファイルに変換し、ガイド付きセットアップによって手動でシステムを設定したくない場合は、Splunk Terraform プロバイダーの splunk-terraform/signalfx を使用して、Splunk Observability Cloud を AWS、Azure、または GCP に接続します。

Terraform の基盤となる HashiCorp Configuration Language は自動化をサポートしています。1 つの構成ファイルを複数のクラウド サービス プロバイダーに適用できますが、このトピックでは Terraform レジストリを使用して単一のサービスを Splunk Observability Cloud に接続する方法を説明します。

他の接続オプションと同様に、Terraform は Splunk Observability REST API のエンドポイントを使用します。例については、次のトピックを参照してください。

要件

各クラウドサービスプロバイダーの要件を参照してください:

注: CloudWatch Metric Streams を使用するには、Splunk が提供する CloudFormation テンプレートのいずれかを使用して、AWS アカウントに追加のリソースをデプロイする必要があります。また、IAM ポリシーを確認し、必要なすべてのアクションが Splunk Observability Cloud で利用可能であることを確認してください。

必要なトークン

Terraform を設定するには、これらの Splunk トークンが必要になる可能性があります。

Splunk Observability Cloud ユーザー API アクセストークン (必須)

ユーザー API アクセストークンを取得するには、次の手順に従ってください。

  1. Splunk Observability Cloud にアクセスし、Settings を選択します。

  2. 上部にあるアバターまたは名前を選択して、Personal information にアクセスします。ユーザー API アクセストークンは、右隅にあります。

詳しくは Splunk Observability Cloudを使用したユーザー APIアクセストークンの取得と管理 を参照してください。

Splunk Observability Cloud orgトークン

org トークンを取得するには、次のオプションがあります。

  • Splunk Observability Cloud に移動します。Settings で、Access tokens を選択します。

  • Splunk Observability Cloud API を使用してトークンの名前を取得します。詳細については、Splunk Developer Portal の「/token」を参照してください。

詳しくは Splunk Observability Cloudを使用した組織のアクセストークンの作成および管理 を参照してください。

クラウドサービスに接続するためにTerraformを設定する

注: Terraform のドキュメントでは、Splunk Observability Cloud は SignalFx とされています。そのため、統合は signalfx_aws_integrationsignalfx_azure_integrationsignalfx_gcp_integration と呼ばれています。

Terraformで接続を設定するには、以下の手順を実行します:

  1. Terraform のレジストリ(https://registry.terraform.io/)にアクセスし、検索ボックスで「signalfx」を探します。splunk-terraformsignalFx プロバイダーサイトにドキュメント、利用可能なリソース、互換性のあるデータソースが表示されます。

  2. Use provider のコードをコピーして、構成ファイルの main.tf の required_providers ブロックに SignalFx を追加します。次の例のようになります。

    terraform {
      required_providers {
        splunk = {
          source = "splunk-terraform/signalfx"
          version = "6.22.0"
        }
      }
    }
    
    provider "signalfx" {
      auth_token = "${var.signalfx_auth_token}"
    }
    
    # Add resources
    resource "signalfx_dasboard" "default" {
      # ...
    }
  3. プロバイダー構成ファイルの [auth_token] フィールドにユーザー API アクセストークンを貼り付けます。SFX_AUTH_TOKEN 環境変数を使用して設定することもできます。このステップは、Splunk Observability Cloud API への Terraform リクエストを認証するために必要です。

  4. 必要な追加リソース(Terraform のインフラオブジェクト)を設定します。

    • AWS の場合、signalfx_aws_integration リソースが必要です。統合ごとに異なるトークンを使用している場合、[namedToken] フィールドに org トークンを追加すると、そのトークンが識別する統合からの通信量を確認できます。

    • IAM ポリシーと ARN ロールを使用して認証している場合は、「signalfx_aws_external_integration」を参照してください。Terraform Registry の [SignalFx] ページの [Documentation] セクションにあるシンタックス例をコピーして修正し、それを使って AWS で認証を行います。外部IDを使ってAWSで認証する(推奨) を参照してください。

    • AWS Security Token 認証を使用している場合は、signalfx_aws_token_integration リソーストークン/キーのフィールドに AWS トークンを貼り付けます。

    • Azureの場合は、signalfx_azure_integration リソースを使用します。

    • GCPの場合は、signalfx_gcp_integration リソースを使用します。

  5. Data Source: signalfx_aws_servicesData Source: signalfx_azure_services、または Data Source: signalfx_gcp_services の説明に従って、クラウドサービスをデータソースとして追加します。データソースによって、Terraform は Terraform の外で定義された情報、別の Terraform 設定によって定義された情報、関数によって変更された情報を利用できるようになります。

その他のリソース

次のステップ

Splunk Observability Cloudをクラウドサービスプロバイダーと接続した後: