OpenSearch · 4 min read · Sep 12, 2025

Ubuntu 24.04にOpenSearchをインストールする方法

OpenSearchは、Amazonによるコミュニティ主導のプロジェクトで、ElasticsearchおよびKibanaのフォークです。これは、豊富な機能と革新的な機能を備えた完全なオープンソースの検索エンジンおよび分析スイートです。OpenSearchプロジェクトの主なコンポーネントは、OpenSearch(Elasticsearchのフォーク)とOpenSearch Dashboards(Kibanaのフォーク)です。両方のコンポーネントは、エンタープライズセキュリティ、アラート、機械学習、SQL、インデックス状態管理などの機能を提供します。

このガイドでは、Ubuntu 24.04サーバーにOpenSearchおよびOpenSearch Dashboardをインストールする方法を示します。また、TLS証明書でOpenSearchを保護し、ユーザー名とパスワードで認証を有効にします。

前提条件

始める前に、以下のものを用意してください:

  • 最低8GBのRAMを持つUbuntu 24.04サーバー
  • 管理者権限を持つ非ルートユーザー

OpenSearchリポジトリの追加

まず、OpenSearchおよびOpenSearch Dashboardリポジトリをシステムに追加する必要があります。この例では、OpenSearchの最新の安定版を使用します。

最初に、以下のコマンドを実行して、Ubuntuシステムに基本パッケージをインストールします。

sudo apt install lsb-release ca-certificates curl gnupg2 -y

次に、以下のコマンドでOpenSearchリポジトリのGPGキーをダウンロードします。

curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

以下のコマンドでOpenSearchおよびOpenSearch Dashboardのリポジトリをシステムに追加します。この例では、OpenSearch 2.xの安定版を使用します。

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list  

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.list

最後に、以下の’apt‘コマンドを実行して、パッケージインデックスを更新し、新しいOpenSearchパッケージ情報を取得します。

sudo apt update

OpenSearchおよびOpenSearch Dashboardのインストール

OpenSearchリポジトリが追加されたら、APTパッケージマネージャーを通じてOpenSearchおよびOpenSearch Dashboardをインストールします。その後、’systemctl‘ユーティリティを使用して両方のサービスを開始します。

OpenSearchをインストールする前に、以下のコマンドを実行してOpenSearchインストール用のランダムパスワードを生成します。出力をコピーし、大文字、数字、記号を含めるようにしてください。

sudo openssl rand -hex 16

次に、以下のコマンドを実行して’opensearch‘および’opensearch-dashboard‘パッケージをインストールします。’OPENSEARCH_INITIAL_ADMIN_PASSWORD‘を変更し、インストールを確認するために’Y‘を入力してください。

sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=B07e_af7e9f8fe12e@85ab797ddc1f174Dapt-get install opensearch opensearch-dashboard

インストールが完了したら、以下の’systemctl‘コマンドを実行してsystemdマネージャーをリロードし、新しいサービスファイルを適用します。

sudo systemctl daemon-reload

以下のコマンドを使用してOpenSearchを開始、エンブル、確認できます。

sudo systemctl enable --now opensearch  
sudo systemctl status opensearch

以下のようにOpenSearchが実行されていることが確認できます。

check opensearch

最後に、以下のコマンドを使用してOpenSearch Dashboardサービスを開始、エンブル、確認できます。

sudo systemctl enable --now opensearch-dashboards  
sudo systemctl status opensearch-dashboards

以下の出力で、’opensearch-dashboards‘サービスが実行されていることが確認できます。

check opensearch dashboard

OpenSearchの設定

OpenSearchがインストールされたので、’ /etc/opensearch/opensearch.yml ‘ファイルを通じてインストールを設定します。また、必要に応じてOpenSearchのデフォルトの最大JVM(Java Virtual Memory)サイズを増やします。

デフォルトのOpenSearch設定’ /etc/opensearch/opensearch.yml ‘を’nano‘エディタで開きます。

sudo nano /etc/opensearch/opensearch.yml

以下のOpenSearch設定を変更します:

    • network.host ‘オプションをローカルIPアドレスに変更します
    • discovery.type ‘を’ single-node ‘として、OpenSearchをシングルモードで実行します
    • plugins.security.disabled ‘を’ false ‘に設定します
# OpenSearchを正しいネットワークインターフェースにバインドします。0.0.0.0を使用してすべての利用可能なインターフェースを含めるか、特定のインターフェースに割り当てられたIPアドレスを指定します。
network.host: 192.168.10.60  

# すでにクラスターを構成していない場合は、discovery.typeをsingle-nodeに設定する必要があります。そうしないと、サービスを開始しようとしたときにブートストラップチェックが失敗します。
discovery.type: single-node  

# opensearch.ymlでセキュリティプラグインを以前に無効にした場合は、再度有効にしてください。そうでなければ、この設定をスキップできます。
plugins.security.disabled: false

ファイルを保存して、終了します。

次に、JVM(Java Virtual Machine)設定’ /etc/opensearch/jvm.options ‘を’nano‘エディタで開きます。

sudo nano /etc/opensearch/jvm.options

必要に応じてOpenSearchのデフォルトの最大メモリを増やします。デフォルト値は’ 1GB ‘です。

-Xms2g  
-Xmx2g

ファイルを保存して終了します。

最後に、以下の’systemctl‘コマンドを実行して’opensearch‘を再起動し、変更を適用します。これでOpenSearchはローカルIPアドレスでシングルモードで実行されます。

sudo systemctl restart opensearch

TLS/SSL証明書でOpenSearchを保護する

OpenSearchを設定したので、SSL/TLS証明書を通じてOpenSearchセキュリティを設定する必要があります。このセクションでは、デモ証明書を無効にし、ルート証明書、管理者証明書、ホスト/サーバー証明書を生成します。

SSL証明書を生成する前に、以下のコマンドを使用してOpenSearchからデモ証明書を削除します。

rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}

nano‘エディタでOpenSearch設定’ /etc/opensearch/opensearch.yml ‘を編集します。

sudo nano /etc/opensearch/opensearch.yml

以下のようにOpenSearchのセキュリティ設定の’ demo ‘をコメントアウトします。

disable demo

ファイルを保存して、終了します。

次に、’ /etc/opensearch/certs ‘という新しいディレクトリを作成し、その中に移動します。このディレクトリはOpenSearch用の新しい証明書を保存するために使用されます。

mkdir -p /etc/opensearch/certs; cd /etc/opensearch/certs

ルート証明書の生成

まず、以下のコマンドを実行して、サーバーおよびクライアント証明書などの他の証明書に署名するために使用されるルート証明書を生成します。

openssl genrsa -out root-ca-key.pem 2048

次に、プライベートキーからルート証明書を生成するために以下のコマンドを実行します。’ -subj ‘オプションをサーバーの詳細に変更してください。

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

管理者証明書の生成

以下のコマンドで管理者証明書用の新しいプライベートキーを作成します。

openssl genrsa -out admin-key-temp.pem 2048

以下のコマンドを使用して、管理者キーをPKCS8形式に変換します。

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

次に、以下のコマンドを使用して管理者証明書の署名要求証明書(CSR)を作成します。

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

次に、以下のコマンドを実行して新しい管理者要求証明書(CSR)をルート証明書で署名します。

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

ホストまたはサーバー証明書の生成

OpenSearchホスト/サーバー用のプライベートキーを生成し、証明書をPKCS8形式に変換します。

openssl genrsa -out ubuntu24-key-temp.pem 2048  
openssl pkcs8 -inform PEM -outform PEM -in ubuntu24-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out ubuntu24-key.PEM

次に、以下のコマンドを実行してホスト用の証明書要求(CSR)を生成します。CNまたはCommon Nameは、ホストサーバーのfqdnと一致し、ホスト名ではありません。この例では、サーバーのfqdnは’ ubuntu24.howtoforge.local ‘です。

openssl req -new -key ubuntu24-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ubuntu24.howtoforge.local" -out ubuntu24.csr

次に、以下のコマンドを実行して、ホスト/サーバーのDNSを含む新しい拡張ファイルを作成します。

echo 'subjectAltName=DNS:ubuntu24.howtoforge.local' > ubuntu24.ext

最後に、以下のコマンドを実行してホスト/サーバー証明書をルート証明書で署名し、先ほど作成した拡張ファイルを含めます。

openssl x509 -req -in ubuntu24.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out ubuntu24.pem -days 730 -extfile ubuntu24.ext

証明書の設定

以下のコマンドを使用して、一時的な証明書、管理者およびホストのCSR(証明書要求)、および拡張ファイルを削除します。

rm *temp.pem *csr *ext  
ls

次に、以下のコマンドを使用して’root-ca.pem‘証明書を’root-ca.crt‘ファイルに変換します。

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

その後、’root-ca.crt‘証明書を’ /usr/local/share/ca-certificates ‘ディレクトリにコピーし、ルート証明書をサーバーにロードします。

sudo cp root-ca.crt /usr/local/share/ca-certificates  
sudo update-ca-certificates

add root ca

最後に、以下のコマンドを実行して証明書ファイルおよびディレクトリの適切な権限と所有権を設定します。

sudo chown -R opensearch:opensearch /etc/opensearch/certs  
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem  
sudo chmod 0600 /etc/opensearch/certs/*.crt

OpenSearchに証明書を追加する

OpenSearch用のTLS証明書を生成した後、’ opensearch.yml ‘ファイルに新しい設定を追加する必要があります。この場合、bashスクリプトを通じて’opensearch.yml’に新しい設定を追加します。

OpenSearchサーバーに証明書を追加する前に、以下のコマンドを実行して’opensearch.yml‘ファイルをバックアップし、サーバーのfqdnを設定します。

sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.orig  
sudo hostnamectl set-hostname ubuntu24.howtoforge.local

次に、’nano‘エディタで新しいファイル’ add-cert.sh ‘を作成します。

nano add-cert.sh

以下の設定をファイルに挿入します。これにより、OpenSearch設定ファイル’ opensearch.yml ‘に新しい設定が追加されます。

#! /bin/bash  

# このスクリプトを実行する前に、ノードの識別名のCNを実際のDNS Aレコードに置き換えてください。

echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=ubuntu24.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.yml

ファイルを保存して、終了します。

次に、’ add-cert.sh ‘ファイルを実行可能にし、以下のコマンドで実行します。新しい設定が’opensearch.yml’ファイルに追加されます。

chmod +x add-cert.sh  
./add-cert.sh

add new configuration

パスワード認証でOpenSearchを保護する

この時点で、OpenSearchをSSL/TLS証明書で設定しました。次のステップでは、OpenSearchのパスワード認証を設定します。OpenSearchにログインし、OpenSearch Dashboardに統合するために使用される2つのユーザーを設定します。

/usr/share/opensearch/plugins/opensearch-security/tools ‘ディレクトリに移動し、’ hash.sh ‘スクリプトを実行してOpenSearch用の新しいパスワードを生成します。OpenSearchとOpenSearch Dashboard用の2つのパスワードを生成するために’ hash.sh ‘を2回実行します。また、生成されたパスワードをメモしておくことを忘れないでください。

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

次に、以下の’nano‘エディタでファイル’ /etc/opensearch/opensearch-security/internal_users.yml ‘を開きます。

sudo nano /etc/opensearch/opensearch-security/internal_users.yml

ユーザー’ admin ‘と’ kibanaserver ‘のハッシュパスワードを先ほどのパスワードに変更します。’ admin ‘ユーザーはOpenSearch Dashboardにログインするために使用され、’ kibanaserver ‘ユーザーはOpenSearchとOpenSearch Dashboardの間の接続に使用されます。

admin:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
backend_roles:  
- "admin"  
description: "Admin user"  
  
kibanaserver:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
description: "Demo OpenSearch Dashboards user"

ファイルを保存して、終了します。

次に、以下のコマンドを実行して’opensearch‘サービスを再起動し、変更を適用します。

sudo systemctl restart opensearch

OpenSearchが再起動したら、以下のコマンドを実行してOpenSearchにSSL証明書を適用します。

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.10.60 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv

うまくいけば、以下のような出力が表示されます。

add ceerts

最後に、以下の’curl‘コマンドを実行してOpenSearchサーバーへの認証を確認します。

curl https://192.168.10.60:9200 -u admin:password -k  
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k

成功すると、HTTPSプロトコルを介してユーザー名とパスワードでOpenSearchにアクセスできるようになります。

access opensearch

OpenSearch Dashboardの設定

パスワード認証が設定されたら、’ opensearch-dashboard,yml ‘ファイルを編集してOpenSearch Dashboardを設定します。

/etc/opensearch-dashboards/opensearch-dashboard.yml ‘のOpenSearch Dashboard設定を’nano‘エディタで開きます。

sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml

以下のように’ server.host ‘オプションにローカルIPアドレスを入力します。

server.host: "192.168.10.60"

OpenSearchホスト、ユーザー名、およびパスワードを自分の情報に変更してください。

opensearch.hosts: ["https://192.168.10.60:9200"]  
opensearch.ssl.verificationMode: none  
opensearch.username: kibanaserver  
opensearch.password: kibanapass

ファイルを保存して、終了します。

次に、以下の’systemctl‘コマンドを実行してOpenSearch Dashboardを再起動し、変更を適用します。これでOpenSearch DashboardはOpenSearchに接続されるはずです。

sudo systemctl restart opensearch-dashboards

次に、ウェブブラウザを開いてhttp://192.168.10.60:5601にアクセスします。インストールが成功していれば、OpenSearch Dashboardのログインページが表示されます。

管理者ユーザーとパスワードを入力し、’ ログイン ‘をクリックします。

login

ログインしたら、’ データを追加 ‘を選択して新しいデータを追加するか、’ 自分で探検する ‘オプションをクリックします。

explore my own

OpenSearchとOpenSearch Dashboardの接続を確認するには、ダッシュボードからOpenSearchのステータスを確認する必要があります。

管理 ‘セクションで、’ Dev Tools ‘をクリックします。

dev tools

コンソールセクションに’ GET / ‘と入力し、再生ボタンをクリックします。OpenSearchとOpenSearch Dashboardの接続が成功すれば、以下のページが表示されます。

query

結論

おめでとうございます!Ubuntu 24.04サーバーにOpenSearchおよびOpenSearch Dashboardをインストールしました。OpenSearchはシングルモードで実行され、インストールはHTTPSで保護されています。最後に、OpenSearchの認証も設定し、OpenSearchをOpenSearch Dashboardと統合しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。