下記の 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 の検証環境が構築できました。