
はじめに
はじめまして、データ基盤開発部の小山です。昨年2023/11/27 ~ 2023/12/01にラスベガスで開催されたAWSの最大級のイベント「AWS re:Invent 2023」に弊社から小山(データ基盤開発部)、城野(プラットフォーム事業本部)、高津(オンラインサロン開発部)の3名が参加しました。
そこで、今回は参加したメンバーによるイベントの体験記や、それぞれのメンバーが興味を持ったセッションなどを紹介したいと思います。
データ基盤開発部:小山
改めまして、データ基盤開発部の小山です。普段は主にDMMの検索システムの基盤開発・運用を行っています。検索基盤チームではEKS上に検索エンジンのSolrを構築して運用しているため、私は今回EKS・OpenSearchに関するセッションを中心に参加しました。
その中でも資料や動画などが公開されていないWorkshopについて紹介させていただきます。
Workshop: Build stateful K8s applications with ultra-fast Amazon MemoryDB for Redis
まずWorkshopについて簡単に説明させていただきます。
Workshopは、AWS re:Inventのセッションの中でも実際に手を動かしてアプリケーションを作ることで理解を深めるためのセッションです。いわゆるハンズオンと同じです。
セッションの冒頭で今回作成するアプリケーションや使用するサービスについて簡単に説明があり、そこから個々人でWorkshopの専用ページにアクセスして作業をしていきます。
自分がこのセッションを選んだのは、EKS上でSolrというステートフルなアプリケーションを運用する上で参考になる情報がないかと思ったからです。インメモリで持っているSolrのインデックスを全てMemoryDB for Redisに移植することで、再起動時などにインデックスを全てメモリに乗せ直すためのWarm upが省略できないかと以前考えたことがあったため、このセッションで有益な情報が得られたらと考えて参加しました。
結論から言ってしまえば自分の思い描いていた使い方とは違ったため、得たかった情報とは異なりましたが、せっかくなのでここで紹介させていただきます。
今回のWorkshopで作成したアプリケーションの構成は以下のようなものです。

ECサイトを想定したアプリケーション構成で、注文情報のリクエストを受け取るorder-apiと在庫情報の取得や更新を行うinventory-apiがあり、それぞれがマイクロサービスとして独立しています。
MemoryDB for RedisはRedisが扱えるような型ならば基本的には対応しているため、注文リクエストのStreamや在庫などのHashを一元管理して高速に処理するという内容でした。

実際にやったことは以下のような流れです。
- 用意されていたEKSクラスタにアクセスしてorder-apiとinventory-apiのデプロイを行う
- すでにMemoryDB for Redisを使うための一通りの環境は用意されていたため、ここでACK便利というほどの使い方の説明はありませんでした(今回の主軸はあくまでもMemoryDB for Redis)
- order-apiとinventory-apiにリクエストを送り、注文と在庫の更新の確認をした
- 管理されている在庫数以上の注文リクエストを送ったときに今のアプリケーションだとバグが発生してしまうことを確認し、新しく返金処理のためのアプリケーションをデプロイした
- 再度在庫数以上の注文リクエストを送って、MemoryDB for Redisのステータス情報のレコードを確認した
参加してみた所感としては、第一に自分が知りたかった使い方とは違うなと感じました。最初にも書いたように、自分はすでにStatefulSetとして管理している検索エンジンでメモリに乗せているIndex情報をMemoryDB for Redisに移植するような使い道を想定していました。しかし、今回の構成はどちらかというと元からあるデータウェアハウスを更に高速なMemoryDB for Redisにするのはどうですか?というような内容で、元々メモリで管理していなかったもの(しかもEKS外のもの)をメモリ管理できるようにしたら速いよね、くらいに感じました。
永続化もできて高速な処理を実現できるNoSQLのDB(Redisに使い慣れた方ならAPIなども分かりやすい)で、複雑な処理をしないようなアプリケーションならデータ管理をMemoryDB for Redisにするというのはすごく良いとは思いますし、今回はそこまで触ることができませんでしたが、EKSで運用するならばACKで手軽につなぎ込みのためのコントローラーを実装できるのも良いとは思います。
あくまでも自分が知りたかった情報とは少し違ったものの、今回Workshopに参加したことで「Workshopの敷居って意外に高くないな」ということも知れたのでそれは良かったです。
セッションとはあまり関係ない話ですが、個人的には英語の説明だけを聞いて手を動かすことに参加ハードルの高さを感じていたのですが、手元に資料があってやることが明確になっていた分、純粋にセッションで話を聞くだけよりも理解しやすくて良かったです。
全体を通して
最後に全体を通しての雑感になりますが、残念ながら個人的にはセッションを通して自分の業務に明確に活かせるような情報はそこまで得られなかったものの、参加して良かったなと感じました。そもそも自分の業務範囲がかなりニッチであるために、そこを取り扱うセッション自体がそう多くはないだろうと、そこまで高い期待はしていなかったので、セッションについてはこんなものかなという印象でもあります。どちらかというと現地の空気感を肌で感じられたのが一番の体験だと思っていて、これは実際に参加してみないと分からないものだと感じました。
英語でしっかりとコミュニケーションがとれる人であれば、セッションよりもExpoで本社のエンジニアと議論したりもできるので、そこで業務上の困り事などは直接相談すると、より有益な時間になるかと思いました。
プラットフォーム事業本部:城野
プラットフォーム事業本部の城野です。SREとして開発効率や可用性の向上を担うチームで、共通インフラ基盤の管理・提供などにAWSを利用しています。
セッションもEKSやネットワーク周りを中心に参加してきました。特に印象が強かったのはチョークトークという、少人数でインタラクティブに実施されるタイプのセッションです。
Chalk Talk: How to connect multiple VPCs across locations
Chalk Talk: How to connect multiple VPCs across locations
サービスの複雑性が上がってくると、他のVPCやオンプレミス環境など複数のネットワークと相互に接続が必要になることがあります。AWSが提供する複数の実現方法を整理して、ユースケース選択についてのディスカッションを設けてくれるセッションでした。
VPC自体の共有、VPCピアリング、AWS Transit Gateway を用いた管理、といった手法はかなり浸透しているからか大きな質問もなく進んでいきます。メッシュ状にピアリング構築した際の経路管理の手間など、スライドが変わった瞬間に団結感のある苦笑が広がっていました。

それらを整理した後に AWS Cloud WAN の利用が紹介されます。特にリージョンを跨ぐようなネットワークの構築・管理を支援するサービスで、GAが2022年中頃と比較的最近です。
スピーカーの熱量もかなり高く、基礎概念から Transit Gateway との比較、移行方法まで詳細に説明されていました。

このセッションでは常に質問を受け付けていました。会場全体がかなりアグレッシブな雰囲気で、スピーカーがスライドを切り替える隙間に質問を挟み込んだり、自分が理解できるまでとことん掘り下げて質問したりと、非常に活発だったのが印象に残っています。内容もまちまちで「Segmentって実質どれくらい使えるの?」「GREトンネルの帯域の制限は?」といったラフなものも多かったです。

普段ない雰囲気も味わえて、自分たちのアーキテクチャを振り返る機会にもなってとても良いセッションでした。会場の作りからか後方の席だと参加者のディスカッションが聞こえなかったりするので、参加する人は早めの入場がおすすめです。
オンラインサロン開発部:高津
オンラインサロン開発部の高津です。普段はアーキテクトチームのメンバーとして、システム刷新プロジェクト「neon」の開発に従事しています。DMMオンラインサロンではAWSをメインにインフラを構築しており、新基盤のneonでもAWSを採用しています。
自分は現在LLMを事業に活用する取り組みも平行して行っている関係で、生成AI、LLMまわりのセッションの中でもアウトプット主体のWorkshopとGameDay型のセッションをメインに受講していました。アドベントカレンダーでもAmazonQについてブログを書いているので興味のある方はぜひ読んでみてください。
Workshop

Amazon Bedrockを使ってサーバーレスなアプリケーションを作成するワークショップ(Using generative AI on AWS to accelerate energy solution development)に参加しました。

WorkshopではSandbox環境をAWSが用意してくれるのでインフラ費用などを気にすること無くAWSを利用できます。
GameDay
GameDayとはチームベースの環境で、AWS ソリューションを利用して現実世界の技術的問題を解決することを参加者に課題として提示する、ゲーム化された学習イベントです。4人で1チームを組み、他のチームと点を競い合います。

自分は3つのGameDayに参加し、最後に参加したBuilding with Amazon Bedrock and PartyRockという、生成AIをメインテーマとしたGameDayに日本人チームで挑み、4位でフィニッシュしました。

Expo

世界中のクラウドサービスを提供する会社がブースを出しているExpoをセッションの間の時間で回ってスワッグを貰ったり、ブースの人に質問したりしました。
Keynote
AWS re:Inventでは基本毎朝Keynote(基調講演)があり、数々の新サービスが発表されます。
自分は初日と最終日のKeynoteに参加しました。

希望すればリアルタイム翻訳機が借りられるので、英語が苦手な人でもKeynoteが楽しめます。
おわりに
参加したメンバーのイベント体験記や興味を持ったセッションなどについて書かせていただきました。全体としてはAmazon Qなど流行りのAIに関する発表などが盛り上がっていた印象です。
DMMでは「DMM Tech Empowerment」という技術職向けのパッケージ化された福利厚生が設けられているので、手を挙げれば誰でも希望するカンファレンスに会社から支援を受けて参加できるチャンスがあります。今回参加したメンバーは、たまたま全員が新卒入社したエンジニアでした。新卒の身としてはとてもありがたい環境だと感じています。
弊社では今後もAWSを活用していき、今回得られた知見を事業に活かして、より良いサービスを目指していきます。
