こんにちは!エーピーコミュニケーションズの山田です。
直近3ヶ月間、業務で Splunk Enterprise を用いたデータ連携・ログ分析プラットフォームの構築と運用保守に携わっていました。その中で、実機検証やデータソース連携のテストを行うにあたり、検証用のSplunk環境を自分の手で構築する機会がありました。
そこで今回は、実務で得た知見をもとに、Oracle Cloud Infrastructure (OCI) を使って、コストを抑えつつ快適に動くSplunk Enterprise 9.4の爆速構築手順と、お財布に優しい運用の裏技を体系的にまとめました!
💡 【Version 9.4 を選択している理由】 本原稿執筆時点(2026年7月)におけるSplunkの最新バージョンは
Splunk Enterprise 10.4.1がリリースされていますが、本記事ではあえてVersion 9.4をインストールしています。これは、実際の現場マシンの商用運用環境や、既存システムのアドオン・周辺モジュールとの互換性・安定性を最優先に考慮し、実際のプロダクト環境に完全に条件を合わせた「実戦仕様」の検証環境を構築するためです。
1. なぜ「OCI」なのか?
Splunk Enterpriseを快適に動作させるためには、ある程度のCPUパワーと、最低でも16GB以上のメモリが必要です。これらを取り込みテストや実機検証のためにAWSやAzureで起動し続けると、検証用途としてはかなりのランニングコストになってしまいます。
一般的にOCI(Oracle Cloud Infrastructure)は「コストパフォーマンスが高い」と言われますが、今回私たちが検証環境としてAWSやAzureではなく、あえてOCIを選択したのには、企業内の開発現場ならではの「切実な裏事情」がありました。
🛡️ 厳格すぎる社内ルール(ガバナンス)の壁
私たちの社内環境では、AWSやAzureはすでに多くのPJで利用されており、ガバナンスとコスト抑制のための「社内ルール(プロビジョニング制限)」が極めて厳格に敷かれていました。そのため、個人の検証目的で「16GBメモリ」を搭載したインスタンスを自由に構築することが制度上、不可能(または非常に高い承認ハードルが存在)だったのです。
そこで目をつけたのが、社内であまり利用されていなかった「OCI環境」でした。 社内の利用実績が少なかったがゆえに、1インスタンスあたりのリソース制限がAWS/Azureほどガチガチに設定されておらず、Splunk Enterpriseが要求する「16GBメモリ」のスペックを唯一、スムーズに確保できたのがOCI環境だったのです。
⚠️ OCI運用の裏に潜む罠:「Out of Capacity(容量不足)」との戦い
当初、検証用のマシンとして最もコストパフォーマンスが良く、Always Free(常に無償)の範囲に近いAMDベースの VM.Standard.E4.Flex を選択していました。
しかし、OCIを運用したことがある方ならお馴染みの「罠」に衝突しました。 東京・大阪などの人気リージョンでは、AMD E4シェイプは需要が極めて高く、「日中や特定の時間帯に、リソース容量不足(Out of Capacity)でインスタンスが新規起動できない」、さらには「コスト削減のために夜間停止したインスタンスを、翌朝起動しようとしたら容量不足で起動に失敗し、朝イチの検証作業が始められない」というトラブルが頻発したのです。
これでは、お財布のために「こまめにインスタンスを停止する」という運用ルールが完全に仇となってしまいます。
💡 解決策:Intelベース「Standard3.Flex」へのマイグレーション
この容量不足の波を確実に回避するため、私は検証マシンのシェイプをAMD(E4)からIntel Xeonベースの VM.Standard3.Flex へと移行しました。
- Intel製 CPU(Standard3)を採用するメリット: AMD製(E4)に比べてリソースの競合(混雑)が比較的緩やかであり、「使いたいときに、いつでも100%確実にインスタンスを起動・再開できる」という検証環境としての絶対的な「起動安定性」を手に入れることができました。
2. 構成情報
今回構築する、お財布に優しく、かつ起動も安定したSplunk検証マシンのスペック構成です。
- プラットフォーム: Oracle Cloud Infrastructure (OCI)
- インスタンスシェイプ:
VM.Standard3.Flex(Intel Xeon Ice Lake) - リソース割り当て: 2 OCPU (4スレッド相当) / 16 GB RAM
- OS: Oracle Linux 9 (Red Hat Enterprise Linux 9 互換)
- ディスク: ブート・ボリューム 100 GB (バランス)
- ネットワーク: パブリックIPv4アドレスあり
3. 構築手順:OCIインスタンスの払い出しとネットワーク設定
3-1. コンパートメントとインスタンスの作成
まずはOCIコンソールからインスタンスを作成します。
コンパートメントの準備: 管理しやすくするため、テスト用のコンパートメント(例:
test-splunk)を事前に作成または選択しておきます。インスタンス作成画面へ移動:
コンピュート > インスタンス > インスタンスの作成を選択。スペック(シェイプ)の設定:
- イメージを
Oracle Linux 9に変更します。 - シェイプを
VM.Standard3.Flexに変更し、OCPU: 2、メモリ: 16 GB に設定します。
- イメージを
ネットワーキング設定:
- 「パブリックIPv4アドレスの割当て」をオンにします。
- プライマリVNICのVNIC名: 管理しやすくするために
splunk-vnicと設定します。 - 新規パブリック・サブネット of CIDRブロック:
10.0.0.0/24
鍵の保存とボリュームの拡張: SSH接続用の「秘密キー」をローカルにダウンロードして安全に保存します。 ブート・ボリュームは、Splunkの本体と数日分のログ取り込み、クレンジング中の中間ファイルを格納するため、デフォルトから
100 GBへ拡張して作成します。
3-2. イングレス・ルール(セキュリティ・リスト)の設定
SplunkはブラウザからGUI(Splunk Web)で操作します。外部から接続できるようにポートを開放しましょう。
作成したVCN(仮想クラウド・ネットワーク)のページから、対象の 「セキュリティ・リスト」 をクリックします。
「イングレス・ルール(Ingress Rules)」 に、以下のルールを追加します。
| ソースCIDR | プロトコル | 宛先ポート範囲 | 説明 |
|---|---|---|---|
0.0.0.0/0 |
TCP | 22 |
SSH接続用(デフォルトで存在) |
0.0.0.0/0 |
TCP | 8000 |
Splunk Web GUI接続用(必須) |
0.0.0.0/0 |
TCP | 8089 |
Splunk管理用ポート(REST APIなど) |
※検証完了後は、セキュリティ向上のためソースCIDRをご自身のグローバルIPアドレス(/32)に絞ることを推奨します。
4. 構築手順:OS初期設定&Splunk Enterpriseのインストール
ここからはSSHでインスタンスにログインして作業します。
# 保存した秘密鍵を指定してログイン ssh -i /path/to/ssh-key.key opc@<あなたのパブリックIP>
4-1. OSのファイアウォール(firewalld)とSELinuxの設定
Oracle Linux 9はデフォルトで強力なセキュリティがかかっています。OS側のポートも開放します。
# OSファイアウォールで8000番ポートを開放 sudo firewall-cmd --permanent --add-port=8000/tcp sudo firewall-cmd --reload # SELinuxを一時的に無効化(学習をスムーズにするため) sudo setenforce 0
4-2. Splunk Enterprise インストーラー(RPM)の取得
Splunk of ダウンロードには無料のユーザー登録が必要です。ログインした状態でダウンロードURLをコピーします。
- PCのブラウザで Splunk公式ダウンロードページ にアクセスしログイン。
- Linuxタブ内の 「Linux (64-bit)」行にある「.rpm」の横の 「Copy wget link」 をクリック。
- 表示される長い
wgetコマンドをコピーします。
4-3. RPMによるインストールと起動
サーバーに戻り、一時ディレクトリでダウンロードとインストールを実行します。
cd /tmp # コピーしたwgetコマンドを貼り付けて実行(以下は一例です) wget -O splunk-9.4.10-3673ab0c12ee.x86_64.rpm "[https://download.splunk.com/products/splunk/releases/9.4.10/linux/splunk-9.4.10-3673ab0c12ee.x86_64.rpm](https://download.splunk.com/products/splunk/releases/9.4.10/linux/splunk-9.4.10-3673ab0c12ee.x86_64.rpm)" # RPMコマンドでパッケージをインストール(管理者権限が必要) sudo rpm -i splunk-9.4.10-3673ab0c12ee.x86_64.rpm
インストールが完了したら、初期起動と自動起動設定を行います。
# Splunkの実行ファイルディレクトリへ移動 cd /opt/splunk/bin # 起動とライセンスの同意(ここで管理者アカウント「admin」の初期パスワードを設定します) sudo ./splunk start --accept-license # OSの起動時にSplunkサービスが自動開始するようにシステム起動へ登録 sudo ./splunk enable boot-start
4-4. 実務で必須になる「付随ソフト」の導入
Splunkの一部のAppやアドオン、Javaベースの外部データ連携モジュールを正常に動かすため、OS側にJava (OpenJDK) を、データ疎通確認用に nc (netcat) コマンドをあらかじめ導入しておきます。
# 1. Java 17のインストール(必須) sudo dnf install -y java-17-openjdk-devel # バージョン確認 java -version # 「openjdk version "17.x.x"」と表示されれば成功です! # 2. nmap-ncat のインストール(疎通確認用) # Oracle Linux 9の最小構成では nc コマンドが入っていません。 # OL9では「nmap-ncat」パッケージをインストールすることで、使い慣れた「nc」が使用可能になります。 sudo dnf install -y nmap-ncat
5. 🚀 Splunk Web GUIへログイン!
全ての準備が整いました。ブラウザからアクセスしてみましょう!
- ブラウザを開き、アドレスバーに以下を入力します。
http://<あなたのOCIインスタンスのパブリックIP>:8000 - ログイン画面が表示されたら、インストール時に決めたアカウント情報を入力します。
- Username:
admin - Password: (あなたが設定したパスワード)
これで、自分だけの強力なビッグデータ分析マシンが稼働を開始しました!
6. 【お財布に優しい】OCIインスタンスの課金停止対策
検証用の環境は、使っていないときは停止させてコストを最小限に抑えるのが鉄則です。 しかし、いきなりOCIコンソールからインスタンスを強制停止させるのは絶対にNGです。Splunk内のメタデータやデータベース(Bucket)が破損し、次回起動時にインデックス不整合を起こす原因になります。
安全かつコストを徹底的にセーブするための「正しい停止手順」を解説します。
⚙️ 正しいシャットダウンシーケンス
- まず、SSH上でSplunkd(サービス)を安全に停止させる
sudo /opt/splunk/bin/splunk stop
※ターミナル上に Splunkd: Stopped と表示されるのを確認します。
2. OCIコンソールでインスタンスを「停止」する
Splunkの完全停止を確認した後、OCIコンソールの「停止」ボタンを押します。
この際、確認ダイアログで 「電源オフにしてインスタンスを停止」 が選択されていることを確認して実行します。
💡 課金に関する重要な注意点
- 計算リソース (OCPU/RAM): インスタンスが「停止済み (Stopped)」であれば、CPUとメモリの課金は完全にストップします。
- ストレージ (Block Volume): ブート・ボリューム(今回確保した100GBなど)は、インスタンスが停止していても「データを永続保持している」状態のため、ストレージ使用料としての微額な課金は継続します。(Always Freeのブートボリューム範囲内であれば、このストレージ分も無料に抑えられます)
7. まとめ
最新の Oracle Linux 9 と Splunk Enterprise 9.4 の組み合わせは、OS層の最新セキュリティ(SELinuxやfirewalldなど)をコントロールしながら、非常に軽量かつ軽快にビッグデータを収集できる最高に強力なプラットフォームです。
また、「コストを抑えるための夜間停止運用」と「使いたいときに確実に起動できるマシンスペック(Standard3)の選択」は、実務と検証を並行して推進していく上で非常に大切なアーキテクチャ設計の視点です。
みなさんも、ぜひ自分だけのSplunk環境をOCI上に構築してみてください!