移行スッとできるかなと思ってコケたので共有。
Gravtion2に移行したい!
Qiitaでは記事検索機能などでOpensearchを使っています。
以前エイヤっとアップデートした後も、マイナーなアップデートやパッチはちまちまと上げていたのですが、Gravtion2への移行とgp3への移行がまだできていませんでした。
Gravtion2とgp3への移行は特に費用面で魅力(同じくらいのスペックでも1割~2割安くなる)であり、RIも合わせれば相当なコストダウンを期待することができます。
じゃあ早速変更だ
善は急げということで、まずstaging環境で使っているOpensearchのインスタンスタイプをm4.large.searchからm6g.large.searchに変更しようとしました。
セレクトボックスから選んで変えるだけ・・・と思いきや変更ボタンを押しても画面遷移を行いません(また、エラーメッセージも出てません)。
ノードあたりのEBSストレージサイズの容量を変えるだけの変更可能だったので、インスタンスタイプの変更で何か問題がありそうということで調べることにしました。
↑おしても変更が適用されないボタン君(上の方の設定は載せると怒られるやつなのでごめんなさい)
それっぽい記述を見つける
公式のドキュメントを読み漁っていたところ、こちらのドキュメントで気になる記述がありました。
AMI はプロセッサのアーキテクチャに固有であるため、プロセッサアーキテクチャが現在のインスタンスタイプと同じインスタンスタイプを選択する必要があります。次に例を示します。
現在のインスタンスタイプが、Arm アーキテクチャに基づくプロセッサである場合、対象となるインスタンスタイプは、Arm アーキテクチャベースのプロセッサ (C6g や M6g など) をサポートするものに制限されます
詰まるところ、m6gはArmアーキテクチャで現在使っているm4は非Armなので、互換性はないということだったんですね。
なので、今回の場合はGraviton2を体験するには新しくインスタンスを立ててデータを投入する必要があるということでした。
制約は他にも
今回Qiitaでは問題なかったのですが、Gravtion2に移行するためにはElasticsearchのバージョンが7.9以上である必要があるそうです(こちら参照)。
新しくインスタンスを立てる時はOpensearch1.3、Elasticsearch7.10、6.8からの選択になるので、もし今立ってるインスタンスのバージョンが違う場合は注意が必要です。