DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

BucketPolicy – Phục hồi sau thảm họa (DR), S3 Replication trong AWS S3

Hiếu Tạ by Hiếu Tạ
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

Ở bài trước chúng ta đã tìm hiểu sơ qua việc hosting website tĩnh lên S3 như nào. Bài này sẽ đi vào 1 website thật, theo chân mình để đi sâu hơn 1 tý về S3 nhé như Bucket Policy, Versionning, DR,..

Tổng quan và mục tiêu lab

Trong lab này, bạn sử dụng Amazon Simple Storage Service (Amazon S3) để xây dựng một trang web tĩnh và triển khai các phương pháp hay nhất về kiến ​​trúc để bảo vệ và quản lý dữ liệu của bạn.
Sau khi hoàn thành lab này, bạn sẽ có thể:

  • Lưu trữ một trang web tĩnh bằng cách sử dụng Amazon S3
  • Triển khai một cách để bảo vệ dữ liệu của bạn với Amazon S3
  • Triển khai chiến lược khôi phục thảm họa (DR) trong Amazon S3.
    Ở cuối lab này, kiến trúc của bạn sẽ giống như ví dụ sau:

Public website thông qua Bucket Policy

Task 1: Hosting website thông qua source code có sẵn

Trong task này, bạn sẽ trích xuất các tệp mà bạn cần để tạo trang web tĩnh.

  1. Download the .zip file bạn cần cho lab này qua repo Github của mình.
  2. Trên máy tính của bạn, giải nén các tập tin. Lưu ý rằng bạn có tệp index.html và hai thư mục chứa Cascading Style Sheets (CSS) và tệp hình ảnh.

Task 2: Tạo S3 bucket để hosting static web

Trong task này bạn sẽ tạo 1 s3 bucket và hosting website, làm tương tự ở bài viết S3 – Guiled Lab lần trước. Lưu ý các điểm sau.

Related Post

Đổi MTU cho Calico trong Kubernetes

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025
Tắt NLA trên Amazon EC2 Windows instance

Tắt NLA trên Amazon EC2 Windows instance

30 Tháng 4, 2025

Demo Tích Hợp Vault trong Kubernetes

30 Tháng 4, 2025

Setup FTP Server on Amazon Linux 2

30 Tháng 4, 2025
  • Tạo bucket ở region N. Virginia (us-east-1).
  • Bạn phải disable Block all public access.
  • Kích hoạt tính năng lưu trữ trang web tĩnh trên bucket của bạn

Task 3: Tạo bucket policy để grant public read access

  1. Tạo chính sách nhóm cấp quyền read-only cho người dùng ẩn danh công khai bằng cách sử dụng trình chỉnh sửa Bucket Policy

Task 4: Bật chế độ versioning trên S3 bucket

Task 5: Cài đặt bucket policies

Thực thi câu lệnh dưới đây để public website thong qua bucket policy

aws s3api put-bucket-policy –bucket rmit-test312 –policy “{

  “Version”: “2012-10-17”,

  “Statement”: [

      {

          “Sid”: “PublicReadGetObject”,

          “Effect”: “Allow”,

          “Principal”: “*”,

          “Action”: “s3:GetObject”,

          “Resource”: “arn:aws:s3:::rmit-test312/*”

      }

  ]

}”

Enhancing durability và lên kế hoạch cho phục hồi sau thảm họa (DR)

Để bảo vệ các tệp tĩnh của trang web khỏi bị vô tình ghi đè hoặc xóa. Bạn có thể sao chép giữa các region là một tính năng khác của Amazon S3 mà bạn cũng có thể sử dụng để sao lưu và lưu trữ dữ liệu quan trọng. Theo Well-Architected Framework, khởi đầu cho chiến lược DR của bạn là có sẵn các bản sao lưu và các thành phần khối lượng công việc dự phòng. Bạn nên sử dụng AWS hoặc các công cụ của bên thứ ba để tự động khôi phục hệ thống và định tuyến lưu lượng truy cập đến trang hoặc Khu vực DR.

Task 6: Tạo bucket đích

aws s3api create-bucket –bucket rmit-test312-us-west1 –region us-west-1 –create-bucket-configuration LocationConstraint=us-west-1

Task 7: Enable versioning trên bucket đích.

aws s3api put-bucket-versioning –bucket rmit-test312-us-west1 –versioning-configuration Status=Enabled 

Task 8: Tạo IAM role. Role này sẽ được assumed bởi S3 để sao chép các đối tượng.

  • Sao chép policy bên dưới và lưu nó vào tệp có tên s3-trust-policy.json.

{

  “Version”: “2012-10-17”,

  “Statement”: [

    {

      “Effect”: “Allow”,

      “Principal”: {

        “Service”: “s3.amazonaws.com”

      },

      “Action”: “sts:AssumeRole”

    }

  ]

} 

  • Tạo role bằng lệnh bên dưới.

aws iam create-role –role-name S3replicationRole –assume-role-policy-document file://s3-trust-policy.json

  • Sao chép policy bên dưới và lưu nó vào tệp có tên s3-role-perms.json, thay thế tên bucket nguồn và tên bucket đích thành bucket nguồn và bucket đích của bạn.

{

  “Version”: “2012-10-17”,

  “Statement”: [

    {

      “Effect”: “Allow”,

      “Action”: [

        “s3:GetObjectVersionForReplication”,

        “s3:GetObjectVersionAcl”,

        “s3:GetObjectVersionTagging”

      ],

      “Resource”: [“arn:aws:s3:::rmit-test312/*”] 

    },

    {

      “Effect”: “Allow”,

      “Action”: [“s3:ListBucket”, “s3:GetReplicationConfiguration”],

      “Resource”: [“arn:aws:s3:::rmit-test312”]

    },

    {

      “Effect”: “Allow”,

      “Action”: [

        “s3:ReplicateObject”,

        “s3:ReplicateDelete”,

        “s3:ReplicateTags”

      ],

      “Resource”: “arn:aws:s3:::rmit-test312-us-west1/*” 

    }

  ]

} 

  • Tạo và đính kèm policy cho role bằng lệnh bên dưới

aws iam put-role-policy –role-name S3replicationRole –policy-document file://s3-role-perms.json –policy-name S3replicationRolePolicy

Task 9: Thêm cấu hình sao chép object vào bucket nguồn.

{

  “Role”: “arn:aws:iam::668711278733:role/S3replicationRole”,

  “Rules”: [

    {

      “Status”: “Enabled”,

      “Priority”: 1,

      “DeleteMarkerReplication”: { “Status”: “Disabled” },

      “Filter”: { “Prefix”: “” },

      “Destination”: {

        “Bucket”: “arn:aws:s3:::rmit-test312-us-west1”

      }

    }

  ]

}

  • Thêm cấu hình sao chép bằng lệnh bên dưới, thay thế tên bucket nguồn thành bucket nguồn của bạn.

aws s3api put-bucket-replication –replication-configuration file://replicationConf.json –bucket rmit-test312

Task 10: Test thử

  • Truy xuất bản sao bằng lệnh bên dưới, thay thế tên bucket nguồn

aws s3api get-bucket-replication –bucket rmit-test312

Bạn sẽ lên bucket nguồn thử update hay thêm 1 object và mở bucket đích xem kết quả nhé. Ngoài ra chúng ta ban đầu muốn tất cả object từ nguồn sang đích cách bạn có thể sync qua câu lệnh sau
aws s3 sync  s3://DOC-EXAMPLE-BUCKET-SOURCE s3:// DOC-EXAMPLE-BUCKET-TARGET –source-region SOURCE-REGION-NAME –region DESTINATION-REGION-NAME

Chúc các bạn thành công!!!

Tags: builddisaster recoveryhướng dẫnlifecycles3
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

Đổi MTU cho Calico trong Kubernetes
DevOps & Cloud

Đổi MTU cho Calico trong Kubernetes

by Hiếu Tạ
30 Tháng 4, 2025
Tắt NLA trên Amazon EC2 Windows instance
DevOps & Cloud

Tắt NLA trên Amazon EC2 Windows instance

by Hiếu Tạ
30 Tháng 4, 2025
Demo Tích Hợp Vault trong Kubernetes
DevOps & Cloud

Demo Tích Hợp Vault trong Kubernetes

by Hiếu Tạ
30 Tháng 4, 2025
Next Post
Sử dụng AWS SNS nhận mail khi có update hoặc delete trên static web hosting AWS S3

Sử dụng AWS SNS nhận mail khi có update hoặc delete trên static web hosting AWS S3

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Cài đặt Grafana – Loki – Promtail monitoring log Container

Cài đặt Grafana – Loki – Promtail monitoring log Container

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify