SlideShare a Scribd company logo
SEO対策したサイトを
API Gateway+Lambdaで作ってみた話
株式会社カラダメディカ 平田 貴大
自己紹介
氏名:平田 貴大
経歴:2011〜2015 エムティーアイ
ヘルスケア系アプリ開発やWeb開発
 2015〜 カラダメディカ出向
データ可視化やDevOps推進、
新規事業立ち上げなど
エンジニア〜POまで
趣味:ビリヤード
なんでも楽しいことに取り組みたい。
※こう見えて2児の父です
使っている技術
「CaraCoro」
https://caracoro.jp
2016/09リリース
ユーザーの質問に
医師が回答するQ&A
がベースのメディアサイト
※某サイトと違って
弊社では現役医師が
回答しております
今日伝えたいこと
SEO対策したサイトを
API Gateway+Lambdaで作ってみた話
SEO対策したサイトを
API Gateway+Lambdaで作ってみた話
でのアーキテクチャ変遷と実体験
開発環境
・Serverless Framework 1.4
 0系から最近移行しました
・node.js 4.3
・Typescript 1系
・アーキテクチャ
 ・後でお話しします
ちなみに
Serverless Framework
0系→1系への移行のポイント
プロキシ統合
プロキシ統合
プロキシ統合
環境の切り替え
環境の切り替え
API Gateway Lambda
移行前 prod/rc/dev 1つのみ aliasで切り替え
移行後 prod/rc/dev prod/rc/dev
ちなみに
テスト方法とかデプロイ方法とか
テストはserverless--offlineとか使ってみてるけど微妙に歯がゆい感じ。。。
デプロイはsls deploy --stage dev とServerlessそのまま
※あまり参考にならなくてすみません
本題
最初に考えた
アーキテクチャ
HTMLは静的にして
クラインアントのajaxで
動的にデータとってくれば
いいっしょ
アーキテクチャ初代
サーバーレスでよくありそうなお手本
html,css,js,imageはS3で
サイト配信
動的コンテンツの取得
のみAPIで実現
クライアントはvue.jsを使用
しかし問題が!
動的にURLを処理できない
動的にURLを処理できない
/qa/1234
のリクエストに対して、/qa/index.htmlをS3から返却し、
ajaxを使って1234の記事をAPIから取得したい。。。
でもcloudfront + S3 でそんなすべはない
さらに
404返せない
404の挙動を404ステータスコードで返せない
/qa/1234
のリクエストに対して、/qa/index.htmlをS3から返却し、
ajaxを使って1234の記事をAPIから取得する
1234の記事がnot foundだとしても、htmlを200で返却してしまっている
どうしたものか
そうだ
アーキテクチャ
変えよう
API Gatewayで
HTML返せばいいじゃん
新アーキテクチャ
パスによって
Cloudfrontが振り分け
/apiはコンテンツ取得
のためにApi Gatewayへ
/cssや/scriptや/image
→S3へ振り分け
それ以外のパス
→API gateway→lambdaがS3から
htmlを取得して返す(その際に404でないかはチェック)
しかし、また問題が!
SEO対策したサイトをAPI Gateway+Lambdaで作った話
クローラーめ。。。
どうしたものか
そうだ
サーバーサイド
レンダリングに
変えよう
新新アーキテクチャ
htmlをすべてLambda内に
ファイルとして配置
vue-server使ってレンダリング
API Gatewayのcatch-allに早く対応しないと。。。
問題はまだある!
パフォーマンス悪い。。。
たまにTimeout
パフォーマンス悪い
ENI作成処理で初回起動が遅い問題
参考:西谷さんの記事
→http://qiita.com/Keisuke69/items/1d84684f0511a062e968
Lambdaのポーリングを実施
実際15分間隔のポーリングではダメで5分間隔にしてやっとほぼほぼ解消された
(完璧ではない)
といっても超えられない
レイテンシの壁
レイテンシ
Cloudfront + API Gatewayで300ms×2に近いレイテンシ
API Gatewayのcatch-allに早く対応して前段のCloudfront取り除かないと。。。
でもキャッシュがあると10msで表示されるしな。。。
でも一応、数百msは保てている
→SEO対策としてはもっと頑張りたい
まとめ
まとめ
メリット
 アーキテクチャの組み替えでいろんな要件を満たせるのは楽しい
 AWSのサービスで色々できるようになってきていて可能な要件は増えている
 SEO的にも問題ないサイトは作れる
デメリット
 気をつけないとピタゴラスイッチ化しかねない
 パフォーマンス的な制約があるのでキャッシュなどにおいて
 もっと良い設計が必要になる
ご清聴ありがとうございました

More Related Content

PDF
SEOに効くコンテンツの作り方 ver1.1
PPTX
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
PPTX
最近誰かに「やったほうがいいよ」と伝えた7のこと
PDF
SEOからコンテンツマーケティングへ ─SEO歴15年の我々が過去を捨て、未来へ進む─
PDF
トラブルシューティングで僕が大事にしてること
PDF
2020/9/30 【エンジニア起業】小規模スタートアップがウェブサービス(SocialDog)を軌道に乗せるまで
PDF
成功したチームと成功しなかったチーム 20160608
PDF
Serverless AWS構成でセキュアなSPAを目指す
SEOに効くコンテンツの作り方 ver1.1
【WCAN 2015 spring】ワクワクドリブンエンジニアリング_公開版
最近誰かに「やったほうがいいよ」と伝えた7のこと
SEOからコンテンツマーケティングへ ─SEO歴15年の我々が過去を捨て、未来へ進む─
トラブルシューティングで僕が大事にしてること
2020/9/30 【エンジニア起業】小規模スタートアップがウェブサービス(SocialDog)を軌道に乗せるまで
成功したチームと成功しなかったチーム 20160608
Serverless AWS構成でセキュアなSPAを目指す

Viewers also liked (11)

PPTX
Serverless Framework 使ってる話(node.js)
PDF
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
PDF
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
PDF
20170210 jawsug横浜(AWSタグ)
PPTX
AWS Step FunctionとLambdaでディープラーニングの訓練を全自動化する
PDF
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
PDF
サーバーレスの今とこれから
PDF
AWS SAMで始めるサーバーレスアプリケーション開発
PDF
2016-10-25 product manager conference 資料
PDF
ゼロからはじめるプロダクトマネージャー生活
Serverless Framework 使ってる話(node.js)
Vue.js 2.0 で自社プロダクトを SPA + SSR 化した話
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
20170210 jawsug横浜(AWSタグ)
AWS Step FunctionとLambdaでディープラーニングの訓練を全自動化する
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスの今とこれから
AWS SAMで始めるサーバーレスアプリケーション開発
2016-10-25 product manager conference 資料
ゼロからはじめるプロダクトマネージャー生活
Ad

Similar to SEO対策したサイトをAPI Gateway+Lambdaで作った話 (20)

PPTX
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
PPT
全てのWebディレクターに捧ぐ、 これだけは抑えて欲しい SEO内部要件基礎講座 (前編)
PDF
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
PDF
リンクに依存しないSEO内部改善のポイント forスクー
PDF
【20121124】word bench大阪
PPT
リンクは買わずに”集める SEOで本当に考えるべき、コンテンツと被リンクの話
PDF
My cordovaprojectstory
PDF
事業企画
PDF
エンタープライズSEOの課題と対応
PDF
Vip2 清水資料
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
PPT
ウェブマスターツールの使い方徹底講座
PDF
インハウスSEOの課題と対応
PDF
インハウスSEOの課題と対応_コメント付き
PPTX
NoSQL勉強会資料(2015/03/12@ヒカラボ )
PPTX
営業提案のためのGoogle analytics活用法
PDF
スクラムフェスタ大阪2024 私たちはなぜ事業責任者にならないといけないのか.pdf
PDF
SharePoint Online 開発の最初の一歩
PDF
フロントエンドエンジニアが知るべきFirebaseの世界
PDF
20240701_株式会社アイアクト:2025年新卒向け_企業説明会資料 .pdf
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
全てのWebディレクターに捧ぐ、 これだけは抑えて欲しい SEO内部要件基礎講座 (前編)
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
リンクに依存しないSEO内部改善のポイント forスクー
【20121124】word bench大阪
リンクは買わずに”集める SEOで本当に考えるべき、コンテンツと被リンクの話
My cordovaprojectstory
事業企画
エンタープライズSEOの課題と対応
Vip2 清水資料
スマホアプリ開発者のためのWeb api開発入門の入門
ウェブマスターツールの使い方徹底講座
インハウスSEOの課題と対応
インハウスSEOの課題と対応_コメント付き
NoSQL勉強会資料(2015/03/12@ヒカラボ )
営業提案のためのGoogle analytics活用法
スクラムフェスタ大阪2024 私たちはなぜ事業責任者にならないといけないのか.pdf
SharePoint Online 開発の最初の一歩
フロントエンドエンジニアが知るべきFirebaseの世界
20240701_株式会社アイアクト:2025年新卒向け_企業説明会資料 .pdf
Ad

SEO対策したサイトをAPI Gateway+Lambdaで作った話