Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

行ってきました re:Invent 2018 (Day 4 Keynote 2は開発者歓喜、からのre:Play Party編)

またまたお久しぶりです、 id:matetsu です。JAWS DAYSのレポートを間に挟んだので、やった気になったのと、多忙を言い訳に後ろ倒しにしてしまっていたのとが重なって、こんなに遅くなってしまいました。もうすぐre:Invent 2018の開催から半年が経とうとしています。どこよりも遅いレポートのラストスパート、いってみたいと思います。(平成のうちに終わるのか?)

爪痕の完成形

程々のお酒で気持ちよく眠りについたので、余裕を持って起きられました。朝食もゆっくり摂れ、コーヒーを持ってKeynoteの開場へ。

この日もまたお絵かき広場がリセットされていて、全然人もいなかったので、のびのびと描かせていただきました。全部見て頂いてた方にはわかると思いますが、確実に成長が見られます。目立つしバランスも取れるようになってきてるし、と自画大絶賛。

いいねー、と満足して写真を撮ろうと思っていたら他の参加者のかたが写真を撮ってくれるというので、お言葉に甘えて。

f:id:matetsu:20181129072244j:plainf:id:matetsu:20181129072256j:plain
我ながらよく描けた

次の日は帰国日なので、これが最後の集大成。大満足です。少しはEightを世界に広められたでしょうかねw

お祭りPart 2

ということで、満足しきってKeynote会場へ。早めだったのでまだまだ行列も短め。よしよしと思っていたら、またしてもCTOは前の方に。ちょっと悔しい。

とまあ、それはいいとして、会場の隅ではあるが前列の方に座れたので良かった。

DeepRacerのレースやDev系の新サービスや新機能の発表で盛り上がった Keynote Day 2を気になった発表とともに振り返ってみましょう。

www.youtube.com

Wernerも楽しそうにしゃべるし、英語も比較的聞き取りやすいので、英語が苦手な人でも聞いてて辛くならないのが良いです。

ただ、柱とDeepRacerのレース場の囲いが邪魔してスクリーンがちゃんと見えないという罠多き席。。。広い会場ならではの罠とも言えますね。

f:id:matetsu:20181129092549j:plain:w300
前だけど微妙

Lambda Layer

aws.amazon.com

これまでのLambda関数は、すべての関数ごとに必要なライブラリ群をzipで固めてアップロードする必要がありました。このLambda Layerを使うと、共通のライブラリを別途レイヤとしてアップロードしておけば、それを使うようにしてLambda関数を作成できるようになります。

毎回同じものをアップロードしなくてもよいので楽ですし、関数の作成に注力すればよいのも利点ですね。

Lambda Ruby Runtime

aws.amazon.com

Eight開発が一番盛り上がったのはもちろんこれ。LambdaのRubyサポート。おそらくストリーミングでKeynoteを見ているメンバもいるだろうけど、少し時差があるはずなのと、自分でもようやく来たーというたかぶりあって、思わずSlackにポスト。

f:id:matetsu:20190421231319p:plain
待望のRuby on Lambda

Rubyでシステム開発をしているEightメンバにとっては待望も待望、もちろんPythonでのLambda関数開発もしていましたが、やはり得意領域で開発が進められるのはメンテナンスコストなどを考えてもメリットが大きいです。

後日談となりますが、2019年3月27日のAWS Serverless Tech/事例セミナーでEightの藤井がRuby on Lambdaについての発表をしてますので、もしよろしければ、資料などなどご覧下さい。(こんな時期に書いているレポートだから言える)

aws.amazon.com
speakerdeck.com

ALB Support for Lambda

aws.amazon.com

これまでは、LambdaをHTTP(S)で呼び出すためにはフロントエンドにAPI Gatewayを置く必要がありましたが、少し分かりづらさもありました。APIサーバとしてのAPI Gatewayは非常に良いサービスですが、ちょっとLambdaで処理したいだけなのに。。といった場面では煩わしい部分や、タイムアウト値がシビアなので、ちょっと時間のかかる雑な処理(ちゃんと作れよと言われそう)には使いづらい部分もあったと思います。

そういったちょっと面倒だった部分が、このALBによるLambdaサポートによってかなり変わりそうですね。

土産購入

Tシャツやステッカーといったエンジニア向けには土産になるものはゲットできていたが、いわゆる万人に喜ばれる食べ物は購入していなかったので、我らがWalgreenに向かいました。

ベタにLasVegasと書かれたものや、今回は専門店(?)に買いに行けなかったm&m's、カジノコイン風チョコレートと揃えました。

f:id:matetsu:20181203131409j:plain:w300
食物的土産

カジノチャレンジ その1

土産も買えたし、お昼まではまだ少し時間もあったので暇つぶしも兼ねてカジノチャレンジ。

ちょっと前に、構造計画研究所の中井さんからおすすめ(?)された「THE GOLD」というスロットへ。スロットは会話も必要なく、少額から打てるので大変ありがたいです。

ビギナーズラック的な感じで$3だけで$50まで増えちゃいました!
もう少し増えていたときもありましたが、ビビリなので$50切りそうになったらやめようという意思のもと、堅実に終えましたw

おかげで土産代をほぼ回収できましたー。よきかな。

アメリカっぽい雑なものも食す

ランチをどこで食べようかと、会場のひとつであるベネチアンをウロウロさまよっていたんですが、そういえば雑なファストフードを食べていないことを思い出して突如食べたくなり、フードコートにあるファストフード店へ。

ハンバーガー、ポテト、コーラという定番メニューをガッツリ食べて満腹。

f:id:matetsu:20181129115542j:plain:w300
定番の組み合わせ

(雑とか言ってると怒られそうですが、きっとみんな思ってるはず)

満腹になったところで、気になる新サービス系のセッションへと足を運びます。

[NET330] Introduction to AWS Global Accelerator

www.slideshare.net

気になっていた新サービスのひとつである「Global Accelerator」のセッションへ。

Global Acceleratorは簡単に言うと、ユーザからは静的な2つのIPアドレスが見えていて、通常なら様々なルートを経由するが近くのエッジロケーションから最適なリージョンのエンドポイントへと輻輳のないAWSのネットワークを通してアクセスさせることができるサービス。IPアドレスが固定されていて、その2つのIPアドレスも耐障害性のために別のデータセンタにある。複数のリージョンにエンドポイントが設定されていた場合、仮にエンドポイントの1つに障害があったとしても、DNSキャッシュなどで障害の起きたエンドポイントにアクセスが向くことはなく、正しくアクセスできるエンドポイントにルーティングされる。エンドポイントの追加も簡単。

現状では、ALB/NLB/EIPに対応している。CloudFrontはキャッシュはないものの近い役割を担うのことができるので、グローバル展開をしている場合には、キャッシュをしないAPIサーバ群へのアクセスには最適だと思われる。

聞いていたときには、CloudFrontには使えんのかい!って思っていたけど、ブログを書きながら頭を整理すると、上に書いたことで合っているんじゃないかと思うので、assetsはCloudFront、APIはGlobal Acceleratorといった構成にしたら良いと思う今日このごろ。

EXPOで質問

(このときは)どうしてもGlobal AcceleratorとCloudFrontの連携を聞きたくて、EXPO会場のAWSブースへ。発表を聞いていたときには、なんでCloudFrontには対応していないんだという思いが強すぎて、突進しましたw

つたない英語で強い思いだけで、「CloudFrontには対応しないの?対応するならいつ頃?」と聞いてみた。そんなだめな日本人にも優しく、「CloudFrontには対応はしてないね。対応時期?君たちはAWSとNDAを結んでるかい?結んでるんならアカウント担当に聞いてみな。(おそらくこんな感じ)」で優しく回答してくれた。その後にも、丁寧に説明してくれたんですが、早口過ぎて全然聞き取れませんでした😅

なんとなく英語で質問したことに満足して、疲れ切ってEXPO会場をあとに次のハンズオン会場へと向かうのであった。

[ARC315-R1] Building a Multi-Region Active-Active Solution

www.slideshare.net

Multo-Region Active-Acitve という言葉に飛びついて参加したハンズオン。そんな夢の構成ができるのか!?と。

Route53のルーティング + ヘルスチェック、API Gateway (Regional) + Lambda + DynamoDB (Global Table)、CloudFront + S3、Cognitoで構成。 はい、聞いてみれば納得の構成ですね。

まずはシングルリージョンで構成し、もう一つのリージョンも構築、ヘルスチェックでActive-Activeの設定をして、フェイルオーバをテストという流れでした。DynamoDB Transactionも発表されたので、ありと言えばありですが、使いみちは限られる感じもあります。

AuroraのGlobal Tableってないですかね。どのリージョンからもRead/Write可能な便利なやつ。そしたらグローバル展開のハードルがより一層下がると思うんですよ。

[SEC397] Introduction to AWS Security Hub

www.slideshare.net

これまた気になっていた新サービスのSecurity Hubのセッションへ参加。

Securiy Hubでは、AWSのSecurity関連サービスを包括的に管理することができる時代が求めているサービス。AWSにはGuard Duty、Inspectorなどの複数のセキュリティ系サービスがあります。これらの実行結果などを一元的に管理できるようになるため、これまでサービス別に異なるフォーマットで管理していたものを一括で管理できるようになるという、運用者としてはありがたさしかないサービスです。しかも社内のAWSアカウントを一括管理(どこかで聞いたことのあるセリフをもじったもの)。

サードパーティのサービスとも連携して、全社まとめてより詳細な分析を行なったり、AWS Configとの組み合わせでルールに違反したものの検出など、問題を通知したりといったことが実施しやすくなります。

Security Hubは、まだPreview中で、費用はかかりません。GAになったときの費用はまた追ってとのことです。

カジノチャレンジ その2

参加したいセッションなども落ち着いたので、時間を潰すために再びカジノ場へ。

またしても同じTHE GOLDの台へと向かってみましたが、他のお客様がやっていたのでその隣の類似台で我慢して打つこと数分。ここでも意外と好調で儲けがチャリンチャリンと。
いつしか隣の方もいなくなったので、再度THE GOLDでラストスパートをかけるというギャンブラー魂開花しかけの状態に。

だんだん欲も出てきて、理性との戦いも激しさを増してきて、「これがあと少し、あと少しと金をつぎ込んでしまう気持ちか」と思いながら低空飛行を続け、なんとか全$12投入で$70終了という結果になりました。

f:id:matetsu:20181129174307j:plain:h300
その2の結果

最終的には、午前と合わせて$100くらいの儲けでした。いやー、楽しかった。

晩飯はいずこ

知り合いの方に誘われてディナーへと行くはずでしたが、いろいろとあり、(本人のために詳細は書きませんが)いろいろとありましたw
ディナーにはありつけなかったので、re:Play会場にあるはずの食事を目指して急いで移動を開始!

re:Play is 大人が本気で楽しむ場!!

re:Play Partyは言葉で伝えるよりも写真を見ていただいたほうがいいので、写真多めでいきます!(スマホカメラの性能はあまり良くないので、見るに堪えない写真が多いです。あしからず)

シャトルバスに乗り込んで会場へと移動し、ゲートでテンションAGEつつ、まずはビール。

f:id:matetsu:20181129205053j:plain:w300
re:Play Party会場のゲート

f:id:matetsu:20181129205712j:plain:h300
からの、命の水

会場にはCLUB / GAME / LIVE の3つの大きな会場のほか、様々な遊び場が用意されていました。

f:id:matetsu:20181129205201j:plainf:id:matetsu:20181129205205j:plain
屋外にも人がわらわらと

CLUBゾーンの最前列あたりに知り合いの人達がいるという情報を得たので、とりあえずCLUBゾーンへ。お腹が空いていたことを思い出したので、まずは食事にありつく。

f:id:matetsu:20181129212414j:plain
昼と同じとか言わない

腹ごしらえで体力回復したので、いざ前方へ。。。と思ったけど、なかなか前に攻め込めない。。。そして、すごい盛り上がり!

f:id:matetsu:20181129213052j:plainf:id:matetsu:20181129213446j:plainf:id:matetsu:20181129213449j:plainf:id:matetsu:20181129213926j:plain
めっちゃ盛り上がっとる

攻めあぐねていた我々*1は、脇へそれてGAMEゾーンへ。ここでもまた、別の方法で大人たちが本気で楽しんでいました。

f:id:matetsu:20181129214727j:plainf:id:matetsu:20181129214903j:plainf:id:matetsu:20181129214517j:plain
楽しそうだが、自分でやるかと言われたら。。

GAMEゾーンをちょっと楽しんで、再度前方へのチャレンジ!なんとか最前列辺りまでやってきたけど、知り合いの方々は見えず。おそらく逆サイドにいたんだろうと、諦めて再び人の波をかき分ける。

f:id:matetsu:20181129220732j:plainf:id:matetsu:20181129220233j:plainf:id:matetsu:20181129220255j:plain
伝わるか、このほぼ最前列感

ちょっと疲れたので、re:Play Tシャツを求めて屋外エリアの行列ができているところを目指しました。かなりの人が並んでいるので、ここだろうと思って並んでみたが、全く違うちょっと不思議な空間に案内されましたw

f:id:matetsu:20181129223343j:plain:h300
海皇ポセイドン神殿を思わせるこの感じ

間違いに気づき、逆サイドのTシャツ配布場所へ行き、無事Tシャツゲット!

f:id:matetsu:20181129225101j:plain:h300
これをゲットしてこそ

外で日本人の参加者の方と知り合いになり、少し酒を飲みつつ会話をしていたら閉幕のお時間になってしまい、素直に帰りました。

楽しい夜は更けてゆき

なぜ素直に帰ったかって、翌日は5:20a.m.にチェックアウトを済ませた上で集合なので、寝る時間がほとんど無い。でも、少しだけ寝ました。睡眠大事ですから。

P.S.

re:Inventの参加としては以上にはなるのですが、Day 0を書いてしまった以上、After Days的なのも必要かなと思いつつ、そんなに望まれてないでしょうとも思いつつ。周りをちら見して様子を伺ってみようと思います。

*1:社内のメンバとともに行動していたわけではなく、コミュニティで知り合った方と行動してました。

© Sansan, Inc.