Làm cách nào để lên lịch các ảnh chụp nhanh tự động (hàng ngày) của Sơ đồ Windows AWS EC2?


12

Tôi có một số máy chủ Windows được lưu trữ trên Amazon EC2. Một số chạy Windows Server 2003 và khác chạy Windows Server 2008. Đây là những phiên bản được EBS hỗ trợ. Hầu hết các trường hợp cũng có một số tập EBS bổ sung được đính kèm.

Chúng tôi muốn lên lịch chụp ảnh nhanh hàng ngày của các máy windows (và cả các tập EBS đính kèm) đến S3 để chúng tôi có bản sao lưu hàng ngày.

Người ta sẽ nghĩ rằng đây là một yêu cầu rất phổ biến và sẽ được cung cấp thông qua Bảng điều khiển quản lý AWS, nhưng than ôi, không phải vậy. Những cách tiếp cận có sẵn? Làm cách nào để lên lịch chụp ảnh nhanh hàng ngày trên Máy chủ Windows của chúng tôi?

Có một số ví dụ về kịch bản có sẵn trực tuyến cho Linux, nhưng không nhiều cho các cửa sổ. Tôi đã xem http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html cũng như https://github.com/ronmichael/aws-snapshot- lập lịch . Có ai đã sử dụng một trong những cách tiếp cận này và nó có hiệu quả không?

Tôi cũng đã xem xét một dịch vụ như Skeddly thoạt nhìn có vẻ không tốn kém nhưng khi bạn nhìn vào việc sử dụng nó cho một số máy chủ, giá sẽ sớm leo thang đến mức có vẻ như là một lựa chọn tốt hơn để tạo ra giải pháp của riêng bạn khi bạn có thể áp dụng nó cho máy chủ mới trong tương lai. Với Skeddly, chúng tôi sẽ trả tiền cho mỗi máy chủ.

Làm thế nào để chúng tôi lên lịch chụp nhanh hàng ngày của các trường hợp cửa sổ của chúng tôi?

Câu trả lời:


9

Amazon Web Services gần đây đã công bố các công cụ dòng lệnh PowerShell cho Windows và nó được đóng gói cùng với AWS Tools cho .NET SDK của họ .

Các công cụ AWS Powershell giúp tạo ảnh chụp nhanh khá dễ dàng:

New-EC2Snapshot "vol-371acd04" -Description "My Snapshot"

Và bạn có thể truy vấn ảnh chụp nhanh của bạn như thế này:

PS C:\Program Files (x86)\AWS Tools\PowerShell> Get-EC2Snapshot | more


SnapshotId  : snap-18be2b28
VolumeId    : vol-371acd04
Status      : completed
StartTime   : 2012-12-28T08:17:00.000Z
Progress    : 100%
OwnerId     : 383816850479
VolumeSize  : 30
Description : My Snapshot
OwnerAlias  :
Tag         : {}

Hãy chắc chắn rằng bạn đã cài đặt các công cụ Powershell AWS và chỉ cần tạo một tác vụ theo lịch trình sử dụng tập lệnh powershell tương tự như đoạn trích ở trên để lên lịch cho các ảnh chụp nhanh của bạn và bạn sẽ ổn.

Đã cập nhật để truy vấn cho khối lượng EBS đính kèm:

Để truy vấn các khối EBS được đính kèm với cá thể của bạn và sau đó chụp nhanh từng khối, bạn có thể làm một cái gì đó như thế này:

# Find my instance ID from the EC2 metadata
$myInstanceID = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")

# Query for volumes that are attached to my Instance Id
$volumes = (Get-EC2Volume).Attachment | where {$_.InstanceId -eq $myInstanceID } | Select VolumeId

# Iterate through these volumes and snapshot each of them
foreach ($volume in $volumes)
{
    New-EC2Snapshot $volume.VolumeId -Description "My Snapshot"
}

Cảm ơn rât nhiều. Đây dường như là những gì tôi đang tìm kiếm. Xin vui lòng chỉ làm rõ: có vẻ như lệnh New-EC2Snapshot sẽ chỉ chụp ảnh nhanh của một âm lượng cụ thể. Trong trường hợp của tôi, tôi có Instance và nó cũng có một số tập EBS kèm theo. Làm cách nào để tôi có một ảnh chụp nhanh toàn bộ phiên bản bao gồm cả thiết bị gốc và khối lượng EBS đính kèm?
Stanley

@Stanley được cập nhật để truy vấn các khối EBS được đính kèm với cá thể của bạn và chụp nhanh từng cái
Ameer Deen

Tôi hiểu rôi, cảm ơn bạn. Điều đó có nghĩa là sẽ có ảnh chụp nhanh riêng cho từng tập. Tôi chỉ muốn hiểu hàm ý của điều này: Trong trường hợp thất bại, tôi sẽ đưa ra một ví dụ thay thế như thế nào? Các ảnh chụp nhanh cho âm lượng gốc EBS và các khối EBS được gắn riêng lẻ sẽ được tách riêng. Làm thế nào tôi có thể đưa ra một phiên bản thay thế với các ổ đĩa được gắn từ các ảnh chụp nhanh khác nhau?
Stanley

Tại sao bạn không thể thiết lập điều này thông qua bảng điều khiển EC2? Đối với những người không quá tự tin với các kịch bản?
leen3o

5

Cập nhật 2018 Kể từ cuối năm 2018, có hai cách bổ sung để tự động hóa ảnh chụp nhanh EBS. Tôi vẫn sử dụng phương thức ban đầu của các sự kiện CloudWatch vì nó hoạt động tốt trong nhiều năm và tôi thấy không có điểm nào thay đổi.

Máy tự động Ops (OA)

Ops Automator là một tập lệnh lambda rất linh hoạt do AWS cung cấp. Nó được triển khai với mẫu CloudWatch trên trang ở trên.

Đó là các bước thiết lập là

  1. Mẫu AWS CloudFormation khởi chạy khung lõi, bao gồm một bộ microservice (các hàm AWS Lambda) để quản lý các sự kiện kích hoạt, lựa chọn tài nguyên, thực thi tác vụ, kiểm soát đồng thời và hoàn thành.
  2. Dữ liệu cấu hình tác vụ, xác định sự kiện kích hoạt, cách thực hiện tác vụ, tài nguyên nào sẽ được chọn bởi các hành động và vị trí của các tài nguyên này, được lưu trữ trong bảng Amazon DynamoDB.
  3. Các mẫu AWS CloudFormation do giải pháp tạo cấu hình các tác vụ dựa trên các tham số bạn xác định và các vai trò cần thiết để thực hiện các hành động trên các tài khoản.
  4. Giải pháp theo dõi tất cả các bước trong quy trình, tài nguyên đã chọn và kết quả của các hành động, bao gồm các lỗi có thể xảy ra, trong bảng DynamoDB.
  5. Giải pháp cũng tận dụng Nhật ký Amazon CloudWatch để ghi nhật ký. Thông báo lỗi và thông báo lỗi được xuất bản cho chủ đề Dịch vụ thông báo đơn giản Amazon (Amazon SNS) do giải pháp tạo để gửi tin nhắn đến địa chỉ email đã đăng ký.

Trình quản lý vòng đời dữ liệu (DLM)

Tài liệu DLM . Đây là một giải pháp đơn giản nhưng kém linh hoạt hơn, có thể sao lưu âm lượng cứ sau 12 hoặc 24 giờ. Tôi bối rối tại sao AWS đưa giới hạn này vào DLM - hàng tuần, hàng tháng hoặc tần số thay đổi sẽ dễ dàng thực hiện.

DLM được tích hợp vào bảng điều khiển AWS. Tôi sẽ không sao chép và dán tài liệu vì AWS giúp mọi thứ được cập nhật tốt và các liên kết hiếm khi bị hỏng.

Kể từ năm 2019 DLM cho phép bạn chỉ định các khoảng thời gian ngắn hơn xuống còn hai giờ, nhưng vẫn không cho phép bạn chỉ định các khoảng thời gian hơn 24 giờ.

Cập nhật 2017

Kể từ năm 2017, có một cách khác để tạo ảnh chụp nhanh thông thường - sử dụng Sự kiện Cloudwatch .

Điều này cho phép bạn lên lịch chụp nhanh, nhưng nó không giải quyết được vấn đề về âm lượng đang sử dụng, vì vậy đây chỉ là một giải pháp một phần. Có thể có một cách sử dụng Sự kiện CloudWatch để kích hoạt thứ gì đó làm giảm âm lượng.

  1. Mở bảng điều khiển CloudWatch tại https://console.aws.amazon.com/cloudwatch/ .

  2. Trong ngăn điều hướng, chọn Sự kiện.

  3. Chọn Tạo quy tắc.

  4. Đối với Nguồn sự kiện, hãy làm như sau:

    -> Chọn lịch trình.

    -> Chọn Tỷ lệ cố định và chỉ định khoảng thời gian lịch biểu (ví dụ: 5 phút). Hoặc, chọn biểu thức Cron và chỉ định biểu thức Cron (ví dụ: cứ sau 15 phút từ thứ Hai đến thứ Sáu, bắt đầu từ thời điểm hiện tại).

  5. Đối với Mục tiêu, chọn Thêm mục tiêu và sau đó chọn EC2 Tạo cuộc gọi API chụp nhanh.

  6. Đối với ID âm lượng, chọn âm lượng EBS.

  7. Chọn cấu hình chi tiết.

  8. Đối với định nghĩa Quy tắc, nhập tên và mô tả cho quy tắc.

  9. Đối với quyền AWS, chọn tùy chọn để tạo vai trò mới. Điều này sẽ mở giao diện điều khiển IAM trong một tab mới. Vai trò mới cấp quyền cho mục tiêu tích hợp để truy cập tài nguyên thay mặt bạn. Chọn cho phép. Các tab với cửa sổ IAM đóng lại.

  10. Chọn Tạo quy tắc.


Giải pháp miễn phí, đơn giản và bản địa cho aws.
Vlastimil Ovčáčík

1
Trình quản lý vòng đời hiện cho phép bất kỳ tần số 2/3/4/6/8/12/24 giờ.
Dan Pritts

3

Nhảy vào một câu trả lời cũ khiến tôi không thể tìm kiếm. Kudos to Ameer Deen ở trên cho các kịch bản, btw.

Đã tìm thấy bài đăng này đi sâu hơn nhiều vào các tập lệnh PowerShell để tự động hóa hoàn toàn quy trình chụp nhanh dữ liệu và EBS:

http://migator.com/aws-disaster-recovery-automation-w-powershell/

Sau đó, tất nhiên phát hiện ra rằng tất cả chúng đều được viết cho v1.0 đã bị mất giá của SDK AWS, vì vậy tôi đã dành ngày cuối cùng để sửa nó và khiến tất cả chúng hoạt động với v2.0:

https://github.com/noahlh/aws-automated-backup-powershell

Thưởng thức!


3

AutomatiCloud thực hiện chính xác những gì bạn cần. Đây là một công cụ windows dễ sử dụng, nơi bạn có thể lên lịch sao lưu cho các phiên bản EBS hoặc RDS của mình: www.automaticoud.net

Bạn có thể

  • tạo ảnh chụp nhanh và AMI dựa trên ID hoặc thẻ cá thể
  • tạo thẻ động bằng cách sử dụng macro
  • xác định 3 cấp thời gian lưu (sao lưu GFS)
  • gửi thông báo qua email
  • thêm tác nhân VSS cho các trường hợp windows
  • chạy script trước / sau khi sao lưu
  • và nhiều hơn nữa...

Điều này có vẻ thực sự tốt! Tôi sẽ tải về và cho nó đi sau ngày hôm nay.
leen3o

1
Tự động miễn phí? Nó sẽ hỏi tôi tiền sau khi tôi sử dụng nó một thời gian chứ?
EricP 16/07/2015

AutomatiCloud là miễn phí. Các tính năng nâng cao yêu cầu đăng ký.
Stephan Buhre

1

Bây giờ bạn có thể sử dụng AWS Lambda để tạo AMI tự động . Toàn bộ thiết lập nên được hoàn thành trong khoảng 10 phút cùng với lịch trình mà bạn thích. Nhìn vào repo Github của họ để đóng góp cũng. Tự chạy tập lệnh và tránh cấp quyền cho bên thứ ba.


0

Bạn có thể viết một tập lệnh nói chuyện với API EC2 để lên lịch cho các ảnh chụp nhanh đó. Nó có thể được chạy trên một trong các phiên bản hiện tại của bạn hoặc bạn có thể thiết lập một phiên bản linux nhỏ cho mục đích này trên t1.micro có chức năng duy nhất là khởi động các ảnh chụp nhanh cho máy chủ Windows. Kịch bản có thể được đặt trên máy chủ linux như một công việc định kỳ để chạy hàng ngày tại thời điểm bạn chọn.

Liên kết đầu tiên là một ví dụ về kịch bản từ máy chủ Windows và nó có thể dễ dàng được tự động hóa với Tác vụ theo lịch trình trong Windows.

Tôi chưa sử dụng ứng dụng bạn liên kết trên liên kết thứ hai của bạn.


Có lẽ bạn có thể cung cấp thêm một số chi tiết? Tôi nhận ra rằng giải pháp có lẽ là dành cho tôi để viết một số loại kịch bản, nhưng kiến ​​thức này không đủ để tôi giải quyết vấn đề, thật không may. Bạn có thể có một liên kết hoặc mẫu của các kịch bản mà bạn đang đề cập đến?
Stanley

Một trong những bạn liên kết từ câu hỏi của bạn sẽ thực sự hoạt động tốt. Bạn có quen thuộc với các công cụ Dòng lệnh API AWS không?
Nathan V

0

Các khả năng Ảnh chụp nhanh EBS hiện tại cho Windows Instances được giải thích tại đây: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html

Để có được một ảnh chụp nhanh nhất quán, bạn phải tạm dừng ghi vào âm lượng đủ lâu để ảnh chụp nhanh hoàn thành. Thông thường, điều này có nghĩa là bạn phải ngắt âm lượng. Tài liệu AWS không thảo luận về cách thực hiện điều này thông qua dòng lệnh trên Windows, nhưng bạn có thể tìm hiểu về điều đó trong chuỗi siêu người dùng này: /superuser/704870/mount-and-dismount-hard-drive- phiên -a-script-phần mềm

Để có được một ảnh chụp nhanh về khối lượng khởi động hệ thống, bạn cần dừng cá thể của bạn.

Mong rằng sẽ giúp.


0

Tôi nhận ra đây là một câu hỏi cũ, nhưng tôi sẽ chia sẻ giải pháp của chúng tôi.

Chúng tôi sử dụng một dịch vụ gọi là Ylastic . Gói Pro của họ ($ 50 / tháng) bao gồm lập lịch chụp ảnh nhanh EBS, không giới hạn số lượng máy chủ hoặc đĩa. Nó cũng sẽ loại bỏ các bản sao lưu cũ hơn nếu bạn muốn. Bạn có thể tạo nhiều lịch trình (ví dụ hàng ngày, hàng tuần, v.v.) với mỗi chính sách duy trì của riêng họ.

Giao diện cũng cho phép bạn tạo các phiên bản mới từ bản sao lưu.

Nó hoạt động đáng tin cậy đối với chúng tôi trong nhiều năm, với khoảng hai mươi trường hợp và bốn mươi tập EBS. Có thể có các phương pháp rẻ hơn nhưng giá chỉ đủ thấp để chúng tôi không bận tâm đến việc xây dựng và duy trì một cái gì đó.

Xem http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-man quản lý để biết chi tiết về tính năng này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.