こんにちは、Elastic認定資格3種(※)を保持しているノムラです。
※Elastic社の公式認定資格(Elastic Certified Engineer / Elastic Certified Analyst / Elastic Certified Observability Engineer)
こちらはAWS編の記事になります。
AWSでElasticsearch(Elastic Cloud)を使う時のポイントの記事一覧は以下です。
①構築編
acro-engineer.hatenablog.com
②運用編2
<運用編2 近日公開予定!!>
本記事ではElastic Cloudを運用するにあたり、必要な各種設定を実施する手順を紹介します。
はじめに
1. Monitoring設定(Metric/Logs)
2. Snapshot設定
3. 監視設定
まとめ
1. Monitoring設定(Metric/Logs)
Monitoring機能について
Monitoring機能を利用することでクラスタの状態が一目で分かり、かつ何らか問題が発生した際もリソースとログの両面から素早く問題調査することが可能です。
Elastic CloudでMonitoring機能を有効化する
Monitoring機能はデフォルトでは有効化されていません。
そのため以下の手順で有効化していきます。
(1) Elastic CloudのDeploymentの画面にアクセスしメニューの「Logs and metrics」を押下
(2) 「Ship to a deployment」の「Enable」を押下
(3) 構築したDeploymentを選択し「Save」を押下
Monitoring機能が有効化されます。Metricを確認する
MetricではElastic Stackがそれぞれどれ位サーバリソースを利用しているかを確認可能です。(1) Kibana画面の左側のメニューから「Stack Monitoring」を押下
(2) Elasticsearchの「Overview」を押下
OverviewではElasticsearch全体の検索性能/インデキシング性能をリアルタイムに確認可能です。(3) Elasticsearchの「Nodes」からインスタンスを1つ選び押下
各サーバ毎のリソースの状況がリアルタイムに確認可能です。Logsを確認する
Logsではリアルタイムにログを確認/絞り込みを行いながら調査することが可能です。(1) Kibana画面の左側のメニューから「Logs」を押下
Stream画面ではElasticsearchに取り込んでいる各種ログがリアルタイムに表示されます。(2) 画面上部の検索窓に「error」と入力し、ログの絞り込みを実行
ログを絞り込みながら問題調査を実施することが可能です。Metricの保持期間を変更する
Metricの保持期間はデフォルトでは3日に設定されています。 要件毎に保持期間は異なると思いますので、設定を変更してみましょう。(1) Kibana画面の左側のメニューから「Stack Management」を押下
(2) 「Index Lifecycle Policies」を押下
(3) 検索窓に「.monitoring」と入力し表示される「.monitoring-8-ilm-policy」を押下
Elasticsearchはインデックスをフェーズと呼ばれている状態で管理しており、フェーズの遷移条件をILM(Index Lifecycle Management)で定義しています。 詳細については以下をご参照ください。 ILM: Manage the index lifecycle | Elasticsearch Guide [8.14] | Elastic 変更前の設定は以下の通りとなっています。フェーズ | 設定値 |
Hotフェーズ | インデックス作成から3日経過 or プライマリーシャードのサイズが50GB以上になった際インデックスをRolloverする |
Warmフェーズ | セグメント数が1になるようにForcemergeを実行する |
Deleteフェーズ | Rollover後、3日経過したインデックスを削除する |
(4) Deleteフェーズの値を「3 days」から「31 days」に変更し「Save Policy」を押下
上記の手順で、Rollover後31日経過したインデックスを削除するように設定を変更できました。2. Snapshot設定
Snapshot設定について
Elastic Cloudではデフォルト設定で30分に1回スナップショットを取得します。 こちらも設定確認/設定変更していきましょう。(1) Kibana画面の左側のメニューから「Stack Management」を押下
(2) 「Snapshot nad Restore」を押下
(3) 「Policies」タブを押下し、「cloud-snapshot-policy」右側の「Edit」ボタンを押下
(4) 「Schedule」の設定値を変更
時刻の設定はCron表現で設定可能です。また、UTCであることにご注意ください。 詳細については以下のドキュメントを参照ください。 API conventions | Elasticsearch Guide [8.14] | Elastic(5) 必要に応じて「Expiration」「Snapshots to retain」の設定値を変更
(6) 「Save policy」を押下
(7) 「cloud-snapshot-policy」を押下し「Summary」を表示
変更した結果、毎日0時(JST)にスナップショットが取得されるようになりました。3. 監視設定
Elastic Cloudの監視機能について
Elastic CloudではAlert機能を利用することで監視/通知を行うことができます。 またデフォルトで多くの監視項目が設定可能なため、簡単に監視設定を行うことが可能です。 デフォルトルールを作成して監視機能を利用してみましょう。(1)左のメニューから「Stack Monitoring」を押下し、Monitoring画面右上の「alerts and rules」を選択し「Create default rules」を押下
(2) 「Create」を押下
これで監視設定ができました。最後に作成されたルール一覧を確認してみましょう。(3) 「Stack Management」を押下し、「Alerts」を選択、その後画面右上の「Manage rules」を押下
作成されたルール一覧が表示されます。ルールを編集することで条件の変更や通知設定を行うことも可能です。例えば「CPU Usage」のルールはCPU使用率の5分間の平均が85%を超えた場合検知/通知されます。また通知先はデフォルトではKibanaログに出力される設定になっていますが、メールやSlack等の多くのコネクタが利用可能です。まとめに
ここまで構築編、運用編1と構築/セキュリティ設定/運用設定を実施してきました。 これでかなりポイントを押さえたElastic Cloudの利用が可能となっていると思います。 また実際に運用していくと、上記の3点以外に以下も必要になることがあるかもしれません。- バージョンアップ対応
- 監査ログ
Acroquest Technologyでは、キャリア採用を行っています。少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。 www.wantedly.com
- Azure OpenAI/Amazon Bedrock等を使った生成AIソリューションの開発
- ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
- マイクロサービス、DevOps、最新のOSSやクラウドサービスを利用する開発プロジェクト
- 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長