Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

AWS re:Invent 2018に行ってきました!

こんにちは。開発基盤ユニットの@selmertsxです。

11/26 ~ 11/30 とAWS re:Invent 2018に参加してきました。 re:Inventにて発表された内容については、既に公式で公開されていますので、この記事では僕の所感について書きます。 自分は現在IDaaSの権限設定についてサーバレスで自動化するシステムを作っています。 そのため、サーバレスやセキュリティ周りのセッションについて重点的に聞いてきました。 この記事ではそれらの分野をメインにお話をさせていただきます。

AWS re:Invent 2018 | Nov. 26 – Nov. 30, 2018 Las Vegas, NV - YouTube Amazon Web Services presentations channel

なお、このイベントについては業務として参加しており、イベントに関する渡航費とチケット代は今回も会社にすべて出して貰いました。

参加した経緯

参加した経緯ですが、ある日僕の上長である @iogi から「re:Invent行ってみたい?」と聞かれたので、特に深いことを考えずに「行ってみたいです」と答えたら行くことになりました。

SpeeeがAWSを利用しているということについて、ご存知でない方も多いと思うのでここで簡単に説明させていただきます。 Speeeでは不動産一括査定サイトの イエウール 、外壁塗装工事のマッチングサイトの ヌリカエ、ネイティブアド配信プラットフォームの UZOU を提供させて頂いており、これらのサービスは全てAWS上で動いています。 僕が所属している開発基盤ユニットでは、各サービスに所属しているエンジニアが安心してサービスの開発ができるように AWS Organizationsでこれらのアカウントをまとめ、CloudTrailで監査ログを取得したり、GuardDutyを使って異常検知をするなどしています。 また、社内ツールや開発補助のためのツールもAWSを利用して作成しています。もしSpeeeでのAWSの活用事例について興味がある方がいましたら、サーバレスの利用例について、以前発表させて頂いた資料があるのでそちらを見ていただけると幸いです。

sam_on_aws_2018_startup_days - Speaker Deck

re:Inventの全体的な所感

キーノートや僕が見てきたセッション・チョークノートから、イベントを通じて感じた所感を書きます。 主にサーバレスやセキュリティについてのお話がメインとなります。 マイクロサービスについても、AWS Cloud Map や AWS App Meshなど大きなアップデートがあったのですが、 直近で触る機会がなさそうだったのでセッションは聞きに行きませんでした。 必要になったころに聞いてみようと思います。

サーバレス

今回のre:Inventでセッションを聞いて、サーバレスはサービスを迅速に届けるための一つの手段に、既になっているのではないだろうかという考えになりました。

Simpler by Design: Build a Better GraphQL API for Your Next App by Writing Less CodeDevOps: Build Deploy & Operate Mobile Web Apps with Serverless Backendなどのセッションでは、AWS Amplify Consoleを利用してサーバレスのサービスを作成したり、 branch毎に環境を立ち上げて簡単に確認を行うデモが行われていました。 認証機能や新しいAPIなどをamplifyコマンドを利用してサクサク追加しており、大きな手間を書けずにサービスを開発し、CI/CDの構築までしていました。 Inside AWS : Technology Choices for Modern Applications というセッションでは、サーバレスでレイテンシーを下げるための様々な工夫についてのお話がされていました。

サーバレスでサービスを作る際にDynamoDBがトランザクションに対応していないことが一つのネックになっていましたが、そちらは今回のre:Inventで対応されました。 また、DynamoDBの設計やDynamoDBに格納したデータを分析するためのセッションも多くあり、DynamoDBの知見の普及に力を入れていることが伺えます。

AWSからは既にDynamoDBに関する知見や、AWS Amplify Consoleを利用したサービスを立ち上げるためのサンプルは既に数多く提供されています。 それらの知見さえ正しくインストールするコストを払えれば、サーバレスはサービスを迅速に立ち上げるための最適な方法の一つにすでになっているのかも知れません。

セキュリティ

セキュリティに関するアップデートで、僕が気になったのは下記4点です。

  • AWS CLI v2.0のSAML、MFA、AssumeRole 対応
  • AWS Control Tower
  • AWS Security Hub
  • AWS Transit Gateway

現在僕たちはIDaaSの全社的な導入を進めています。 IDaaSの導入が完全に完了した際は、AWSの各アカウントから完全に IAMユーザーを削除して、SAMLでFederationをしようと考えていました。 そうなるとAWS CLIを実行する権限を取得する方法が課題になります。 それをどうしようか少し悩んでいたのですが、今回のアップデートによって公式でサポートして頂けるようになりました。

また、Architecting Security & Governance across your AWS Landing Zone というセッションにおいて、プロダクトの中でAWSのアカウントを安全に利用するためには、目的に応じてアカウントを分割する必要があるというお話がありました。 多くのアカウントを持つようになると、複数のサービス・アカウントにまたがって設定、可視化できるAWS Control Towerや、Security Hub、Transit Gatewayといったサービスが重要になってきます。 これらのサービスについては、僕たち開発基盤ユニットでも調査・採用を進めていこうと考えています。

最後に

今回、初めて re:Inventに参加してみました。 正直なところ英語に不安があったのですが、キーノートは力強い味方のおかげでバッチリでした! AWSさんありがとうございます! f:id:selmertsx:20181207184208j:plain

re:Inventでは昼間にセッションを聞いて夜は懇親会という形で毎日を過ごしていました。

f:id:selmertsx:20181127194352j:plain

写真は Jewel Night Clubというラスベガスの大きなクラブで、DJがノリノリでEDMを鳴らしているなか、名刺交換をするというなかなかできない貴重な体験をさせて貰いました。

そんな感じの貴重な体験も色々させていただきましたが、やっぱり夜はその日に発表されたサービスを使ってみんなでわいわいして懇親したいな〜という感想を持ちました。 来年行くことになったら、色んな国の人とコードを書きながらワイワイできるようなイベントも企画してみたいですね。そのために英語を頑張らなければ。 まだまだ今回のre:Inventの発表内容について消化しきれていない部分は多々ありますが、来年のre:Inventのときまでに消化して、今回よりももっと楽しめるようにようと思います!