- 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 Phone 8 Application Development Essentials
- 網(wǎng)絡(luò)操作系統(tǒng)教程:Windows Server 2016管理與配置
- Linux內(nèi)核觀測技術(shù)BPF
- 嵌入式系統(tǒng)及其應(yīng)用(第三版)
- Delphi Programming Projects
- 操作系統(tǒng)分析
- ElasticSearch Cookbook
- 計算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2016)
- Social Data Visualization with HTML5 and JavaScript
- Introduction to R for Quantitative Finance
- Hands-On GPU Programming with Python and CUDA
- Advanced Infrastructure Penetration Testing
- Learning BeagleBone
- Windows Vista終極技巧金典
- Hadoop Real-World Solutions Cookbook