- Implementing Cloud Design Patterns for AWS(Second Edition)
- Sean Keery Clive Harber Marcus Young
- 244字
- 2021-06-24 15:11:59
Hierarchical storage management
S3 can be configured to use global or local buckets. Investigate your latency requirements before choosing the global option. You can use replication to synchronize your objects across regions if eventual consistency is acceptable—the following code sample shows how this might be achieved, but should not be used verbatim:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetReplicationConfiguration",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"${aws_s3_bucket.bucket.arn}"
]
},
-----------------------------------------------------------------------
resource "aws_iam_policy_attachment" "replication" {
name = "tf-iam-role-attachment-replication-12345"
roles = ["${aws_iam_role.replication.name}"]
policy_arn = "${aws_iam_policy.replication.arn}"
}
resource "aws_s3_bucket" "destination" {
bucket = "tf-test-bucket-destination-12345"
region = "us-west-1"
versioning {
enabled = true
}
}
-----------------------------------------------------------------------
replication_configuration {
role = "${aws_iam_role.replication.arn}"
rules {
id = "foobar"
prefix = "foo"
status = "Enabled"
destination {
bucket = "${aws_s3_bucket.destination.arn}"
storage_class = "STANDARD"
}
}
}
}
The complete version of the preceding code block can be found in the GitHub page: https://github.com/PacktPublishing/Implementing-Cloud-Design-Patterns-for-AWS-Second-Edition/tree/master/Chapter03.
Storage life cycle policies can also be attached to your buckets, which will move infrequently accessed object to less available and more inexpensive storage:
resource "aws_s3_bucket" "versioning_bucket" {
bucket = "my-versioning-bucket"
acl = "private"
versioning {
enabled = true
}
lifecycle_rule {
prefix = "config/"
enabled = true
noncurrent_version_transition {
days = 30
storage_class = "STANDARD_IA"
}
noncurrent_version_transition {
days = 60
storage_class = "GLACIER"
}
noncurrent_version_expiration {
days = 90
}
}
}
Remember that, even though read speeds and bandwidth decrease with lower storage classes, object durability remains very high (such as ten nines).
推薦閱讀
- Windows Server 2012 Hyper-V:Deploying the Hyper-V Enterprise Server Virtualization Platform
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- 網絡操作系統:Windows Server 2003管理與應用
- 高性能Linux服務器構建實戰:運維監控、性能調優與集群應用
- 計算機系統開發與優化實戰
- Linux網絡內核分析與開發
- RESS Essentials
- 數據中心系統工程及應用
- 巧學活用Windows 7
- 網絡操作系統教程:Windows Server 2016管理與配置
- Application Development in iOS 7
- 從實踐中學習Kali Linux無線網絡滲透測試
- Linux操作系統
- Heroku Cloud Application Development
- Mastering Windows 8 C++ App Development