Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

AWSで自作CGIをサーバレス実装してみた 〜その3

1 686 vues

Publié le

in zJAWS-UG福岡:3度目の濃い目にAWSの話をしてみよう

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

AWSで自作CGIをサーバレス実装してみた 〜その3

  1. 1. AWSで自作CGIをサーバレス 実装してみた 〜その3 株式会社クリック 夏目祐樹
  2. 2. 自己紹介  夏目祐樹 (ナツメユウタ)  新卒2年目の新人SE(?)  正社員だけど電気屋さんの子会社に派遣される  Chef Guy
  3. 3. 自作CGI Web-Library  自炊した書籍を ブラウザ経由で読むためのもの  本以外でも画像ファイル であれば読める  家のサーバで動かしているが レスポンス等もあり AWSに移植を決める
  4. 4. 間に合いませんでした
  5. 5. 間に合わなかった理由  画像ファイルが60Gもあったため軽量化を 図る必要があった。 かつ、その調査やコンバートに時間がかかった。  Cognito User Poolsをつかったアクセス制御の いい方法が思いつかず、調査に時間をかけすぎた  Node.jsの非同期処理に不慣れで Lambdaの実装に時間がかかった。  艦これArcadeとか空の軌跡とかに浮気してた
  6. 6. アジェンダ 設計の変遷 苦労したこと
  7. 7. 設計の変遷 第一次設計  初めてのLTで話した構成  S3の静的ホスティングを使って運用  アクセス制御はバケットのポリシーを使用
  8. 8. 設計の変遷 第二次設計  LT後の助言をもとに改良した構成  Web公開部分をCloudFrontに変更。それに伴いアクセス制御をWAFに。  WAFの詳細は過去のLT資料に http://www.slideshare.net/yutanatsume5/awscgi-2
  9. 9. 設計の変遷 第三次設計  Dynamoで困ったこととデータ設計の結果、 Dynamoを使用しないことにした  現状この設計で実装中
  10. 10. 設計の変遷 第四次設計 (渇望)  実装の方法もまだよくわからないため 渇望に近い設計  容量的に小さい管理データはDynamoに、 大きいものはS3に  ユーザー認証をCognito User Poolsに一任  現在手動でやっている管理系の機能を EC2上に構築
  11. 11. 苦労したこと Lambda  テストの容易さからWebコンソールで編集を行う  そのため、npmを使ったライブラリの追加等ができなかった。  Lambdaのファンクションをグループ分けできないので、 テスト用にファンクションを大量に作ったとき探すのが 大変だった。
  12. 12. 苦労したこと DynamoDB  JSONでデータの更新取得ができる  できるものの、取得時にJSON内部で 型情報を持っているためパースしないと使いにくい  LambdaをWebコンソールで書いているため パーサーのライブラリを導入できない
  13. 13. 苦労したこと WAF  String matchigでURIを選択すると FQDN部をマッチングできない。  正規表現が使えない。  若干高い。
  14. 14. 苦労したこと Cognito User Pools  最近できたサービスで情報が少ない  アクセストークンを取得できるものの、 トークンが有効なものか確認する方法がわからない  アクセストークンをユーザーデータに格納して 有効か確認しようと思ったが、 Lambdaに渡せるデータにアクセストークンがない
  15. 15. まとめ  開発は間に合いませんでした  S3, CroudFront, ACM, API Gateway, Lambda, WAF, Route53を使用して開発を行っている  DynamoDBを使用して一部のデータを管理する……たぶん  EC2上に管理用のWebページを構築する……いずれ

×