Alibaba Cloud Elasticsearch クラスターの YML パラメーターを設定して、インデックスの自動作成、インデックス削除、監査ログのインデックス作成、Watcher などの機能を有効にします。このトピックでは、これらのパラメーターや、CORS、リモート reindex ホワイトリスト、監査ログ、キューサイズなどの設定方法について説明します。
注意事項
2020年10月以降、Alibaba Cloud Elasticsearch のネットワークアーキテクチャの調整により、reindex API を使用したクラスター間のデータ移行における特定のシナリオが制限されています。reindex API を使用してクラスター間のデータ移行を行う場合は、「PrivateLink 接続を使用したセルフマネージド Elasticsearch クラスターから Alibaba Cloud Elasticsearch クラスターへのデータ移行」の手順に従ってください。
中国 (張家口) リージョンおよび中国本土以外のリージョンでは、ネットワークアーキテクチャ調整のタイムラインは未定です。ネットワーク接続性を確認するには、チケットを起票する必要があります。
設定の変更
クラスターの詳細ページに移動します。
Alibaba Cloud Elasticsearch コンソールにログインします。
上部メニューで、クラスターが存在するリージョンを選択します。
左側メニューで、[Elasticsearch クラスター] をクリックします。表示されたページで、対象のクラスターを見つけ、[クラスター ID/名前] 列でその ID をクリックします。
YML ファイル設定ページに移動します。
左側メニューで、 を選択します。
YML 設定 ページで、設定の編集 の右側にある [設定の変更] をクリックします。
YML 設定 ダイアログボックスで、パラメーターを設定します。
説明elasticsearch.ymlの内容を表示する必要がある場合は、Kibana コンソールにログインして、GET _cluster/settings?include_defaultsコマンドを実行します。パラメーター
説明
[自動インデックス]
存在しないインデックスにドキュメントがインデックス登録されたときに、システムが自動的にインデックスを作成するかどうかを制御します。
この設定は YML パラメーター action.auto_create_index に対応し、デフォルトでは false に設定されています。
Alibaba Cloud Elasticsearch は、デフォルトでインデックスの自動作成を無効にしています。次の方法で有効にできます:
重要自動作成されたインデックスは、要件を満たさない場合があります。この機能を有効にする前に、その影響を評価してください。
コンソールの クラスター設定 ページでこの機能を有効にします。これは静的な YML 設定であり、クラスターの再起動をトリガーします。
再起動を必要とせずに、この機能を動的に有効にします。Kibana コンソールにログインし、次のいずれかのコマンドを実行してインデックスの自動作成を許可します。
すべてのインデックスの自動作成を許可する
PUT /_cluster/settings { "persistent": { "action": { "auto_create_index": "true" } } }重要これにより、すべてのインデックスの自動作成が有効になります。この機能を無効にするには、
trueをfalseに変更します。特定のインデックスのみの自動作成を許可する。次の例では、システムインデックスのみの自動作成を許可します。
PUT /_cluster/settings { "persistent": { "action": { "auto_create_index": "+.*,-*" } } }
[削除する時にインデックス名の指定]
インデックスを削除するときにインデックス名を明示的に指定する必要があるかどうかを指定します。ワイルドカードを使用して指定 を選択すると、ワイルドカードを使用してインデックスを一括で削除できます。削除されたインデックスは復元できません。この設定は慎重に使用してください。
この設定は YML パラメーター action.destructive_requires_name に対応し、デフォルトでは true に設定されています。
[監査ログのインデックス作成]
有効にすると、システムは Elasticsearch クラスター上のデータの作成、削除、更新、検索などの操作の監査ログを記録します。ログはディスク容量を消費し、パフォーマンスに影響を与える可能性があります。この機能は必要な場合にのみ有効にしてください。この設定は慎重に使用してください。パラメーターの詳細については、「監査ログのインデックス作成の設定」をご参照ください。
この設定は YML パラメーター xpack.security.audit.enabled に対応し、デフォルトでは false に設定されています。
[Watcher の有効化]
X-Pack Watcher 機能を有効にします。過剰なディスク容量の消費を避けるために、.watcher-history* プレフィックスを持つインデックスを定期的に削除してください。
この設定は YML パラメーター xpack.watcher.enabled に対応し、デフォルトでは false に設定されています。
[その他の設定]
サポートされているパラメーターは次のとおりです:特定の Elasticsearch バージョンが指定されていない限り、これらのパラメーターは Elasticsearch 5.x、6.x、および 7.x と互換性があります。
http.cors.enabled
http.cors.allow-origin
http.cors.max-age
http.cors.allow-methods
http.cors.allow-headers
http.cors.allow-credentials
リモート reindex ホワイトリストの設定
reindex.remote.whitelist
Elasticsearch バージョン 7.x および 8.x は、xpack.security.audit.logfile.events.include パラメーターのみをサポートします。Elasticsearch バージョン 5.x および 6.x は、次のパラメーターをサポートします。
xpack.watcher.enabled
xpack.notification
xpack.security.audit.enabled
xpack.security.audit.index.bulk_size
xpack.security.audit.index.flush_interval
xpack.security.audit.index.rollover
xpack.security.audit.index.events.include
xpack.security.audit.index.events.exclude
xpack.security.audit.index.events.emit_request_body
xpack.security.audit.index.settings.index
LDAP 機能
5.x を除くすべてのバージョンでサポートされています。
xpack.security.authc.realms.ldap1
xpack.security.authc.realms.active_directory1
xpack.security.authc.realms.pki1
xpack.security.authc.realms.saml1
xpack.security.authc.realms.kerberos1
xpack.security.authc.token.enabled
thread_pool.bulk.queue_size (5.x および 6.x 用)
thread_pool.write.queue_size (6.x、7.x、および 8.x 用)
thread_pool.search.queue_size
カスタム SQL プラグイン設定
xpack.sql.enabled
デフォルトでは、Alibaba Cloud Elasticsearch クラスターは X-Pack の組み込み SQL プラグインを有効にしています。カスタム SQL プラグインをアップロードする必要がある場合は、xpack.sql.enabled を false に設定してください。
[強制アップデート]
YML 設定の更新を強制するかどうかを制御します。有効な値は次のとおりです:
閉じる:更新は強制されません。インプレース更新やブルーグリーン更新などの更新方法を選択できます。システムは、ノードの可用性やシャードの割り当て状況など、クラスターの健全性を検証して、安全な更新を保証します。
有効化:更新は強制されます。システムは、ノードの障害や未割り当てのシャードなど、クラスターの健全性ステータスを無視します。これにより、再起動フェーズでサービスが不安定になる可能性があります。
[アップデートモード]
YML ファイルへの変更を適用するために使用される方法を制御します。有効な値は次のとおりです:
説明強制アップデート が 閉じる に設定されている場合にのみ、更新方法を設定する必要があります。
[ローリングアップデート] (デフォルト):クラスター内の必要なノードのローリングアップデートを実行します。このプロセスではデータをコピーする必要がなく、更新期間はデータサイズに影響されません。ただし、このプロセスはクラスターのパフォーマンスに影響を与える可能性があります。
[ブルーグリーンリリースの変更]:同数の新しいノードをクラスターに追加し、データをコピーしてから、最小限のダウンタイムでワークロードを新しいノードに切り替えます。このプロセスはよりスムーズですが、時間がかかります。ノードの IP アドレスも変更されます。
更新方法の詳細については、「更新方法」をご参照ください。
重要YML ファイルを更新すると、クラスターのローリング再起動がトリガーされます。クラスター内のインデックスにレプリカがあり、クラスターの負荷が正常 (CPU 使用率が 60% 前後、ヒープ使用率が 50% 前後、1 分間のロードアベレージが CPU コア数より低い) である場合、通常、サービスは再起動中も利用可能です。再起動の期間は、クラスターのサイズ、データ量、負荷などの要因によって異なります。この操作はオフピーク時に実行してください。
クラスターの負荷が高い場合、インデックスにレプリカがなく、アプリケーションに多数の書き込みまたはクエリ操作が含まれている場合、クラスターの更新中にアクセスが時折タイムアウトすることがあります。サービスへの影響を最小限に抑えるために、クライアント側のアクセススクリプトに再試行メカニズムを実装してください。
スケールアップやスケールダウンなどのブルーグリーン更新がクラスターの YML 設定で進行中で、クラスターのステータスが「適用中」の場合、後続の変更はインプレース更新を使用してのみ適用できます。YML 設定でブルーグリーン更新が進行中かどうかを確認するには、変更履歴を表示できます。
この操作は、インスタンスを再起動します。確認してから操作を行ってください。 チェックボックスをオンにして、OK をクリックします。
操作を確定すると、Elasticsearch クラスターが再起動します。タスクリストで進行状況を監視できます。クラスターが再起動すると、新しい YML 設定が有効になります。
CORS アクセスの設定
オリジン間リソース共有 (CORS) を設定して、他のオリジンからのブラウザが Alibaba Cloud Elasticsearch クラスターにリクエストを送信できるかどうかを制御します。YML ファイル設定パネルで CORS アクセスを設定できます。次の表に、サポートされているパラメーターを示します。
表のパラメーターは、HTTP プロトコルをサポートするために Alibaba Cloud Elasticsearch によって提供されるカスタム設定です。
表のパラメーターは静的な設定です。これらの設定を適用するには、elasticsearch.yml ファイルに書き込む必要があります。
表のパラメーターは、クラスターの ネットワーク設定 に依存します。
パラメーター | デフォルト | 説明 |
http.cors.enabled | false | CORS を有効にするかどうかを指定します。CORS が有効な場合、Elasticsearch は他のオリジンからの CORS リクエストを処理できます。
|
http.cors.allow-origin | "" | リクエストを受け入れるオリジンを指定します。デフォルトでは値は設定されておらず、クロスオリジンリクエストは許可されません。このパラメーターは正規表現をサポートします。たとえば、/https?:\/\/localhost(:[0-9]+)?/ は、この正規表現に一致するリクエストを許可します。 警告 アスタリスク (*) は有効な値であり、任意のオリジンからのクロスオリジンリクエストを許可します。ただし、この方法はセキュリティリスクをもたらすため推奨されません。 |
http.cors.max-age | 1728000 (20 日) | ブラウザは OPTIONS リクエストを送信して CORS 設定を取得できます。このパラメーターは、取得した設定をブラウザにキャッシュできる期間 (秒単位) を指定します。 |
http.cors.allow-methods | OPTIONS, HEAD, GET, POST, PUT, DELETE | 許可されるリクエストメソッドを指定します。 |
http.cors.allow-headers | X-Requested-With, Content-Type, Content-Length | 許可されるリクエストヘッダーを指定します。 |
http.cors.allow-credentials | false | Access-Control-Allow-Credentials ヘッダーをレスポンスに含めて返すことができるかどうかを指定します。
|
Reindex API ホワイトリストの設定
クロスクラスター間のデータ移行のセキュリティを確保するため、ES_2 クラスターのプライベートネットワーク接続アドレスおよび通信ポート番号を、ES_1 の Reindex API ホワイトリストに追加する必要があります。
ES_1 の ページに移動します。次に、プライベート接続の設定 をクリックし、さらに 編集 をクリックします。サイドバーの プライベート接続の設定 で、対象の エンドポイント ID をクリックします。

VPC コンソールの エンドポイント接続 タブで、エンドポイント ID の横にある
アイコンをクリックして、対応するドメイン名を確認します。重要Reindex API ホワイトリストを設定する際には、ドメイン名からゾーン情報を削除する必要があります。
たとえば、完全なドメイン名が「ep-bp1****************-cn-hangzhou-i.epsrv-bp1****************.cn-hangzhou.privatelink.aliyuncs.com」の場合、ゾーン情報「-cn-hangzhou-i」を削除して、最終的なドメイン名「ep-bp1bp1****************.epsrv-bp1****************.cn-hangzhou.privatelink.aliyuncs.com」を取得します。

ES_1 の YML ファイルで Reindex API ホワイトリストを設定します。ホワイトリストには、エンドポイントのドメイン名および通信ポートを含める必要があります。
reindex: remote: whitelist: >- ep-bp1bp1****************.epsrv-bp1****************.cn-hangzhou.privatelink.aliyuncs.com:9200
監査ログのインデックス作成の設定
監査ログのインデックス作成はデフォルトで無効になっています。監査ログを表示するには、まずこの機能を有効にする必要があります。有効にすると、システムは Elasticsearch クラスター上のデータの作成、削除、更新、検索などの操作の監査ログを記録します。監査ログを有効化、設定、表示する手順は、Alibaba Cloud Elasticsearch のバージョンによって異なります。
監査ログの詳細については、「セキュリティ設定の監査」をご参照ください。
バージョン 7.x 以降
YML 設定 パネルに移動します。
詳細については、「設定の変更」をご参照ください。
監査ログのインデックス作成 セクションで、有効化 を選択して監査ログを有効にします。
監査ログのインデックス作成設定をカスタマイズします。
監査ログのインデックス作成を有効にした後、その他の設定 セクションで xpack.security.audit.logfile.events.include パラメーターを調整します。例:
xpack: security: audit: logfile: events: include: >- access_denied,anonymous_access_denied,authentication_failed,connection_denied,tampered_request,run_as_denied,run_as_granted重要バージョン 7.x 以降を実行しているクラスターでは、xpack.security.audit.logfile.events.include パラメーターのみがサポートされています。
デフォルトの監査ログ設定では、拒否されたリクエストまたは失敗したリクエストのみがログに記録されます。成功したリクエストをログに記録するには、access_granted イベントを追加してください。このイベントを追加すると、すべてのアクセス情報が保存され、ディスク使用率が高くなる可能性があります。トラブルシューティングが完了したら、監査ログのインデックス作成を無効にしてください。
監査ログの表示。
バージョン 5.x および 6.x
YML 設定 パネルに移動します。
詳細については、「YML ファイル設定」をご参照ください。
監査ログのインデックス作成 セクションで、監査ログ検索の開始 を選択して監査ログを有効にします。
監査ログインデックスの設定例は次のとおりです。ビジネス要件に基づいて調整できます。
xpack.security.audit.index.bulk_size: 5000 xpack.security.audit.index.events.emit_request_body: false xpack.security.audit.index.events.exclude: run_as_denied,anonymous_access_denied,realm_authentication_failed,access_denied,connection_denied xpack.security.audit.index.events.include: authentication_failed,access_granted,tampered_request,connection_granted,run_as_granted xpack.security.audit.index.flush_interval: 180s xpack.security.audit.index.rollover: hourly xpack.security.audit.index.settings.index.number_of_replicas: 1 xpack.security.audit.index.settings.index.number_of_shards: 10パラメーター
デフォルト
説明
xpack.security.audit.index.bulk_size
1000
単一のバッチで監査ログインデックスに書き込むイベントの数。
xpack.security.audit.index.flush_interval
1s
バッファリングされたイベントがインデックスにフラッシュされる頻度。
xpack.security.audit.index.rollover
daily
監査イベントが新しいインデックスにロールオーバーする頻度を制御します。有効な値は hourly、daily、weekly、および monthly です。
xpack.security.audit.logfile.events.include
access_denied,anonymous_access_denied,authentication_failed, connection_denied,tampered_request,run_as_denied,run_as_granted
Controls which audit log events are collected in the audit log. The audit log feature is available only in specific regions. For more information, see Limits. For a complete list of event types, see Audit event types (7.x).
xpack.security.audit.index.events.include
access_denied, access_granted, anonymous_access_denied, authentication_failed, connection_denied, tampered_request, run_as_denied, run_as_granted
インデックスに書き込まれる監査ログイベントを制御します。このパラメーターは、バージョン 5.x および 6.x のクラスターでのみサポートされています。イベントタイプの完全なリストについては、「監査イベントタイプ (6.x)」をご参照ください。
xpack.security.audit.index.events.exclude
null (デフォルトでは、イベントは除外されません。)
インデックス作成から除外する監査ログイベント。
xpack.security.audit.index.events.emit_request_body
false
特定のイベントタイプ (例えば authentication_failed) がトリガーされたときに、REST 経由で送信されたリクエストボディを無視するか含めるかを指定します。
警告監査ログにリクエストボディを含めると、ログファイルに機密情報が公開される可能性があります。
監査ログの表示。
バージョン 5.x および 6.x のクラスターでは、監査ログのインデックス作成を有効にすると、監査ログファイルは .security_audit_log-* で始まるインデックス名で Elasticsearch クラスターに出力されます。したがって、Kibana コンソールで .security_audit_log-* で始まるインデックスを表示することで、監査ログを表示できます。
重要監査ログインデックスは、クラスターのストレージ容量を消費します。Elasticsearch は自動保持ポリシーを提供していません。古い監査ログインデックスは手動で削除してください。
オプション:監査ログインデックスのシャードの設定。
バージョン 5.x または 6.x を実行しているクラスターでは、xpack.security.audit.index.settings パラメーターを使用して、監査ログを保存するインデックスのシャードを設定できます。次の設定では、監査ログインデックスのシャード数とレプリカ数を 1 に設定します。
xpack.security.audit.index.settings: index: number_of_shards: 1 number_of_replicas: 1説明設定パラメーターを渡して監査ログインデックスを生成する場合は、監査ログのインデックス作成を有効にする際 (xpack.security.audit.enabled を true に設定する場合) に、この設定を渡してください。そうしないと、監査ログインデックスはデフォルトの
number_of_shards: 5およびnumber_of_replicas: 1の設定を使用します。
キューサイズの設定
YML ファイル設定 パネルで、ドキュメントの書き込みと検索のキューサイズをカスタマイズできます。次の例では、ドキュメント書き込みキューサイズを 500 に、検索キューサイズを 1000 に設定しています。ビジネス要件に合わせてこれらの値を調整してください。
バージョン 5.x および 6.x
thread_pool.bulk.queue_size: 500 thread_pool.search.queue_size: 1000バージョン 6.x、7.x、および 8.x
thread_pool.write.queue_size: 500 thread_pool.search.queue_size: 1000
パラメーター | デフォルト | 説明 |
thread_pool.bulk.queue_size | 200 | ドキュメント書き込みキューサイズ。このパラメーターは Alibaba Cloud Elasticsearch 5.x および 6.x に適用されます。 |
thread_pool.write.queue_size | 200 | ドキュメント書き込みキューサイズ。このパラメーターは Alibaba Cloud Elasticsearch 6.x、7.x、および 8.x に適用されます。 |
thread_pool.search.queue_size | 1000 | ドキュメント検索キューサイズ。 |
上記の例は推奨値です。特別なシナリオの場合は、チケットを起票してテクニカルサポートに連絡し、変更を依頼してください。
現在、コンソールの YML ファイルを使用して設定する場合、Elasticsearch クラスターの
thread_pool.search.queue_sizeパラメーターの値は 1000 に制限されています。特別な要件がある場合は、チケットを起票してテクニカルサポートに連絡し、変更を依頼してください。チケットの起票方法については、「テクニカルサポートの範囲と方法」をご参照ください。