Open6

Google/CloudRun, CloudStorage, CloudBuild, ロードバランサ, KMS

Google/CloudRun のキャッシュについて

  • デフォルトではキャッシュされない
  • デベロッパーが指定できる

ただし、Cloud Functions サービスと Cloud Run サービスはコンテンツを動的に生成するため、特定の URL に対応するコンテンツは、ユーザーが入力した情報やユーザー ID などに応じて変わります。これを考慮するため、バックエンド コードによって処理されるリクエストは、デフォルトでは CDN でキャッシュに保存されません。

ただし、動的コンテンツのキャッシュの動作はユーザーが構成できます。 たとえば、ある関数が新しいコンテンツを定期的に生成する場合は、生成されたコンテンツを少なくとも短期間キャッシュに保存することでアプリを高速化できます。

https://firebase.google.com/docs/hosting/manage-cache?hl=ja
res.set('Cache-Control', 'public, max-age=300, s-maxage=600');

疑問。あとで調べたい

  1. Google/CloudBuild 上で npmyarn でビルド速度にどの程度差が出るのか?

Firebase/CloudStorage の高速化について

  • Firebase/CloudStorage 経由のアクセスが遅い
  • GCP/Storage 側で権限設定にallUsersメンバーを追加してStorageオブジェクト閲覧者権限を指定する
  • https://storage.googleapis.com/<your-project-id>.appspot.com/<your-file> でアクセスする

https://qiita.com/qrusadorz/items/4a8e62c20bc788ab0585

ロードバランサの設定反映時間

反映されるまでに数分かかることがある。

外部 HTTP(S) ロードバランサに関連付けられているバックエンド サービスへの変更は瞬時には行われません。変更内容がネットワーク全体に反映されるまでに数分かかることがあります。

https://cloud.google.com/load-balancing/docs/https/index?hl=ja&refresh=1

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
ログインするとコメントできます