Add a Google Cloud CDN in front of the Registry service
DRI: @jarv ## Status 2022-01-28 CDN switchover complete ## Overview To save on costs we would like put a Google Cloud CDN in front of Registry storage bucket. - Cloud storage egress pricing https://cloud.google.com/storage/pricing : `$0.08/GB` - CDN cached egress pricing: `$0.02/GB` Instead of clients receiving a pre-signed URL to fetch objects directly from Google Object Storage, they will fetch them from the CDN as described in https://gitlab.com/groups/gitlab-org/-/epics/7212#note_783527197 ## Team members in Reliability assigned to these issues - @jarv - @ahmadsherif ## Status - **2022-01-06**: Scoping the work and adding issues to the Epic - **2022-01-06**: Started to provision preprod for validation - **2022-01-07**: We have validated preprod and are reviewing Terraform changes that can be used for other environments. - **2022-01-11**: All infrastructure is deployed on Staging and Preprod and signed URLs have been tested in both environments. Next we will perform end-to-end testing in Pre. - **2022-01-14**: CDN is fully enabled on Staging and PreProd and has been verified with end-to-end tests. - **2022-01-18**: Starting production build out and readiness review - **2022-01-26**: Enabling the CDN in Production - **2022-01-28**: CDN switchover complete The following environments will be updated to use the Cloud CDN for Registry: - [x] Preprod - [x] Staging - [x] Production ## 🚫 Blockers | Blockers | | --- | ## :book: References 1. https://medium.com/cognite/configuring-google-cloud-cdn-with-terraform-ab65bb0456a9 1. https://cloud.google.com/cdn/docs/cdn-terraform-examples 1. Generate a Google CDN signing key (https://cloud.google.com/cdn/docs/using-signed-urls). ``` /label ~"team::Reliability" ~"rapid action" ~"rapid action::reduce ci costs" /epic gitlab-com/gl-infra&657 ```
epic