» google_compute_backend_bucket

Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing.

An HTTP(S) load balancer can direct traffic to specified URLs to a backend bucket rather than a backend service. It can send requests for static content to a Cloud Storage bucket and requests for dynamic content a virtual machine instance.

To get more information about BackendBucket, see:

» Example Usage - Backend Bucket Basic

resource "google_compute_backend_bucket" "image_backend" {
  name        = "image-backend-bucket"
  description = "Contains beautiful images"
  bucket_name = "${google_storage_bucket.image_bucket.name}"
  enable_cdn  = true
}

resource "google_storage_bucket" "image_bucket" {
  name     = "image-store-bucket"
  location = "EU"
}

» Argument Reference

The following arguments are supported:

  • bucket_name - (Required) Cloud Storage bucket name.

  • name - (Required) Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.


  • cdn_policy - (Optional) Cloud CDN configuration for this Backend Bucket. Structure is documented below.

  • description - (Optional) An optional textual description of the resource; provided by the client when the resource is created.

  • enable_cdn - (Optional) If true, enable Cloud CDN for this BackendBucket.

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The cdn_policy block supports:

  • signed_url_cache_max_age_sec - (Optional) Maximum number of seconds the response to a signed URL request will be considered fresh. Defaults to 1hr (3600s). After this time period, the response will be revalidated before being served. When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.

» Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

» Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 4 minutes.
  • update - Default is 4 minutes.
  • delete - Default is 4 minutes.

» Import

BackendBucket can be imported using any of these accepted formats:

$ terraform import google_compute_backend_bucket.default projects/{{project}}/global/backendBuckets/{{name}}
$ terraform import google_compute_backend_bucket.default {{project}}/{{name}}
$ terraform import google_compute_backend_bucket.default {{name}}