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

ヒカルヒカル

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