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 updateOpenSearchおよび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が実行されていることが確認できます。

最後に、以下のコマンドを使用してOpenSearch Dashboardサービスを開始、エンブル、確認できます。
sudo systemctl enable --now opensearch-dashboards
sudo systemctl status opensearch-dashboards以下の出力で、’opensearch-dashboards‘サービスが実行されていることが確認できます。

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 opensearchTLS/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 ‘をコメントアウトします。

ファイルを保存して、終了します。
次に、’ /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
最後に、以下のコマンドを実行して証明書ファイルおよびディレクトリの適切な権限と所有権を設定します。
sudo chown -R opensearch:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certssudo chmod 0600 /etc/opensearch/certs/*.pem
sudo chmod 0600 /etc/opensearch/certs/*.crtOpenSearchに証明書を追加する
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
パスワード認証で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 opensearchOpenSearchが再起動したら、以下のコマンドを実行して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うまくいけば、以下のような出力が表示されます。

最後に、以下の’curl‘コマンドを実行してOpenSearchサーバーへの認証を確認します。
curl https://192.168.10.60:9200 -u admin:password -k
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k成功すると、HTTPSプロトコルを介してユーザー名とパスワードで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のログインページが表示されます。
管理者ユーザーとパスワードを入力し、’ ログイン ‘をクリックします。

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

OpenSearchとOpenSearch Dashboardの接続を確認するには、ダッシュボードからOpenSearchのステータスを確認する必要があります。
‘ 管理 ‘セクションで、’ Dev Tools ‘をクリックします。

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

結論
おめでとうございます!Ubuntu 24.04サーバーにOpenSearchおよびOpenSearch Dashboardをインストールしました。OpenSearchはシングルモードで実行され、インストールはHTTPSで保護されています。最後に、OpenSearchの認証も設定し、OpenSearchをOpenSearch Dashboardと統合しました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。