本文介绍了如何使用Terraform创建一个存储空间,并设置存储空间属性用来控制静态网站托管、日志、生命周期等。
操作步骤
- 创建一个Bucket。
- 创建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"
}
- 运行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.
- 设置Bucket属性。
- 创建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"]
}
}
- 运行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.