Terraform, инструмент с открытым исходным кодом «инфраструктура как код» (IaC), приобрел популярность благодаря своей способности автоматизировать предоставление облачных ресурсов и управление ими. В этой статье мы рассмотрим различные методы использования Terraform с AWS S3, а также приведем примеры кода, которые помогут вам использовать возможности IaC в вашей облачной инфраструктуре.
Метод 1: базовое создание сегмента S3
Пример кода:
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
acl = "private"
}
Метод 2: добавление тегов в сегменты S3
Пример кода:
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
acl = "private"
tags = {
Name = "My Bucket"
Environment = "Production"
}
}
Метод 3. Включение управления версиями для сегментов S3
Пример кода:
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
acl = "private"
versioning {
enabled = true
}
}
Метод 4. Настройка CORS для сегментов S3
Пример кода:
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
acl = "private"
cors_rule {
allowed_headers = ["*"]
allowed_methods = ["GET", "POST"]
allowed_origins = ["https://example.com"]
expose_headers = ["ETag"]
max_age_seconds = 3000
}
}
Метод 5. Добавление правил жизненного цикла в сегменты S3
Пример кода:
resource "aws_s3_bucket" "my_bucket" {
bucket = "my-bucket"
acl = "private"
lifecycle_rule {
id = "expire_old_files"
status = "Enabled"
transition {
days = 30
storage_class = "GLACIER"
}
expiration {
days = 365
}
}
}