AWS Lambdaとストレージゲートウェイを使用したグローバルストレージの設計に参加してきました

f:id:m-sato-lvgs:20200108172806p:plain

こんにちは、msatoです。

AWS re:Invent2019のワークショップ「ARC313 Architecting Global Storage with AWS Lambda and storage Gateway」のレポートになります。

概要

企業は、AWSテクノロジーのベストプラクティスを使用して、オンプレミスとクラウドの両方で世界中の生産施設に資産を同期する方法を探しています。このセッションでは、AWS Lambda、Amazon API Gateway、Amazon Simple Storage Service(Amazon S3)、AWS Storage Gateway、AWS Directory Service、およびAWS Fargateを使用して、世界中の従業員のコラボレーションを可能にするサーバーレスグローバルストレージプラットフォームを構築する方法を学びます。

Companies are searching for ways to synchronize their assets to their production facilities around the world, both on-premises and in the cloud, using best practices with AWS technologies. In this session learn how you can use AWS Lambda, Amazon API Gateway, Amazon Simple Storage Service (Amazon S3), AWS Storage Gateway, AWS Directory Service, and AWS Fargate to build a serverless global storage platform to enable employee collaboration around the world.

スピーカー

Paul Roberts Rob Hilton Principal Solutions Architect , Amazon Web Services

レポート

構成図

f:id:m-sato-lvgs:20200108172846j:plain f:id:m-sato-lvgs:20200108172903j:plain

動画ファイルを格納できるグローバルストレージの構築です。

具体的にはアテナに動画編集者がいて、トロントから確認したいというケースでした。 (アテナは読み書きが可能で、トロントでは読み込み)

AWSのマネージドサービスを使用して、サーバレスで作ります。

使用するサービス

  • S3
  • 動画ファイルを置きます
  • masterとstudio(読み込み専用)というバケットを作ります(masterがアテナで、studioがトロント)
  • StorageGateway
    • クライアントからSMBでS3をマウントさせるためです
  • AWS Fargete  - フロント部分に使います
  • AWS API Gateway
    • リクエストを受けて、lambdaを起動します
  • AWS Lambda
    • masterにアップロードされた際に、studioのバケットにコピーします

まとめ

オンプレで作ったらかなり手間がかかりますが、AWSのサービスを使うことで簡単に作れました。 また、サーバレスのためコストや運用の手間もほとんどありません。

StorageGateway使ったことがなかったので、ワークショップで実際手を動かしながら作れたのはいい経験になりました。

グローバルストレージを構築する機会はなかなか無いと思いますが、このアーキテクチャは色々応用が効く気がします。