Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
チラ⾒せ!
マイソースファクトリーでのAWS活⽤
株式会社オルターブース
藤崎優 満園裕⼈
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
•藤崎 優 (Yutaka Fujisaki)
•株式会社オルターブース
•業務執⾏役員COO
•PHP / Python /AWS / Azure / Backlog
•JAWS Festa Kyusyu2015 実⾏委員⻑
•JAWS-UG福岡 司会担当
•ヴィジュアル系オタク
⾃⼰紹介
福岡⽀部
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
•株式会社オルターブース所属
•最近は主にC#を使ってます
•ゲーム⼤好き
満園裕⼈の⾃⼰紹介
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
福岡発
フルスタックサービス開発
つまらない世界からお客様を解放させ、
もっと刺激のある世界へ変化させよう!
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
みなさん
サービスでAWSをどう使ってるか聞きたくない
ですか????
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
https://mysaucefactory.com/
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
ベースソース(サラダドレシングポン酢などの調味料素材)の配合をお好みで調
整し、“⽢みが強い”・“⾟味が強い”、といった⾃分好みの味感覚でオリジナルの
ソースを作ることが出来るサービスです。商品は1本から注⽂可能。商品は⼯場か
らユーザーに直送されます。
また、作ったオリジナルのソースレシピは、SNSでシェアすることが出来、「世
界でひとつだけのマイソース」を公開することが可能です。
Factory
ユーザー自作のレシピ
に従って調味料を作成
System
誰でも簡単にお手軽に。
マイスースファクト
リーは直感で使えます
User
マイソースファクト
リーで簡単にレシピ作
成&注文!
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
どんなパラメーター
に調整しても 美味しい
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
カスタマイズしてます
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
マイソースファクトリーの
裏側
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
アーキテクチャ
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
API中⼼のアーキテクチャ
Database
WebApps
API
フロントエンド バックエンド
マイソースファクトリー
https://mysaucefactory.com
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
必要な機能を⾜して・・・
(使ってみたい技術を⾜して・・・)
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
マイソースファクトリ全体の利⽤ツール・クラウド
VSTS
WebApps
Azure
ACS
DocumentDB
SQL Database
BLOB
Functions
OMS
LogicApp
Cognito
API
Gateway
Route53
S3
CloudFront
Lambda
IAM
CloudWatch
ECR
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
インフラ全体像
Cognito
API
Gateway
DocumentDB
SQL Database
TerraformWebApps
Route53
S3
CloudFront
Lambda
Azure Container Service
LB
docker swarm
ASP.NET Core
BLOB
ココらへんのはなしをします!
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
cognito
UserPool
Ø メールアドレスによるユーザ認証
FederatedIdentityPool
Ø UserPool、Facebook認証の両⽅のid
を保持
Ø IAMロールを使⽤し、API-GWへのア
クセス制御
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
API Gateway
Ø マイソースAPIへのプロキシ
• 1Lambdaファンクションで管理
Ø 各APIへのアクセス制御
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
Lambda
Ø API Gatewayでの使⽤
l プロキシ
l アクセス制御(UserPool認証の一部のみ)
n ポリシードキュメントの生成
p トークンへの紐づけ
l トークンの有効性
Ø UserPoolカスタムメッセージ
l トリガーから発火
l デフォルトメッセージの代わりに生成したメッセージを送信
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
IAM
Ø FederatedIdentityPoolで使⽤されてい
るロールにポリシードキュメントを作
成
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
CloudWatch
Ø Lambdaのログ
l APIのエラーの確認に使用
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
ヨカッタヨー&タイヘンダッタヨー
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
cognito
Ø 独⾃ユーザー認証(メールアドレス認
証)の実装が楽
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
cognito
Ø 認証失敗した場合もUnConfirmed状態
でユーザデータが残り、同じメールア
ドレスでの認証コード再発⾏ができな
い(最近困ってる)
Ø 認証メールにSendgridの使⽤が厳し
かったため断念
Ø 無難にSESを使用
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
API Gateway
Ø LambdaをAPIとして簡単にセッティン
グできる
Ø カスタムドメインによる統⼀ができる
Ø アクセス制御できる
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
API Gateway
Ø リクエストとレスポンスのマッピング
がわかりづらい(理解不⾜かも)
Ø アクセス制御の情報が少ない
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
Lambda
Ø UserPoolのカスタムメールやAPI-GW
のアクセス制御など、さまざまなこと
が⾏えて便利
Ø VisualStudioで開発、デプロイ
l javascriptで開発
l お得意のC#は変数の扱いとかがめんどいし、とり
あえずjavascriptで書けてるので
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
Lambda
Ø CloudWatchを上⼿く活⽤したい
Ø ログの検索がツラい
l 検索のコツを把握しているのが自分(満園)だけなの
でもっと見やすくしたい
Copyright © 2015-2017 ALTERBOOTH inc. All Rights Reserved.
ご清聴
ありがとうございました

チラ見せ! マイソースファクトリーでのAws活用 修正

  • 1.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. チラ⾒せ! マイソースファクトリーでのAWS活⽤ 株式会社オルターブース 藤崎優 満園裕⼈
  • 2.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. •藤崎 優 (Yutaka Fujisaki) •株式会社オルターブース •業務執⾏役員COO •PHP / Python /AWS / Azure / Backlog •JAWS Festa Kyusyu2015 実⾏委員⻑ •JAWS-UG福岡 司会担当 •ヴィジュアル系オタク ⾃⼰紹介 福岡⽀部
  • 3.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. •株式会社オルターブース所属 •最近は主にC#を使ってます •ゲーム⼤好き 満園裕⼈の⾃⼰紹介
  • 4.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. 福岡発 フルスタックサービス開発 つまらない世界からお客様を解放させ、 もっと刺激のある世界へ変化させよう!
  • 5.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. みなさん サービスでAWSをどう使ってるか聞きたくない ですか????
  • 6.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. https://mysaucefactory.com/
  • 7.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. ベースソース(サラダドレシングポン酢などの調味料素材)の配合をお好みで調 整し、“⽢みが強い”・“⾟味が強い”、といった⾃分好みの味感覚でオリジナルの ソースを作ることが出来るサービスです。商品は1本から注⽂可能。商品は⼯場か らユーザーに直送されます。 また、作ったオリジナルのソースレシピは、SNSでシェアすることが出来、「世 界でひとつだけのマイソース」を公開することが可能です。 Factory ユーザー自作のレシピ に従って調味料を作成 System 誰でも簡単にお手軽に。 マイスースファクト リーは直感で使えます User マイソースファクト リーで簡単にレシピ作 成&注文!
  • 8.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. どんなパラメーター に調整しても 美味しい
  • 9.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. カスタマイズしてます
  • 10.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. マイソースファクトリーの 裏側
  • 11.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. アーキテクチャ
  • 12.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. API中⼼のアーキテクチャ Database WebApps API フロントエンド バックエンド マイソースファクトリー https://mysaucefactory.com
  • 13.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. 必要な機能を⾜して・・・ (使ってみたい技術を⾜して・・・)
  • 14.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. マイソースファクトリ全体の利⽤ツール・クラウド VSTS WebApps Azure ACS DocumentDB SQL Database BLOB Functions OMS LogicApp Cognito API Gateway Route53 S3 CloudFront Lambda IAM CloudWatch ECR
  • 15.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. インフラ全体像 Cognito API Gateway DocumentDB SQL Database TerraformWebApps Route53 S3 CloudFront Lambda Azure Container Service LB docker swarm ASP.NET Core BLOB ココらへんのはなしをします!
  • 16.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. cognito UserPool Ø メールアドレスによるユーザ認証 FederatedIdentityPool Ø UserPool、Facebook認証の両⽅のid を保持 Ø IAMロールを使⽤し、API-GWへのア クセス制御
  • 17.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. API Gateway Ø マイソースAPIへのプロキシ • 1Lambdaファンクションで管理 Ø 各APIへのアクセス制御
  • 18.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. Lambda Ø API Gatewayでの使⽤ l プロキシ l アクセス制御(UserPool認証の一部のみ) n ポリシードキュメントの生成 p トークンへの紐づけ l トークンの有効性 Ø UserPoolカスタムメッセージ l トリガーから発火 l デフォルトメッセージの代わりに生成したメッセージを送信
  • 19.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. IAM Ø FederatedIdentityPoolで使⽤されてい るロールにポリシードキュメントを作 成
  • 20.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. CloudWatch Ø Lambdaのログ l APIのエラーの確認に使用
  • 21.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. ヨカッタヨー&タイヘンダッタヨー
  • 22.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. cognito Ø 独⾃ユーザー認証(メールアドレス認 証)の実装が楽
  • 23.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. cognito Ø 認証失敗した場合もUnConfirmed状態 でユーザデータが残り、同じメールア ドレスでの認証コード再発⾏ができな い(最近困ってる) Ø 認証メールにSendgridの使⽤が厳し かったため断念 Ø 無難にSESを使用
  • 24.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. API Gateway Ø LambdaをAPIとして簡単にセッティン グできる Ø カスタムドメインによる統⼀ができる Ø アクセス制御できる
  • 25.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. API Gateway Ø リクエストとレスポンスのマッピング がわかりづらい(理解不⾜かも) Ø アクセス制御の情報が少ない
  • 26.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. Lambda Ø UserPoolのカスタムメールやAPI-GW のアクセス制御など、さまざまなこと が⾏えて便利 Ø VisualStudioで開発、デプロイ l javascriptで開発 l お得意のC#は変数の扱いとかがめんどいし、とり あえずjavascriptで書けてるので
  • 27.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. Lambda Ø CloudWatchを上⼿く活⽤したい Ø ログの検索がツラい l 検索のコツを把握しているのが自分(満園)だけなの でもっと見やすくしたい
  • 28.
    Copyright © 2015-2017ALTERBOOTH inc. All Rights Reserved. ご清聴 ありがとうございました