爆イケぴえん。 #スカイピース X テオくん

#スカイピース X テオくん

日常的にもそうですが、瞬間的に負荷が上がるタイミングなどでは特にめちゃくちゃ飛び出ます。 すると以下のような回答が返ってきました。 新アーキテクチャ決定までにやったこと 当初、考案したアーキテクチャ まず、やりたかったことは以下です。 ですので、これをシンプルに S3に写真を保存したら即レスポンスにするのが理論上、最も速いです。 また、最後まで読んでいただいた皆さま、ありがとうございます。

Next

【Serverless】写真のアップロード速度を爆速にした話

EC2サーバーを一切介さないというのが最大の目標として考えていました。 開発環境からAuroraServerlessにアクセスするには、パブリックIPを割り当てる必要があったため、これは大打撃です。 リリース時期の目標がある中で、Dynamoの検証を進める時間が足りなそうだった 開発期間3ヶ月くらい• Lambdaのエラーなどを可視化することができます。 また今回のアーキテクチャには深く関わりませんが、当サービスでは、顔写真の検索にを用いております。 といった処理を行っています。 画像の送信サイズは20MBまであげたかったので、この方法は採用できませんでした。

Next

岸優太[King&Prince] X 爆イケ

画像は全部緑ですが 失敗したりしていると色が変わってくれます。 これは、ServerlessFrameworkの機能であるカスタム変数を利用し、各デプロイ環境ごとに値をセットしています。 クライアントから直接API経由で画像を送信し、そのままLambdaで処理するスタイル しかし、Lambdaの呼び出しペイロード制限 6MBに直面しました... 基本的にはSDKの使い方そのままなので非常に簡単でした。 ymlの設定をご紹介します。 この際はLaravel上でS3のAPIを使用します。

Next

岸優太[King&Prince] X 爆イケ

デプロイは以下のように行います。 Aurora Serverlessの検討 DynamoDBは、RDS+Lambdaの相性の悪さから考えた案でしたが その次にを検討しました。 このように、エラーに対して適切なハンドリングを設定できたのがStepFunctionsの魅力です。 エラー内容をfunctionへ受け渡すこともできたような記憶も... ショックすぎて、AWSサポートに問い合わせてどうにかならないか聞きましたが、ドキュメント以上のことは返ってきませんでした... ここからはCICDの仕組みの構築です。 Aurora Serverlessの開発環境 開発環境でAuroraServerlessを使おうとする際の方法は以下2つでした。 CICD さて、上記で写真を爆速でアップロードするための仕組みが整いました。 でもちゃんとテストしてね! なるほど... 真ん中より左側が、サーバーレス移行前のレイテンシーです。

Next

岸優太[King&Prince] X 爆イケ

詳しくは公式ドキュメントに記載してありますので割愛させていただきます。 後述の監視で紹介しますが、を有効にするための設定です。 しかも、このENIはLambdaコンテナが消えても一定時間残り続けるので、短い時間に大量のLambdaが起動してしまうとENIが爆増し、制限に達してしまいエラーとなります。 webサーバーはで管理しているEC2インスタンスです。 写真が正しいものと判定されたら、写真に関するデータをRDSに保存します。

Next

岸優太[King&Prince] X 爆イケ

読んでいただきありがとうございました。 参考: 実際に以下のように設定しています。 コンソールから見ることができるログも1000回までで、それ以前のログは遡れないです。 というか多分できる。 ただこちらは、ちょうどリリースする直前にAWSが改善してくれました。 そこには、エラー時に捕捉できず、失敗したらそのままにするしかない、などというサーバーレス特有の問題がありました。 しかし、開発環境を整えることができないという問題により選択肢から除外せざるを得ませんでした。

Next

#スカイピース X テオくん

写真を保存するだけなら、サーバー経由でもできますが、それは最速ではないです。 そこで見つけたのが S3の署名付きURLでした。 各種データのDBへの保存、トリミング、サムネイル 失敗時には、レコードをエラーステータスに更新する。 それほど大したものではありませんが AWS X-Ray LambdaにX-Rayを簡単に導入できるため、お試しの意味も込めて導入しました。 嬉しいですね。 この場を借りてお礼申し上げます。 us - east - 1. では実際にどのくらいの瞬間風速で同時起動数が跳ね上がるのかを検証してみました。

Next

#スカイピース X テオくん

写真の保存ストレージは、写真のサムネイルの作成は開発時にはすでにLambdaを用いて処理させていました。 これはやばい、いち早く導入して、不安要素を取り除きたいと思います! まとめ 自己紹介が遅れましたが、私は新卒3年目の中堅? Dockerコンテナで仮想的にAuroraServerlessを構築する AuroraServerlessは割と新しいサービスで、コンテナはかなり難易度が高かったため、実際のリソースを使うことにしました。 速いは正義です。 ServerlessFrameworkによるサーバーレスデプロイ StepFunctionsやLambdaのデプロイにはを使用しています。 AuroraとAuroraServerlessの検証 AuroraとAuroraServerlessを対象に、サーバーレスに耐久できるかどうか検証をしました。

Next