ConoHa のスタートアップスクリプトで Splunk 環境をサクッと作ってみる

下記の Advent Calender 21日目の記事です。

Advent Calendar に参加したきっかけ

ConoHa

ConoHa に関する記事はたびたび公開してきましたが、Advent Calendar には初めて参加します。

オブジェクトストレージがリリースされた翌日に公開した記事があるなど、ConoHa のオブジェクトストレージについては古参ユーザーだと思います(自称)

Splunk

実は、今年の Splunk の Advent Calendar のきっかけは自分だったりします。

Splunk ユーザー会 GOJAS の Slack より。

最初は全然埋まらず、運営の方にご迷惑をかけたなと思っていたのですが、無事埋まって良かったです。
投稿いただいた皆さまに感謝です。

本題

Splunk の新しいバージョンや、特定の App、設定などを試してみたいときに、クリーンな環境で試してみたいというのが多々あります。

そんなとき、ConoHa なら、

  • 時間単位の課金(テストが終わったらすぐ消せる)
  • 高速起動(公式的には25秒)
  • 高速SSD(サーチが高速)
  • スタートアップスクリプトにより設定された状態で起動できる

といったメリットがあります。

今回は、ConoHa のスタートアップスクリプトを利用して、Splunk の検証環境をサクッと作ってみようという記事です。

同様の取り組みとして、Splunk Advent Calender 13日目に Docker の事例が紹介されていました。

ConoHa にも Docker のイメージがあるので、そちらで使うのもよさそうですね。

今回のこだわりポイント

ConoHa は IPv6 アドレスが最大17個利用可能なので、下記を参考に、IPv6 を有効化する設定を行いました。

URL の取得

この Splunk Advent Calendar を読んでいる皆さんは大丈夫だと思いますが、wget 用の URL をゲットします。

Splunk の場合、ディストリビューションが異なっても同じ rpm / deb が使えるのが便利ですね。

スタートアップスクリプトの利用

サーバーの作成画面で、下記のスタートアップスクリプトを入力します。

作成されたサーバーの接続情報を確認し、ブラウザで 8000 ポートを開くとログイン画面が表示されます。

CentOS 7, 8 / Fedora 31

URL と seed-password の部分は適宜変更してください。

#cloud-config
write_files:
- path: /opt/splunk/etc/system/local/server.conf
  content: |
    [general]
    listenOnIPv6 = yes
- path: /opt/splunk/etc/system/local/web.conf
  content: |
    [settings]
    listenOnIPv6 = yes
runcmd:
- rpm -i '※Splunk rpm URL'
- ln -s /opt/splunk/bin/splunk /usr/local/bin/splunk
- /opt/splunk/bin/splunk enable boot-start --accept-license --answer-yes --seed-passwd changeme
- /opt/splunk/bin/splunk start
- firewall-cmd --add-port=8000/tcp --permanent
- firewall-cmd --add-port=8089/tcp --permanent
- firewall-cmd --add-port=9997/tcp --permanent
- firewall-cmd --reload

rpm + firewalld の場合、これで対応可能です。

Web(8000)、管理用(8089)、データ転送用(9997)を空けています。
その他 syslog も受ける場合は 514 も空ける必要があったりします。

CentOS 6

#cloud-config
write_files:
- path: /opt/splunk/etc/system/local/server.conf
  content: |
    [general]
    listenOnIPv6 = yes
- path: /opt/splunk/etc/system/local/web.conf
  content: |
    [settings]
    listenOnIPv6 = yes
runcmd:
- rpm -i '※Splunk rpm URL'
- ln -s /opt/splunk/bin/splunk /usr/local/bin/splunk
- /opt/splunk/bin/splunk enable boot-start --accept-license --answer-yes --seed-passwd changeme
- /opt/splunk/bin/splunk start

Ubuntu / Debian

#cloud-config
write_files:
- path: /opt/splunk/etc/system/local/server.conf
  content: |
    [general]
    listenOnIPv6 = yes
- path: /opt/splunk/etc/system/local/web.conf
  content: |
    [settings]
    listenOnIPv6 = yes
runcmd:
- wget -O /root/splunk-8.0.1-linux-2.6-amd64.deb '※Splunk deb URL'
- dpkg -i /root/splunk-8.0.1-linux-2.6-amd64.deb
- ln -s /opt/splunk/bin/splunk /usr/local/bin/splunk
- /opt/splunk/bin/splunk enable boot-start --accept-license --answer-yes --seed-passwd changeme
- /opt/splunk/bin/splunk start

dpkg は URL 指定でインストールできなかったので、一旦 wget で落としています。

最後に:気づいたこと

Firewalld、iptables、ufw など様々なファイアウォールがあり、複数 OS に対応するのは大変かと懸念していましたが、今回テストした OS の中で、ファイアウォールが有効化されていたのは、CentOS 7、8 のみでした。

ConoHa 側のセキュリティグループで制限すればよいので、VM 側はそこまでしっかり制限しなくても良いのかもしれませんが。

とにかく、サクッと ConoHa で Splunk の検証環境が構築できました。

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)