こんにちは。
Acroquestのデータサイエンスチーム「YAMALEX」に所属する@shin0higuchiです😊
YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。
はじめに
Elasticのマネージドサービスである Elasticsearch Service (Elastic Cloud) にサーバレスが登場しました。
今回はその使い方や特徴などについて紹介し、どういったシーンでの利用に適しているのか考察してみました。
※記事中の情報は執筆時点のものであり、今後変更となる可能性があります。利用する際は最新の情報をご確認ください。
Elastic Cloud Serverless とは?
従来のElastic Cloudは、オンプレミスでElasticsearchを運用するのに比べ管理コストを大きく削減することができる点や、柔軟にスケールできる点がメリットでした。しかし、インスタンス台数やスペックはユーザが決めて設定を適用する必要があったり、DataTierと呼ばれるライフサイクルを管理する必要があったりと、多少なりインフラレイヤーを意識することが必要でした。
新しくリリースされた Elastic Cloud Serverless では、管理がさらに楽になります。
従来は、ユースケースに適したインスタンスタイプを自分で選定したりDataTierやクラスタ設定の管理が必要で、ある程度の前提知識が求められる状況でした。Serverlessではそういた煩雑な
管理をユーザが行う必要がなくなるので、ビジネス価値の創造に集中することができるのが大きなメリットと言えるでしょう。
Elastic Cloud Serverless の特徴/料金体系
Elastic Cloud Serverless では、最初にソリューション(用途)を選択して、「プロジェクト」と呼ばれる単位でサービスを管理します。
ソリューションは以下の3種類から選択可能です。
# | ソリューション | 説明 |
---|---|---|
1 | Elasticsearch | 豊富なエコシステムを持つベクトル検索機能、API、およびライブラリを使用して強力なアプリケーションや検索体験を構築します。 |
2 | Elastic Observability | ログ、メトリクス、トレース、APMデータを用いて、強力な機械学習と分析ツールで自分のプラットフォームやサービスを監視します。 |
3 | Elastic Security | SIEM、エンドポイント保護、AIを活用した分析機能で脅威を検出し、調査し、対応します。 |
▼プロジェクト作成時に、下の画像のように選択する形になります。
ソリューションごとの料金体系
1. Elasticsearch
Elasticsearchソリューションを選択した場合、さらに細かく利用用途を指定する必要があります。
執筆時点では General purpose, Vector search, Time series から選ぶ形でした。
おそらく内部的にインスタンスタイプが異なるのだと思われますが、今のところ料金上の差分は無さそうに見えます。
データ取り込み、検索、機械学習処理、ストレージ、データ取り出しに対して、それぞれ利用量に応じた料金が発生するようです。
2. Observability
Observabilityの場合、基本的にはデータ取り込み(Ingest)とデータ保持量(Retention)によって課金されます。
それに加えて、Observabilityの外形監視機能を利用する場合、監視実行回数や監視対象数などによって追加の料金となります。
3. Security
Securityは、EssentialとCompleteから選択する形になっており、利用可能機能が異なります。
たとえば、AI Assistantを利用する場合などはCompleteを選択してください。
データ取り込み(Ingest)、データ保持量に対して料金が発生します。
また、オプションのアドオンとして Endpoint Protection, Cloud Protection CSPM, Cloud Workload Protectionなどがあり、それらを利用する場合は以下の通り料金が発生する形になります。
使い方
大まかには以下の流れになります。
1. Elastic Cloudのアカウントを用意する
2. Elastic Cloud Serverlessを選択し、Projectを作成する
3. 画面にアクセスしてみる
1. Elastic Cloudのアカウントを用意する
cloud.elastic.co
Elastic CloudのWebサイト (cloud.elastic.co) からアカウント登録をおこなってください。
AWSやAzure、Google Cloudなど、各種クラウドプロバイダーのMarketPlace経由でも登録可能です。
[参考] Subscribing from a marketplace | Elasticsearch Service Documentation | Elastic
2. Elastic Cloud Serverlessを選択し、Projectを作成する
Elastic Cloudの管理コンソールにログインすると、従来の Hosted deployments というタイプの他に 「Serverless projects」という選択肢があります。
前述の通りですが、自身の用途にあったソリューションを選択します。(ここでは Elasticsearch ソリューションを選択)
最後に詳細オプションとして、Purposeやリージョンなどを選択します。(執筆時点ではAWSのUSリージョンのみ選択可でした)
3. 画面にアクセスしてみる
Project作成が完了すると、以下のように画面にアクセスすることが可能になります。
通常のKibanaとは異なり、選択したソリューションに応じて機能が絞られた画面になっていますね。(「Kibanaにアクセスする」という表現をしようと思ったのですが、左メニュー内に「Kibana」が存在するので別の呼び方をした方が良いのかもしれません)
各機能の使用感は従来のKibanaと同様だったので、特に使う上での混乱はなさそうです。
注意点として、Serverlessではユーザが細かい設定を気にしなくて済む代わり、一部機能に制約があります。たとえばNodeの詳細情報を見るための Nodes info API を呼び出そうとするとエラーになるようです。
www.elastic.co
そのため、細かな設定値を自身で管理したい場合には Serverless ではなく従来のHosted deploymentを利用したほうが良さそうです。
まとめ
ここまで、Elastic Cloudの使い方や料金体系などについてまとめてきました。
大きなメリットとして、ユーザがインフラ管理や設定の煩雑さから解放されビジネス価値の利用にフォーカスできるという点がありました。実際Projectを数分で作成してすぐに使い始めることができ、マネージドサービスの強みを感じました。
一方で、細かいノード設定などをチューニングしたいアドバンストな使い方をする場合は、現時点でServerlessが向かないケースも存在しそうです。
コスト面で言えば、ワークロードに大きな波がある場合などにはServerlessの方が安くなるケースもあるかもしれません。そのあたりはElasticCloudのPrice Calculatorと、上述の料金表で試算して比べてみると良さそうです。
ということで、今回の記事は以上となります。
お読みいただきありがとうございました。
Acroquest Technologyでは、キャリア採用を行っています。
- Azure OpenAI/Amazon Bedrock等を使った生成AIソリューションの開発
- ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
- マイクロサービス、DevOps、最新のOSSやクラウドサービスを利用する開発プロジェクト
- 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。