[アップデート] AWS User Notifications で Amazon OpenSearch Serverless の OCU 上限に関する通知設定が簡単に行えるようになりました

2023.08.30

いわさです。

Amazon OpenSearch Serverless はサーバーレスですが、OpenSearch Compute Units (OCU) という概念があり、使用状況次第でドメイン(コレクション)にパフォーマンスの影響が発生する場合が有りえます。
現在の OCU が設定した OCU 最大値に到達しているか近づいているかを知るためには次のように CloudWatch を使ったモニタリングを行う方法がありました。

管理者はコスト管理のためにインデックス作成と検索の最大容量を設定出来ますが、その上限に達したことを検知して最大容量の変更を検討する場合があります。

これまでは上記のようにカスタムアラームなどを構成する必要がありましたが、本日のアップデートで AWS User Notifications で Amazon OpenSearch Serverless が対象サービスに追加され、簡単に OCU 上限に関する通知を構成することが出来るようになりました。

本日は実際に通知を構成して、受信した内容を確認することが出来ましたので内容を紹介したいと思います。

AWS User Notifications のイベントルール

構成方法は非常に簡単です。

User Notifications で通知設定を構成する時にイベントルールでどの AWS サービスのどのイベントで通知するかを選択することが出来ます。
今回のアップデートではこちらに次のように「Amazon Opensearch Serverless」が追加されています。

OpenSearch Serverless で選択出来るイベントタイプは次の 2 つです。

  • OCU Utilization Approaching Max Limit
  • OCU Utilization Reached Max Limit

後述しますが User Notifications のイベントルールの実体は EventBridge です。
おそらく今回のアップデートのタイミングですが、Amazon OpenSearch Serverless のモニタリングドキュメントに EventBridge 向けのページが追加されていました。

上記によると、検索またはインデックス作成の OCU 使用量が上限の 75% に達すると「Approaching Max Limit」イベントが発生し、100% に達すると「Reached Max Limit」が発生するようです。

実際に作成されたイベントルールから EventBridge ルールを確認してみると、上記ドキュメントのイベントが使用されていることが確認出来ます。

このあたりをチャチャッとやってくれるので User Notifications かなり良いですね。

また、アップデートアナウンスでは日本リージョンでは東京のみがサポートされたと言及されていますが、AWS User Notifications 上は次のように大阪リージョンも設定可能です。

ただし、設定自体は可能なのですが OpenSearch Serverless は本日時点で大阪リージョンをまだサポートしていませんのでイベントは発生しません。
EventBridge 上は大阪リージョン向けのルールが作成されるので、将来に備えて作成するだけしておいても良いのかもと思いました。

OCU を設定して通知を受けてみた

さて、OCU の上限にどのように達することが出来るのか悩みましたが、上限を低くしてコレクションを作成すると初期設定のタイミングで上限にすぐに達して通知を確認することが出来ました。
75% の通知は確認出来ていませんが、100% 到達時の通知を紹介します。

コレクションを構成

マネジメントコンソールで OpenSearch Serverless のダッシュボードメニューからキャパシティ管理を確認します。
以下でキャパシティ上限の設定を行うことが出来ます。

OpenSearch Serverless ですは、インデックス作成用と検索用で別の OCU 管理となっています。
ここでは最小である 2 OCU をそれぞれ設定しました。

この状態で新しい時系列コレクションを作成しました。
少し時間がかかるので待ちましょう。

ちなみに、OCU の表記が{capacity}とプレースホルダのままになっていましたが、マネジメントコンソールの表示を英語に変更すると正しく現在の設定値を確認することが出来ます。

通知を受信しました

コレクション作成中に次の 2 件の通知を受信しました。

  • Your search OCU usage has reached the configured maximum limit.
  • Your indexing OCU usage has reached the configured maximum limit.

メールの内容はほぼ同じで、次のような内容になっています。

メール文中の「View details in service console」ボタンあるいは直接 User Notifications の通知センターに遷移することで発生した通知内容の詳細を確認することが出来ます。
通知が投げっぱなしじゃなくて通知センターという形で通知が残るのはかなり良いですね。

通知の詳細情報を確認すると次のように説明内容などを確認することが出来ます。
ここでは必要に応じてユーザーが容量制限を増やす必要がある旨が説明されていました。わかりやすくて良いですねこれは。

さいごに

本日は AWS User Notifications で Amazon OpenSearch Serverless の OCU 上限に関する通知設定が簡単に行えるようになったので使ってみました。

設定が非常に簡単でしたね。
OpenSearch Serverless を導入する際には、深く考えずに User Notifications で今回のルールを構成しておいて良いのではないでしょうか。

実は User Notifications を今回初めて使ったのですが、今まで EventBridge でわざわざ構成するの面倒だなとか過去通知管理したいななど、思っていたポイントが吸収されててとても良いなと思いました。積極的に使っていきたいですね。