Nuxt.jsをGAEにSSRとしてデプロイする際の注意点
Nuxt.jsをGAEにSSRとしてデプロイする際の注意点:
先日、GAEがNode.js 10に対応に対応されました。
https://cloud.google.com/appengine/docs/standard/nodejs/
Qiita記事を見ると、Nuxt.jsをGAEにデプロイする際の
以下のapp.ymlにするとある程度のメモリ不足は回避出来ます。
app.ymlに関する情報はこちらに記載されています。
https://cloud.google.com/appengine/docs/standard/nodejs/config/appref
Nuxt.js v2だと思いますので、
Nuxt.jsでSSRする際はデフォルトのインスタンス
詳しい料金表はこちらです。
https://cloud.google.com/appengine/pricing
handlersオプションを使用して、静的ファイルをCDN配信する事が出来ます。
※ここ凄い重要です。
handlersについて
https://cloud.google.com/appengine/docs/standard/python/config/appref#handlers_element
これでも厳しいって方は
https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements
はじめに
先日、GAEがNode.js 10に対応に対応されました。https://cloud.google.com/appengine/docs/standard/nodejs/
Qiita記事を見ると、Nuxt.jsをGAEにデプロイする際の
app.yml
ファイルの記述が単純でそのままSSRとしてデプロイしてしまうとすぐにメモリ不足で落ちて500エラーとなります。app.yaml
runtime: nodejs8 env: standard
解決方法
以下のapp.ymlにするとある程度のメモリ不足は回避出来ます。app.ymlに関する情報はこちらに記載されています。
https://cloud.google.com/appengine/docs/standard/nodejs/config/appref
app.yaml
runtime: nodejs10 instance_class: F2 handlers: - url: /_nuxt static_dir: .nuxt/dist/client - url: /(.*\.(gif|png|jpg|ico|txt))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg|ico|txt)$ - url: /.* script: auto secure: always
app.ymlの記述について
runtime
Nuxt.js v2だと思いますので、nodejs10
にしましょう。
instance_class
Nuxt.jsでSSRする際はデフォルトのインスタンスF1
だと厳しいので F2
にしましょう。詳しい料金表はこちらです。
https://cloud.google.com/appengine/pricing
handlers
handlersオプションを使用して、静的ファイルをCDN配信する事が出来ます。※ここ凄い重要です。
handlersについて
https://cloud.google.com/appengine/docs/standard/python/config/appref#handlers_element
これでも厳しいって方は
scaling_elements
等を設定して試行錯誤する必要があると思います。https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements
コメント
コメントを投稿