AWS EKS アドオンとしての Splunk Distribution of the OpenTelemetry Collector

EKSアドオンのインストールによるKubernetes

Amazon Elastic Kubernetes Service(EKS)は、Amazon Web Services(AWS)クラウドで Kubernetes アプリケーションを実行および拡張するためのマネージドコンテナ サービスです。Splunk Observability Cloud は AWS マーケットプレイスで利用可能な EKS アドオンを提供し、Splunk Distribution of the OpenTelemetry Collector を Amazon EKS クラスターにシームレスにデプロイして、ネームスペース、クラスター、ポッド、またはチームやアプリケーションなどの組織概念ごとに EKS パフォーマンスを追跡できるようにします。

詳細については、AWS の公式ドキュメント「Amazon EKS アドオン」を参照してください。

注: このアドオンは、Splunk プラットフォーム用のアドオンとは異なります。詳細については、「Splunk Supported Add-ons」を参照してください。

メリット

Amazon EKS アドオンとしての Splunk Distribution of the OpenTelemetry Collector:

  • Amazon EKSクラスターのインストール、設定、管理を簡素化します。

  • 最新のセキュリティパッチ、バグ修正が含まれており、AWSによってAmazon EKSと連携することが検証されています。

制限事項

アドオンデプロイメントアプローチには多くの利点がありますが、以下の制限に注意してください:

  • EKS アドオンのインテグレーションは、Helm フックと Helm サブチャートをサポートしていません。そのため、これらの機能に依存する次のような特定の機能を使用できません。

    • Helmフックを使用するため、Collector シークレット検証機能は使用できません。

    • Operatorベースの自動インストルメンテーションは、必要なコンポーネントを配置するためのサブチャートに依存しているため、サポートされていません。

  • EKS アドオンでは、OTel Collector の Splunk ディストリビューションのインスタンスは EKS クラスターごとに 1 つしか配置できません。規模や冗長性を計画する際は、この制限を考慮してください。

安全なトークン処理機能を備えたEKSアドオンのインストール

EKS アドオン Splunk Distribution of the OpenTelemetry Collector をインストールするには、以下の手順に従ってください:

ステップ1: AWS MarketplaceでEKSアドオンをサブスクライブする

AWS Marketplaceで、以下を確認してください:

  • このアドオンを有効にするには、AWSアカウントに十分なアクセス許可が必要です。

  • AWS コンソールでサブスクリプションプロセスを完了します。「AWS Marketplace Page」にアクセスし、EKS アドオン Splunk Distribution of the OpenTelemetry Collector を AWS アカウントに追加します。

ステップ2:前提条件

以下の必要条件を遵守していることを確認してください:

認証情報

Splunk Observability Cloud または Splunk Platform の認証情報があることを確認してください。

送信先要件

splunkObservability の場合:

splunkPlatform (Splunk Enterprise または Splunk Cloud) の場合:

ステップ3:EKSクラスターにアドオンを追加する

Amazon EKS User Guide に記載されている手順に従って、eksctl、AWS Management Console、または AWS CLI を使用してアドオンを追加します。

Amazon EKS ユーザーガイドを「Managing Amazon EKS add-ons」で探します。

ステップ 4: セキュリティを強化したアドオンの設定

Splunk Distribution of the OpenTelemetry Collector EKSアドオンを設定するには、Splunkのセットアップに合わせてYAMLファイルを準備し、プレースホルダ値を特定の設定の詳細に置き換えます。

注意: セキュリティ上の理由から、EKSアドオンの設定はEKSウェブコンソール内で公開されるため、トークンや機密データを設定ファイルに含めることは避けてください。

splunkObservability の場合:

splunkObservability:
    realm: <REALM>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks

secret:
    create: false
    name: splunk-otel-collector
    validateSecret: false

splunkPlatform の場合:

splunkPlatform:
    endpoint: http://localhost:8088/services/collector
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks

secret:
    create: false
    name: splunk-otel-collector
    validateSecret: false
注: より具体的な設定情報については、「Install the Collector for Kubernetes using Helm」を参照してください。

ステップ5: シークレットを追加してデプロイする

YAML ファイルを適用するか、kubectl コマンドを使用して、Splunk モニタリングネームスペースにシークレットをデプロイします。

YAMLファイル

シークレットをデプロイするには、アドオン設定YAMLとは別に、機密トークンを含む個別のKubernetesシークレットYAMLファイルを使用します。

コマンドを使用する:

kubectl apply -f splunk-otel-collector-secret.yaml

ここにシークレット YAML ファイルのテンプレートがあります。

apiVersion: v1
kind: Secret
metadata:
    name: splunk-otel-collector
    namespace: splunk-monitoring
type: Opaque
data:
    splunk_observability_access_token: <YOUR_ACCESS_TOKEN> # Replace with your actual access token
    splunk_platform_hec_token: <YOUR_HEC_TOKEN>  # Add this line only if using with splunkPlatform

kubectlコマンド

シークレットを作成するには、kubectlコマンドを使用します:

splunkObservability の場合:

kubectl create secret generic splunk-otel-collector \
    --from-literal=splunk_observability_access_token=<YOUR_ACCESS_TOKEN> \
    -n splunk-monitoring

<YOUR_ACCESS_TOKEN> を実際の Splunk Observability Cloud アクセストークンに置き換えます。

splunkPlatform の場合:

kubectl create secret generic splunk-otel-collector \
    --from-literal=splunk_platform_hec_token=<YOUR_HEC_TOKEN> \
    -n splunk-monitoring

<YOUR_HEC_TOKEN> を実際の Splunk Platform HEC トークンに置き換えます。

ステップ6:Collectorを待つ

シークレットを追加した後、Collectorがシークレットを検出し、正常に実行を開始するまでしばらく時間をおいてください。

セキュアトークン処理なしでEKSアドオンをインストールする

または、シークレットを導入せずに、セキュリティレベルを下げてEKSアドオンをインストールすることもできます。

注意: セキュリティ上の理由から、EKSアドオンの設定はEKSウェブコンソール内で公開されるため、トークンや機密データを設定ファイルに含めることは避けてください。

以下のように、Splunk のセットアップに合わせた YAML ファイルを用意します。

splunkObservability の場合:

splunkObservability:
    accessToken: <YOUR_ACCESS_TOKEN>
    realm: <REALM>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks

<YOUR_ACCESS_TOKEN><REALM> は対応するレルム内の実際の Splunk Observability Cloud アクセストークンに、<EKS_CLUSTER_NAME> は実際の EKS クラスター名に置き換えてください。

splunkPlatform の場合:

splunkPlatform:
    endpoint: http://localhost:8088/services/collector
    token: <YOUR_HEC_TOKEN>
clusterName: <EKS_CLUSTER_NAME>
cloudProvider: aws
distribution: eks

<YOUR_HEC_TOKEN> は実際の Splunk Platform HEC トークンに、<EKS_CLUSTER_NAME> は実際の EKS クラスター名に置き換えてください。

注: より具体的な設定情報については、「Install the Collector for Kubernetes using Helm」を参照してください。