dshimizu/blog/alpha

とりとめのないITブログ

Amplify で作成された Amazon OpenSearch Service に関して調べたことのメモ

Amplify で作成された Amazon OpenSearch Service に関するメモ書き。 特に何がどうということはなく、本当にただ調べたことのメモ。

Amplify で @searchable ディレクティブを使用すると、Amazon DynamoDB Streams と Amazon OpenSearch Service がプロビジョニングされる。 該当の DynamoDB Table に Insert されたデータを DynamoDB Streams がフックし、OpenSearch へデータが追加される動きになる。

Amplifyで作られる Amazon OpenSearch Service はデフォルトだと1ノードの t2.small.elasticsearch のインスタンスタイプという貧弱なものになる。 インスタンスタイプは変更可能で、ノード数も変更可能だが、Mulit-AZ 構成にはできないらしい。少なくとも現時点(2021/11)では。

github.com

また、バージョンも 6.2 と古いものでしか作れない。一応、手動でのバージョンアップで使えそうらしい。

github.com

ただ、こちらでいくつかの改善対応が進んでいる模様。

github.com

デフォルトの状態だとスペックが低くシングル構成なので、普通にプロセスが停止したりして、そうなるとインデックスが壊れる。

github.com

これを避けるにはスペックを上げたり台数を増やすとかして、今やれるそれなりの構成にするしかないと思う。

ちなみに壊れたデータを復旧させたり、後から @searchable を追加した場合などのために、インデックスを作成し直すスクリプトが公開されている。

github.com