UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

Fastly

【Fastly】サブスクリプションをキャンセルしたい

Fastlyのサブスクリプションのキャンセルをしたい FastlyのBilling Informationでは以下のようになっていて月$50払っている この並びの一番下を見ると以下のキャンセルについての記述があったので、サポートチケットを発行して依頼したが返事がなかった 調べ…

【Fastly】VCLの正規表現

FastlyのVCLの正規表現は何度も調べてしまうのでまとめておく VCL 正規表現早見表 | Fastly ヘルプガイド req.url == "/phrase" 完全一致 req.url ~ "phrase" 部分一致 req.http.host ~ "^www" 前方一致 req.url ~ "\.jpg$" 後方一致 req.url ~ "\.(png|jpg|…

【Fastly】サブドメインへのリダイレクト

すでにあるサイトのコンテンツの一部をサブドメインに移行したい すでにパスが公開されているのでリダイレクトなのでFastlyでどうやるのかを調べた まずは、DNSにてサブドメインを作成し、Fastlyではサービスとドメインを新たに作成する ドメインの設定 | Fa…

【Fastly】Set-Cookieの値の取得方法

beresp.http.Set-Cookie または resp.http.Set-Cookieの値は正規表現を使って取得していたが、安全に取り出せる関数があることを知ったのでメモ docs.fastly.com よく問題になるのが以下のようなSet-Cookieが複数あるレスポンスの場合 HTTP/1.1 200 OK Cache…

【Fastly】Next.jsをエッジで実行できるようにする

Fastlyのエッジ上でNext.jsが実行できるようになったという話 www.fastly.com @fastly/next-compute-jsをインストール $ npx @fastly/next-compute-js fastly compute serve コマンドを実行 $ cd compute-js $ fastly compute serve 本番公開する場合は以下…

【Fastly】テーブルを作りたい

FastlyのVCLでKVSテーブルを作りたい 作り方は以下に書かれていた developer.fastly.com テーブル キーは常に STRINGである必要があり、値は同じテーブル内ではすべて同じタイプである必要がある INIT table user_table { "key1": "value1", "key2": "value2…

【Fastly】queryの値を取得して変数にセットする

FastlyのVCLで、リクエストのqueryの値を変数にセットしたい VCLでクエリを取得する方法はquerystring.getを使う STRING querystring.get(STRING url, STRING name) developer.fastly.com ユーザー定義の変数を使う場合は以下のように定義する declare local…

【Fastly】Accept-Languageヘッダの値を取得したい

FastlyのVCLでAccept-Languageを取得したい Accept-Languageの取得は accept.language_lookup を使うとよさそう developer.fastly.com 構文 STRING accept.language_lookup(STRING requested_languages, STRING default, STRING accept_header) 引数は以下を…

【Fastly】 GAEのトランザクション分割を利用してA/Bテストを行う

GAEのトランザクション分割を利用してA/Bテストを行う方法を考えた uga-box.hatenablog.com ただ、間にFastlyがある場合、何も考えずにオリジンサーバーで表示パターンを切り替えると、A/Bのどちらか 1 つが Fastlyにキャッシュされてしまうので、キャッシュ…

【Fastly】ABテストを考える(その2)

WebサービスのエッジにhtmlをキャッシュするためにFastlyを導入している 前回の続きで、そのFastlyのVCLを使ってABテストを行いたい uga-box.hatenablog.com VCLでやりたいこと A/Bパターンをランダムで振り分ける 振り分けたパラメータをヘッダに載せてset-…

【Fastly】ABテストを考える

レスポンスの HTML をキャッシュしている環境でABテストを行いたい ただ、何も考えずにオリジンサーバーで表示パターンを切り替えると、ABのどちらか 1 つが CDN Edge にキャッシュされてしまうので、キャッシュ期限が切れるまで固定化されてしまう そこでCD…

【Fastly】SWRと一緒に使った場合のCDNキャッシュ

SWRの期間もCDN(Fastly)のキャッシュを使う場合はどうするべきかの話を聞いたので整理する stale-while-revalidate(SWR)を使うとmax-ageの期限が切れた状態でも、しばらくそのままキャッシュを利用し、かつ、裏で非同期でデータをフェッチさせておくこと…

【Fastly】Fastly と ブラウザに異なるキャッシュルールを適用する

例えば、Cache-Control: max-age=3000を指定した場合、Fastly のキャッシュサーバー、Fastly とブラウザ間のキャッシュサーバー、およびブラウザ自体がこのヘッダーに従う 自分のリソースを Fastly に永久的にキャッシュさせたいが、ブラウザがそのリソース…

【Fastly】オリジンシールド

Fastlyのオリジンシールドについて調査 docs.fastly.com オリジンシールドとは オリジンシールドとはオリジンサーバーに対して、必ず経由するPOP(Point of Presence:配信拠点)をいずれか1つ指定することができる機能 設定することで、オリジンサーバーへ…

【Fastly】 共有TLSの提供終了について調べてみた

PKI/認証局の団体であるCA/Browser Forum(CAブラウザーフォーラム)で採用されているセキュリティ標準の改善により、TLS証明書を要求する際のドメイン検証に使用されるランダム値の有効期間が30日間のローリングウィンドウに短縮されたらしい 30日間のローリ…

【Fastly】Varnishとは? - Varnishを使用する利点

Fastlyを利用しているが、そのFastlyが利用しているVanishというOSSについてよく知らなかったので調べてみた Fastlyの公式ドキュメントでVarnishを使用する利点について書かれていたので以下のドキュメントをまとめる www.fastly.com Varnishとは? Fastlyの…

【Fastly】キャッシュ設定

Fastly でキャッシュをコントロールする方法を調べた docs.fastly.com Surrogate-Control Fastly のキャッシュサーバー上に 1 時間キャッシュされる 形式: Surrogate-Control: max-age=(time in seconds) 例: Surrogate-Control: max-age=3600 Cache-Control…