Open6
Google/CloudRun, CloudStorage, CloudBuild, ロードバランサ, KMS
Google/CloudRun のキャッシュについて
- デフォルトではキャッシュされない
- デベロッパーが指定できる
ただし、Cloud Functions サービスと Cloud Run サービスはコンテンツを動的に生成するため、特定の URL に対応するコンテンツは、ユーザーが入力した情報やユーザー ID などに応じて変わります。これを考慮するため、バックエンド コードによって処理されるリクエストは、デフォルトでは CDN でキャッシュに保存されません。
ただし、動的コンテンツのキャッシュの動作はユーザーが構成できます。 たとえば、ある関数が新しいコンテンツを定期的に生成する場合は、生成されたコンテンツを少なくとも短期間キャッシュに保存することでアプリを高速化できます。
res.set('Cache-Control', 'public, max-age=300, s-maxage=600');
疑問。あとで調べたい
-
Google/CloudBuild
上でnpm
とyarn
でビルド速度にどの程度差が出るのか?
Firebase/CloudStorage の高速化について
- Firebase/CloudStorage 経由のアクセスが遅い
- GCP/Storage 側で権限設定に
allUsers
メンバーを追加してStorageオブジェクト閲覧者
権限を指定する -
https://storage.googleapis.com/<your-project-id>.appspot.com/<your-file>
でアクセスする
GCP ロードバランサーでリバースプロキシ的なことはできる?
解:できそう。
ロードバランサの設定反映時間
反映されるまでに数分かかることがある。
外部 HTTP(S) ロードバランサに関連付けられているバックエンド サービスへの変更は瞬時には行われません。変更内容がネットワーク全体に反映されるまでに数分かかることがあります。
GCP KMS を使った暗号化と復号化
GCP -> セキュリティ -> 暗号鍵
にて キーリング(keyring)
と 鍵(key)
を作成しておく。
# 暗号化
> gcloud kms encrypt --plaintext-file=./serviceAccountKey.json --ciphertext-file=./serviceAccountKey.json.enc --location=global --keyring=project-keyring --key=service-account-key-json-cred
# 復号化
> gcloud kms decrypt --plaintext-file=./serviceAccountKey.json --ciphertext-file=./serviceAccountKey.json.enc --location=global --keyring=project-keyring --key=service-account-key-json-cred