Amazon Linux 2023でSplunkを触ってみた


背景

AmazonLinux2上で利用していたSplunkを
AmazonLinux2023上でも同じような設定で動くのかを検証しました。

その検証でAmazonLinux2とAmazonLinux2023との仕様変更により
躓いた点と解決策についてまとめてみました。

今回の構成

構成は下図のような構成とし、クラスターの管理をしているコンポーネントである
Cluster Masterとデータの保管、インデクシングを行うIndexerClusterを構築。
※Splunkバージョン:9.0.2


実施内容

ClusterMasterからS3バケットにインデックスを格納する処理(SmartStore)を
構築する設定を記載した設定ファイルをIndexerClusterに配布。
このときに設定ファイルを配布する処理は動いたもののIndexer側でメタデータ取得ができない事象が発生しました。

①bundle applyで作成されたチェックサム:下4桁 2784





②正常に配布処理が完了すると各クラスターメンバーのバンドルチェックサムも
 配布時に生成されたチェックサムと一致します。今回は配布できていなため一致していません。






















原因

今回の配布処理が適用されていなかったのは
IndexerCluster側でIMDSv2を有効ではなかったことが原因でした。
(デフォルトでSplunk側ではIMDSv1が有効になっている)

IMDSv2を有効にすることで、AmazonLinux2023上のメタデータ取得が
正常に行われS3とEC2インスタンス間の通信が行われます。

IMDS(インスタンスメタデータサービス)とは

IMDSはEC2内から実行中のインスタンス情報(インスタンスIDやIPアドレス等)を
取得できる仕組みのこと。バージョン1,2が存在します。※1

バージョン1・・・リンクローカルIPで動作しており仕組みにHTTPリクエストを送ることで誰でも取得可能。
バージョン2・・・バージョン1での照会方法をURLだけでなくトークンを合わせて利用することでセキュリティ強化。

AmazonLinux2023からの仕様変更

AmazonLinux2ではIMDSv1 or IMDSv2どちらも利用可能だったのですが
AmazonLinux2023ではIMDSv2のみ使用するようになっており、SplunkのIndexerCluster側でもIMDSv2を指定する必要がありました。

解決策

IndexerClusterのサーバー設定ファイル(server.conf)にIMDSv2を有効化する設定を追加。

IMDSv2を有効化し再度ClusterMasterからIndexerClusterに対して設定配布を実施。
今度は設定ファイルが無事クラスターメンバーに適用されたことが確認できました。

①bundle applyで作成されたチェックサム:下4桁 E392



②ステータスを確認するとクラスターメンバーでもチェックサムが統一されており問題なく設定適用されています。






















参考にさせていただいたサイト

※1 https://dev.classmethod.jp/articles/ec2-metadata-config/


コメント

このブログの人気の投稿

ProxmoxでLet's Encryptを使用した証明書セットアップをやってみた

AIと共に「考える」エンジニアに!

ルーティングって何で必要で、何してるの?を React Routerで理解する