本文介绍了如何使用Terraform创建一个存储空间,并设置存储空间属性用来控制静态网站托管、日志、生命周期等。

前提条件

在开始之前,请您确保完成以下操作:

操作步骤

  1. 创建一个Bucket。
    1. 创建terraform.tf文件,输入以下内容,并保存在当前执行的目录中。
      说明 需要为每个Terraform项目创建一个独立的执行目录。
      provider "alicloud" {
        alias  = "bj-prod"
        region = "cn-beijing"
      }
      
      resource "alicloud_oss_bucket" "bucket-new" {
        provider = alicloud.bj-prod
      
        bucket = "bucket-20200310-1"
        acl    = "public-read"
      }
    2. 运行terraform apply开始创建。出现类似下面的日志,则表示创建成功。
      alicloud_oss_bucket.bucket-new: Creating...
      alicloud_oss_bucket.bucket-new: Creation complete after 2s [id=bucket-20200310-1]
      
      Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
  2. 设置Bucket属性。
    1. 创建resource.tf文件,输入以下内容,并保存在当前执行的目录中。
      说明 该目录下所有*.tf 文件都会被terraform自动加载。因此,用户可以按照实际用途将配置信息写入不同的文件中。
      resource "alicloud_oss_bucket" "bucket-attr" {
        provider = alicloud.bj-prod
      
        bucket = "bucket-20200310-2"
        # 静态网站的默认首页和404页面
        website {
          index_document = "index.html"
          error_document = "error.html"
        }
        # 访问日志的存储路径
        logging {
          target_bucket = alicloud_oss_bucket.bucket-new.id
          target_prefix = "log/"
        }
        # 文件生命周期
        lifecycle_rule {
          id      = "expirationByDays"
          prefix  = "path/expirationByDays"
          enabled = true
      
          expiration {
            days = 365
          }
        }
      
        lifecycle_rule {
          id      = 365
          prefix  = "path/365"
          enabled = true
      
          expiration {
            date = "2021-04-10"
          }
        }
        # 防盗链设置
        referer_config {
          allow_empty = true
          referers    = ["http://www.aliyun.com", "https://www.aliyun.com", "http://?.aliyun.com"]
        }
      }
    2. 运行terraform apply开始配置Bucket的属性。出现类似下面的日志,说明配置成功。
      alicloud_oss_bucket.bucket-attr: Creating...
      alicloud_oss_bucket.bucket-attr: Creation complete after 2s [id=bucket-20200310-2]
      
      Apply complete! Resources: 1 added, 0 changed, 0 destroyed.