[アップデート]Amazon MSKでM7gインスタンスが利用可能になりました #AWSreinvent

2023.12.02

みなさんこんにちは、杉金です。
Amazon MSKでM7gインスタンスが利用可能になりました。

M7gインスタンスについて

M7gインスタンスは、2023年2月に登場したインスタンスです。

AWS Graviton3というAWS Nitro System上に稼働するARMベースのプロセッサを搭載しています。M7gインスタンスは同サイズのM5インスタンスと比べて

  • ストレージスループット:最大25%向上
  • ネットワークスループット:最大88%向上
  • エネルギー消費量:最大60%減

などの性能差があり、コストパフォーマンスに優れています。

対応リージョン

M7gインスタンスは、以下のリージョンで利用できます。

  • アジアパシフィック (東京)
  • アジアパシフィック (ムンバイ)
  • アジアパシフィック (シンガポール)
  • アジアパシフィック (シドニー)
  • ヨーロッパ (ストックホルム)
  • ヨーロッパ (スペイン)
  • ヨーロッパ (アイルランド)
  • 米国東部 (バージニア北部)
  • 米国東部 (オハイオ)
  • 米国西部 (北カリフォルニア)
  • 米国西部 (オレゴン)

料金

料金は以下のページをご確認ください。

M5と比べてM7gの方が安いので積極的に使っていきたいですね。

やってみる

AWS公式のチュートリアルに従ってM7gインスタンスで作ってみます。
性能比較は行いませんのでご容赦ください。

新規クラスターの作成

新規にクラスターを作成します。

適当に名前をつけて、クラスタータイプを「プロビジョンド」にします。次のブローカー設定にて、ブローカータイプに今回追加されたM7gインスタンスを選びます。

あとはゾーン数、ネットワークの設定、セキュリティの設定、モニタリングの設定を行い、[クラスターの作成]を選択します。

選択後、クラスター作成待ちとなりますので、その間にIAMロールやクライアントとなるEC2をセットアップします。(コンソール上では15分ほどでクラスターが作成できると表示されましたが、1時間近く待ちました。気長に待ちましょう)

作成したらクライアントのEC2に接続して、トピックの作成を行い、動作確認をします。
kafka-console-producer.shを実行し、別ウィンドウを開いてkafka-console-consumer.shを実行します。producer側からメッセージを入力してEnterを入力すると、consumer側に入力した文字が表示されました。

動作確認も無事できました。

既存クラスターのインスタンスタイプ変更

既存のクラスターのブローカータイプ(インスタンスタイプ)を変更することも可能です。
クラスターの[プロパティ]タブを選択して、下にスクロールします。

[ブローカー]のところから、[ブローカーのタイプを編集]を選択します。

ブローカータイプからインスタンスタイプを変更します。

[変更を保存]を選択して、更新を待ちます。
以上が既存クラスターのインスタンスタイプ変更です。

ベストプラクティス

公式ドキュメントには、Amazon MSKのベストプラクティスが公開されています。インスタンスタイプの違いによる、推奨されるブローカーあたりのパーティション数やクラスタースループット最適化についてのガイドが記載されています。設計の際にご確認ください。

さいごに

新たに対応したM7gインスタンスでAmazon MSKクラスターを起動してみました。リストボックスからタイプを選択するだけでので、迷うことなく操作できます。Amazon MSKをあまり触ったことがないので、インターネットにあるさまざまなチュートリアルを参考にしたのですが、バージョンの違いなどもあり上手くいかず、最終的に公式ドキュメントのチュートリアルに落ち着きました。Re:Invent 2023ではGraviton4が発表されました。近い将来に対応してくれることを期待したいですね。

参考資料