Google Maps
Find local businesses, view maps and get driving directions in Google Maps.
https://goo.gl/maps/xSCzwWptK7mL21619
こんにちは。SRE部 ECプラットフォーム基盤SREブロックの高塚です。
11/28〜12/2に開催されたAWS re:Invent 2022に、ZOZOのエンジニア10名が参加しました。アドベントカレンダーの1日目ではHave Funイベントなどを紹介しましたが、この記事では現地の様子とセッションについてレポートします!
re:InventはAWS最大のカンファレンスです。2012年から毎年ラスベガスで開催されており、今年で11回目を迎えます。
2020年はオンライン開催のみで、2021年はマスク着用での開催でしたが、今年はマスクの着用義務がなくなり、いわば3年ぶりの通常開催でした。
今年も多くの新サービスや新機能が発表され、5日間で1500以上のセッションが行われています。セッションにはいくつかの形式があります。
Keynote 基調講演
Breakout Session 講義形式。登壇者はAWSの中の人、カスタマー、パートナーなど様々
Chalk Talk 登壇者と参加者がディスカッションする大学の講義のような形式
Workshop 参加者で少人数のグループを組み、テーマに沿って手を動かす形式
Gamified Learning ゲーム形式の参加型コンテンツ。GameDayやJamなど
キャンパス(会場)は全部で6つあります。地図の黄色がキャンパスです。南北で4km以上離れているため、無料のシャトルバスが運行されています。
引用:https://reinvent.awsevents.com/campus/
メインのキャンパスはベネチアン(地図の3)です。その隣のミラージュ(地図の8)に私たちは宿泊していましたが、ホテルの部屋からKeynote会場までは徒歩15分ほどかかりました。それほど各ホテルが巨大です。
Googleストリートビュー。正面がベネチアン、右後ろがミラージュです。
Keynote会場。1日目のMonday Night LIVEの様子です。
撮影:児島
こちらはExpo。企業のブースがたくさん並びます。
撮影:高塚
Self-paced labs。自分のペースでAWSを学習できるコーナーです。
撮影:高塚
期間中は5つのキャンパスで朝食と昼食が提供されます。ビュッフェのほか、テイクアウトできるランチボックスも用意されていました。
撮影:高塚
撮影:佐藤
撮影:纐纈
撮影:笹沢
食後のデザートもあります。
撮影:佐藤
また、食事とは別に各所でコーヒーや軽食が配られていました。
撮影:鈴木
撮影:佐藤
こちらはAWS公式グッズのストア。
撮影:高塚
4日目の夜にはre:Inventを締めくくるパーティー「re:Play」があります。キャンパスから少し離れた特設会場で行われ、DJやバンドの演奏と、ドッジボールやアーチェリータグなどのアクティビティを楽しめます。下記は全員の集合写真。
セッション紹介
ここからは各メンバーが気になったセッションを1つずつ紹介します。
・Workshop
From serverful from serverless Java with AWS Lambda (SVS310)
Data analysis with Amazon EKS and AWS Batch (CMP355-R)
・Chalk Talk
Prevent unintended access with AWS IAM Access Analyzer policy validation (SEC319)
・Breakout Session
What's new and what's next with Amazon EKS (CON205)
Architecting sustainably and reducing your AWS carbon footprint (SUS205)
A close look at AWS Fargate and AWS App Runner (CON406)
The future of sport: How Riot Games is reinventing remote esports broadcasts (CMP311)
How to save costs and optimize Microsoft workloads on AWS (ENT205)
Optimizing Amazon EKS for performance and cost on AWS (CON324)
計測プラットフォーム開発本部 計測システム部の児島です。私の所属する計測システム部は、今夏アメリカに向けてフィットネスアプリZOZOFITをリリースしました。その認証機構にはCognitoを採用したのですが、カスタム認証フローを利用するため、Lambdaのトリガー処理を書く必要がありました。
私たちのチームは、開発言語にScalaを採用しています。一方で、LambdaとJVMの組み合わせはコールドスタートの問題があり、相性はよくありません。かつて、Lambdaを使いたいケースでPythonを採用したこともありました。最近では、より軽量なGoなどの言語もあり、多くの開発の現場でLambdaのために開発言語を分けるという選択がとても多く見られる様になりました。しかし、私たちのチームは2つ以上の言語を維持運用するほどのチーム規模もなく、言語としてはScalaのまま、LambdaのカスタムランタイムでGraalVMを選択する意思決定をしました。
In this workshop, learn how to bring traditional Java Spring applications to AWS Lambda with minimal effort and iteratively apply optimizations to enhance your serverless Java experience. Hear about best practices, performance trade-offs, and design considerations for each step to help you make well-informed decisions when bringing enterprise Java applications to AWS Lambda.
今回のWorkshopに参加したきっかけは、このWorkshopの説明欄にあったこの一節がきっかけでした。私たちは、多くの世に出ている知見からGraalVMを採用する意思決定をしたわけですが、その他に取り得た手法の検証に十分な時間がありませんでした。そのため、改めてLambdaでJVMを採用する際の選択肢と、それらの比較、それぞれの選択に潜在するトレードオフに関する知見を得たいというモチベーションがありました。
ワークショップでは、まず初めに暫定的なAWSアカウントが与えられ、Cloud9に既に必要なコード群が事前に用意された状態で、Lambda等の必要なリソースのセットアップを済ませます。そして、Spring Bootをベースとした何も最適化されてないサンプルアプリケーションをLambdaで動かすことからはじめます。そこから、TieredCompilationの有効化、依存の軽量化などを経て、GraalVMの採用まで、様々な最適化を施していきます。その過程で、実際のコード変化を確認し、ビルドと実行を繰り返し、ベンチマークを確認していきます。
結果です。既知のものも含まれていましたが、今回のWorkshopを通してあらかじめ用意されたLambdaのパフォーマンス改善の追体験ができたことは、とても有意義な時間でした。
さて、この前日のKeynoteでは、Lambda Snapshotという更なるLambdaにJVM系言語の採用を後押しする新機能の発表がありました。今回のre:Inventの他のセッションを通しても、毎年AWSがサーバーレスへの移行をサポートする機能を強化していく実感があります。今後も、こうしたアプリケーション開発者が開発に集中しやすくなる技術のリリースに期待するとともに、引き続き注視していきたいです。
計測システム部 SREブロックの纐纈です。
基調講演では今年新しくリリースされたサービスや機能が紹介されます。その中で、AWS BatchをEKS上で利用できるようになったという発表がありました。
まず、AWS Batchは2016年のre:Inventで発表された、バッチ処理の実行基盤のマネージドサービスです。処理すべきジョブに合わせてコンピューティングリソースの配分を自動で最適化するという特徴を持っています。今まではECSでの実行環境のみだったのですが、2022年10月から新しくEKSにも対応したとのことでした。ただ、2022年12月時点ではEKS Fargateには未対応なので注意が必要です。
今回私が参加したワークショップでは、AWS Batchを使ってAmazon EKS上でデータ分析のサンプルを動かしてみるという内容でした。2時間のワークショップの中で、前半はAWS BatchのEKS対応について概要や内部構造などの説明があり、後半はAWS Workshop Studioを使って手を動かします。EKSクラスタを立てて、PrometheusやGraphanaをデプロイし、円周率の計算をするバッチ処理でクラスタに負荷をかけながらリソースの変動を見るということもできました。
ワークショップの内容はこちらからも見ることができます。
SRE部 ZOZO-SREブロックの鈴木です。
普段はZOZOTOWNの裏で動いているオンプレ、AWSにあるインフラの管理をするとともに社内のAWS管理者としてセキュリティ周りの対応や各種運用をしています。
今回私が参加したSEC319は「Chalk Talk」という形式のセッションです。スピーカの方がスライドを発表するだけでなく、横にホワイトボードが置かれており参加者も質問したりディスカッションしたりしながら、さながら大学の講義のように進んでいきます。動画配信がなく現地に行ったメンバーのみが参加できるセッションであり、現地へ行った優越感に浸れるおすすめのセッションです。発表頂いたスライドは資料欄にリンクを掲載しています。
本セッションではIAMポリシーのライフサイクルを定義し、その過程で安全なIAMポリシーを作成、メンテナンスしていくにはどうしたらいいかを議論しました。IAMポリシー作成過程の1つに「Validation」のステップがあり、ここで正しくポリシーを検証することが安全性を高める1つの手段となることを確認しました。そのValidationのツールとして「IAM Access Analyzer」が紹介され、実際にどのように使うかのデモをいただきました。
IAM Access Analyzerを利用する際のCI/CD構成例の1つに「CloudFormation hooks」を利用した例があげられました。参加者にはCloudFormation hooksを使っているか、どんなところで使っているのかという質問が投げかけられ、各社の真似したくなるような事例をいくつか聞くことができました。
・資料
Prevent unintended access with AWS IAM Access Analyzer policy validation
awslabs/aws-cloudformation-iam-policy-validator
計測システム部 SREブロックの西郷です。
普段はZOZOMATやZOZOGLASS、ZOZOFITといった計測サービスの運用に携わっています。これらの基盤にはEKSを採用しているので、業務に活かせるものがあればと思い参加しました。
今回のセッションの中で気になったトピックとしては以下です。
続きはこちら