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 のエンドポイントを使用します。例については、次のトピックを参照してください。
要件
各クラウドサービスプロバイダーの要件を参照してください:
必要なトークン
Terraform を設定するには、これらの Splunk トークンが必要になる可能性があります。
Splunk Observability Cloud ユーザー API アクセストークン (必須)
ユーザー API アクセストークンを取得するには、次の手順に従ってください。
-
Splunk Observability Cloud にアクセスし、Settings を選択します。
-
上部にあるアバターまたは名前を選択して、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を設定する
signalfx_aws_integration、signalfx_azure_integration、signalfx_gcp_integration と呼ばれています。Terraformで接続を設定するには、以下の手順を実行します:
-
Terraform のレジストリ(https://registry.terraform.io/)にアクセスし、検索ボックスで「
signalfx」を探します。splunk-terraformのsignalFxプロバイダーサイトにドキュメント、利用可能なリソース、互換性のあるデータソースが表示されます。 -
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" { # ... } -
プロバイダー構成ファイルの [
auth_token] フィールドにユーザー API アクセストークンを貼り付けます。SFX_AUTH_TOKEN環境変数を使用して設定することもできます。このステップは、Splunk Observability Cloud API への Terraform リクエストを認証するために必要です。 -
必要な追加リソース(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リソースを使用します。
-
-
Data Source: signalfx_aws_services、Data Source: signalfx_azure_services、または Data Source: signalfx_gcp_services の説明に従って、クラウドサービスをデータソースとして追加します。データソースによって、Terraform は Terraform の外で定義された情報、別の Terraform 設定によって定義された情報、関数によって変更された情報を利用できるようになります。
その他のリソース
-
Terraform シンタックスの例については、ブログ記事「Manage Your Splunk Infrastructure as Code Using Terraform」を参照してください。
-
Splunk Observability Cloud API による設定方法の例については、「Splunk Observability Cloud API を使用して AWS に接続する」を参照してください。
-
AWS Terraform テンプレートについては、「Terraform テンプレートを使用して Splunk Observability Cloud に接続する」を参照してください。
次のステップ
Splunk Observability Cloudをクラウドサービスプロバイダーと接続した後:
-
Splunk Observability Cloud を使用して一連のメトリックを追跡し、AWS データをリアルタイムで分析する方法については、「Leverage data from your integration with AWS」を参照してください。
-
Azure の場合、次のステップについては「AzureアカウントをSplunk Observability Cloudに接続します。」を参照してください。
-
GCP の場合、次のステップについては「Google Cloud Platformへの接続」を参照してください。