Splunk Cloudのコード管理
Splunk Cloudは Terraformに対応しているリソースが一部に限られています。そのため Appと ACS (Admin Config Service) APIを活用したコード管理の仕組みを構築しています。
詳細は以下のテックブログを参照ください。
今回の話
テックブログで紹介した際には先行して一部のチームで取り入れていましたが、今年に入って全社的に展開したのでその旨を紹介します。
進め方
不要なリソースの棚卸し
まずは Splunk Cloud環境に存在するすべてのリソースを洗い出し、棚卸しから始めました。中には使用されなくなったものや、テストやサンプルで作られてそのまま放置されているものが多かったので不要なリソースの削除から始めました。
リソースの洗い出しは以下で行いました。
コードのエクスポート
次に、移行対象のコードをエクスポートしました。ACS APIでも可能ですが、Splunk Supportに問い合わせてエクスポートしています。
コード管理に移行
あとはリソースの所有者に連絡し、コード管理に移行してもらいます。
ただし、弊社の技術スタックの Terraformではなく特殊な方法であるため、利用者全員に向けた説明会とハンズオンを実施しました。
その後も Splunk利用者用の Slackチャンネルにおいて随時、問い合わせ対応を行いました。
結果
ほぼ 100%のリソースをコード管理に移行することができました。
不要なリソースの削除
数百という単位で不要リソースを削除しました。メンテナンスされず使用されなくなったものや、テストやサンプルで作ったまま放置されたものなど、多くの不要リソースが存在していました。
パフォーマンスの改善
頻繁に発生していた skipped searchですが、棚卸しによって不要な savedsearchを削除したことで大幅に減少させることができました。
つまづいたポイント
プライベートなリソースはエクスポート対象に含まれない
一度、公開範囲を Appもしくはグローバルに変更する必要があります。
所有者が退職しているリソースの必要有無の判断が難しい
これは地道に関係しそうな人にヒアリングしていくしかありませんでした。リソースを管理するチームやプロジェクトを明確にしました。
コード管理に移行すると、チームやプロジェクト単位で Appを作成するため、誰が管理しているか分からないといったことが無くなります。
まとめ
Splunk Cloudのリソースを手動からコード管理に移行しました。多くの不要リソースを削除したことで環境が整備され、またパフォーマンスの改善も見られました。