AWS EC2 विंडोज इंस्टेंस के स्वचालित (दैनिक) स्नैपशॉट कैसे शेड्यूल करें?


12

मेरे पास Amazon EC2 पर कुछ विंडोज सर्वर होस्ट हैं। कुछ Windows Server 2003 चलाते हैं और अन्य Windows Server 2008 चलाते हैं। ये ईबीएस समर्थित उदाहरण हैं। अधिकांश उदाहरणों में कुछ अतिरिक्त ईबीएस-वॉल्यूम भी संलग्न हैं।

हम S3 के लिए विंडोज़ मशीनों (और संलग्न ईबीएस-वॉल्यूम) के दैनिक स्नैपशॉट को शेड्यूल करना चाहते हैं ताकि हमारे पास दैनिक बैकअप उपलब्ध हो।

कोई सोचता होगा कि यह एक बहुत ही सामान्य आवश्यकता है और AWS प्रबंधन कंसोल के माध्यम से उपलब्ध कराया जाएगा, लेकिन अफसोस, यह नहीं है। क्या दृष्टिकोण उपलब्ध हैं? हम अपने विंडोज सर्वर पर दैनिक स्नैपशॉट कैसे शेड्यूल करते हैं?

लिनक्स के लिए ऑनलाइन कई स्क्रिप्टिंग उदाहरण उपलब्ध हैं, लेकिन विंडोज़ के लिए इतना नहीं। मैंने http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html के साथ-साथ https://github.com/ronmichael/aws-snapshot पर एक नज़र डाली है। अनुसूचक । क्या किसी ने इन तरीकों में से एक का उपयोग किया है और क्या यह काम करता है?

मैंने Skeddly जैसी एक सेवा पर भी विचार किया है जो पहली नज़र में सस्ती लगती है लेकिन जब आप इसे कई सर्वरों के लिए उपयोग करते हुए देखते हैं तो कीमत जल्द ही ऐसे बिंदु पर पहुँच जाती है जहाँ यह एक बेहतर विकल्प लगता है कि आप अपना स्वयं का समाधान बना सकें जैसा कि आप इसे लागू कर सकते हैं। भविष्य में नए सर्वर। Skeddly के साथ हम प्रत्येक सर्वर के लिए भुगतान करेंगे।

हम अपने विंडोज़ इंस्टेंसेस के दैनिक स्नैपशॉट कैसे शेड्यूल करते हैं?

जवाबों:


9

अमेज़ॅन वेब सर्विसेज ने हाल ही में विंडोज के लिए पावरशेल कमांड लाइन टूल्स की घोषणा की है और इसे .NET एसडीके के लिए अपने एडब्ल्यूएस टूल्स के साथ पैक किया गया है ।

AWS पॉवर्सशेल टूल स्नैपशॉट बनाने में काफी आसान बनाते हैं:

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

और आप अपने स्नैपशॉट को इस तरह से क्वेरी कर सकते हैं:

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         : {}

सुनिश्चित करें कि आपके पास AWS पॉवरशेल टूल स्थापित हैं और बस एक शेड्यूल किए गए कार्य को बनाएं जो आपके स्नैपशॉट को शेड्यूल करने के लिए ऊपर स्निपेट के समान एक पॉवरशेल स्क्रिप्ट का उपयोग करता है और आपको अच्छा होना चाहिए।

संलग्न ईबीएस संस्करणों के लिए क्वेरी करने के लिए अद्यतन:

अपने उदाहरण से जुड़ी ईबीएस वॉल्यूम के लिए क्वेरी करने के लिए और फिर उनमें से प्रत्येक को स्नैपशॉट करें जो आप इस तरह से कर सकते हैं:

# 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"
}

आपका बहुत बहुत धन्यवाद। ऐसा लगता है कि मैं क्या देख रहा हूं। कृपया बस स्पष्ट करें: ऐसा लगता है जैसे कि New-EC2Snapshot कमांड केवल एक विशिष्ट वॉल्यूम का स्नैपशॉट लेगा। मेरे मामले में मेरे पास इंस्टेंस है और इसमें कुछ ईबीएस-वॉल्यूम भी जुड़े हुए हैं। मैं रूट डिवाइस और संलग्न ईबीएस संस्करणों सहित पूरे उदाहरण का पूरा स्नैपशॉट कैसे लूंगा?
स्टेनली

@Stanley ने आपके उदाहरण से जुड़ी ईबीएस वॉल्यूम के लिए क्वेरी के लिए अपडेट किया और प्रत्येक को स्नैपशॉट दिया
अमीर

समझ गया धन्यवाद। इसका मतलब है कि प्रत्येक वॉल्यूम के लिए अलग-अलग स्नैपशॉट होंगे। मैं सिर्फ इसके निहितार्थ को समझना चाहता हूं: विफलता के मामले में, मैं एक प्रतिस्थापन उदाहरण कैसे लाऊंगा? EBS रूट वॉल्यूम और व्यक्तिगत माउंट किए गए EBS वॉल्यूम के लिए स्नैपशॉट सभी अलग-अलग होंगे। मैं विभिन्न स्नैपशॉट से माउंट किए गए ड्राइव के साथ प्रतिस्थापन उदाहरण कैसे लाऊंगा?
स्टेनली

आप EC2 डैशबोर्ड के माध्यम से इसे सेट क्यों नहीं कर सकते हैं? उन लोगों के लिए जो लिपियों के साथ अत्यधिक आश्वस्त नहीं हैं?
leen3o

5

2018 अपडेट 2018 के अंत तक ईबीएस स्नैपशॉट को स्वचालित करने के दो अतिरिक्त तरीके हैं। मैं अभी भी CloudWatch घटनाओं की मूल विधि का उपयोग करता हूं क्योंकि यह वर्षों से ठीक काम कर रहा है और मुझे बदलने का कोई मतलब नहीं दिखता है।

ऑप्स ऑटोमेटर (OA)

ऑप्स ऑटोमेकर AWS द्वारा प्रदान की गई लैम्बडा लिपियों का एक बहुत ही लचीला सेट है। यह एक क्लाउडवॉच टेम्पलेट के साथ तैनात किया गया है जो ऊपर पृष्ठ पर है।

यह सेटअप चरण हैं

  1. AWS CloudFormation टेम्प्लेट ने कोर फ्रेमवर्क लॉन्च किया है, जिसमें माइक्रोसर्विस (AWS लैंबडा फ़ंक्शंस) का एक सूट शामिल है जो ट्रिगरिंग इवेंट्स, रिसोर्स सिलेक्शन, टास्क एक्जीक्यूशन, कंसीडर कंट्रोल, और पूरा होने का प्रबंधन करता है।
  2. टास्क कॉन्फ़िगरेशन डेटा, जो ट्रिगरिंग घटना को परिभाषित करता है, कि कार्य कैसे किया जाना चाहिए, किन संसाधनों को क्रियाओं द्वारा चुना जाएगा, और जहां ये संसाधन स्थित हैं, एक अमेज़ॅन डायनमोबीडी तालिका में संग्रहीत किया जाता है।
  3. समाधान-जनरेट किए गए AWS CloudFormation टेम्प्लेट आपके द्वारा निर्धारित मापदंडों के आधार पर कार्यों को कॉन्फ़िगर करते हैं, और खातों में कार्रवाई करने के लिए आवश्यक भूमिकाएं।
  4. समाधान प्रक्रिया में सभी चरणों को ट्रैक करता है, चयनित संसाधन, और कार्रवाई के परिणाम, संभव त्रुटियों सहित, डायनेमोडी टेबल में।
  5. समाधान भी लॉगिंग के लिए अमेज़ॅन क्लाउडवॉच लॉग का लाभ उठाता है। चेतावनी और त्रुटि संदेश एक समाधान-निर्मित अमेज़ॅन सरल अधिसूचना सेवा (अमेज़ॅन एसएनएस) विषय पर प्रकाशित किए जाते हैं जो संदेशों को एक सब्सक्राइब्ड ईमेल पते पर भेजता है।

डेटा जीवनचक्र प्रबंधक (DLM)

DLM प्रलेखन । यह एक सरल लेकिन कम लचीला समाधान है जो हर 12 या 24 घंटे में संस्करणों का बैकअप ले सकता है। मैं हैरान हूं कि एडब्ल्यूएस ने डीएलएम पर यह सीमा क्यों लगाई - साप्ताहिक, मासिक या एक चर आवृत्ति को लागू करना आसान था।

DLM को AWS कंसोल में एकीकृत किया गया है। मैं प्रलेखन को कॉपी और पेस्ट करने नहीं जा रहा हूं क्योंकि AWS चीजों को अच्छी तरह से अपडेट रखता है, और लिंक शायद ही कभी टूटते हैं।

2019 तक डीएलएम आपको छोटे अंतराल को दो घंटे तक कम करने की अनुमति देता है , लेकिन फिर भी आपको 24 घंटे से अधिक के अंतराल को निर्दिष्ट नहीं करने देता है।

2017 अपडेट

2017 तक नियमित रूप से स्नैपशॉट बनाने का एक और तरीका है - क्लाउडवॉच इवेंट्स का उपयोग करना

यह आपको स्नैपशॉट शेड्यूल करने देता है, लेकिन यह उपयोग में होने वाली वॉल्यूम की समस्या को हल नहीं करता है, इसलिए यह केवल एक आंशिक समाधान है। क्लाउडविच इवेंट्स का उपयोग करने का एक तरीका हो सकता है जो कुछ मात्रा को ट्रिगर करता है जो वॉल्यूम को समाप्त करता है।

  1. Https://console.aws.amazon.com/cloudwatch/ पर CloudWatch कंसोल खोलें ।

  2. नेविगेशन फलक में, ईवेंट चुनें।

  3. नियम बनाएँ चुनें।

  4. इवेंट स्रोत के लिए, निम्न कार्य करें:

    -> अनुसूची चुनें।

    -> निर्धारित दर चुनें और अनुसूची अंतराल निर्दिष्ट करें (उदाहरण के लिए, 5 मिनट)। वैकल्पिक रूप से, क्रोन अभिव्यक्ति चुनें और क्रोन अभिव्यक्ति निर्दिष्ट करें (उदाहरण के लिए, प्रत्येक 15 मिनट सोमवार से शुक्रवार, वर्तमान समय में शुरू)।

  5. लक्ष्य के लिए, जोड़ें लक्ष्य चुनें और फिर EC2 बनाएँ स्नैपशॉट API कॉल चुनें।

  6. वॉल्यूम आईडी के लिए, एक ईबीएस वॉल्यूम चुनें।

  7. कॉन्फ़िगर विवरण चुनें।

  8. नियम परिभाषा के लिए, नियम के लिए नाम और विवरण टाइप करें।

  9. AWS अनुमतियों के लिए, एक नई भूमिका बनाने के लिए विकल्प चुनें। यह IAM कंसोल को एक नए टैब में खोलता है। नई भूमिका आपकी ओर से संसाधनों तक पहुंचने के लिए अंतर्निहित लक्ष्य अनुमति देती है। अनुमति चुनें। IAM विंडो वाला टैब बंद हो जाता है।

  10. नियम बनाएँ चुनें।


Aws के लिए नि: शुल्क, सरल और देशी समाधान।
वेलास्टिमिल ओवसिका

1
जीवनचक्र प्रबंधक अब किसी भी 2/3/4/6/8/12/24 घंटे की आवृत्ति की अनुमति देता है।
डैन प्रिट्स

3

एक पुराने उत्तर पर कूदते हुए जिसने मुझे अपनी खोज पर छोड़ दिया। Kudos से Ameer Deen को स्क्रिप्ट के लिए ऊपर, btw।

इस पोस्ट को मिला जो PowerShell स्क्रिप्ट में बहुत गहराई से गोता लगाती है ताकि डेटा-एकत्रित और ईबीएस स्नैपशॉट प्रक्रिया को पूरी तरह से स्वचालित किया जा सके:

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

तब निश्चित रूप से पता चला कि उन सभी को एडब्ल्यूएस एसडीके के अब-मूल्यह्रास v1.0 के लिए लिखा गया था, इसलिए मैंने आखिरी दिन तय किया और उन सभी को v2.0 के साथ काम कर रहा था:

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

का आनंद लें!


3

ऑटोमैटिकक्लाउड वही करता है जो आपको चाहिए। यह विंडोज़ टूल का उपयोग करना आसान है जहां आप अपने ईबीएस वॉल्यूम या आरडीएस उदाहरणों के लिए बैकअप शेड्यूल कर सकते हैं: www.automaticoud.net

आप ऐसा कर सकते हैं

  • उदाहरण-आईडी या टैग के आधार पर स्नैपशॉट और एएमआई बनाएं
  • मैक्रो का उपयोग करके डायनामिक टैग बनाएं
  • अवधारण अवधि के 3 स्तरों को परिभाषित करें (GFS-backup)
  • ईमेल सूचनाएं भेजें
  • विंडोज़ इंस्टेंस के लिए VSS एजेंट जोड़ें
  • बैकअप से पहले / बाद में स्क्रिप्ट चलाएँ
  • और भी बहुत कुछ...

यह वास्तव में अच्छा लग रहा है! मैं इसे आज बाद में डाउनलोड करने और देने जा रहा हूं।
leen3o

1
क्या आटोमलाऊड फ्री है? थोड़ी देर के लिए इसका उपयोग करने के बाद क्या यह मुझसे पैसे मांगेगा?
एरिकपी जूल

AutomatiCloud मुफ्त है। उन्नत सुविधाओं के लिए पंजीकरण की आवश्यकता होती है।
स्टीफन बुहारे

1

अब स्वचालित रूप से एएमआई बनाने के लिए आप एडब्ल्यूएस लैंबडा का उपयोग कर सकते हैं । पूरे सेटअप को लगभग 10 मिनट में पूरा करना चाहिए, साथ ही आपको जो शेड्यूल पसंद है। योगदान करने के लिए उनके गितुब रेपो को देखें। स्क्रिप्ट को स्वयं चलाएं और तीसरे पक्ष को अनुमति देने से बचें।


0

आप एक स्क्रिप्ट लिख सकते हैं जो उन स्नैपशॉट को शेड्यूल करने के लिए EC2 API से बात करता है। यह आपके मौजूदा उदाहरणों में से एक पर चलाया जा सकता है या आप इस उद्देश्य के लिए एक t1.micro पर एक छोटा लिनक्स उदाहरण सेट कर सकते हैं जिसका एकमात्र कार्य विंडोज मेजबानों के लिए स्नैपशॉट को बंद करना है। स्क्रिप्ट को आपके द्वारा चुने गए समय पर दैनिक चलाने के लिए क्रोन जॉब के रूप में लिनक्स होस्ट पर रखा जा सकता है।

पहला लिंक स्क्रिप्टिंग का एक उदाहरण है जो विंडोज होस्ट से है और इसे आसानी से विंडोज में शेड्यूल्ड टास्क के साथ स्वचालित किया जा सकता है।

मैंने आपके दूसरे लिंक पर आपके द्वारा लिंक किए गए एप्लिकेशन का उपयोग नहीं किया है।


क्या आप शायद कुछ और विवरण दे सकते हैं? मुझे एहसास है कि समाधान शायद मेरे लिए किसी प्रकार की पटकथा लिखने के लिए होगा, लेकिन इस पर यह ज्ञान मेरे लिए समस्या का समाधान करने के लिए पर्याप्त नहीं है, दुर्भाग्य से। क्या आपके पास संभवतः उन लिपियों का लिंक या नमूना है जिसका आप उल्लेख कर रहे हैं?
स्टेनली

आप अपने प्रश्न से जुड़े हुए वास्तव में ठीक काम करेंगे। क्या आप AWS API कमांड-लाइन टूल्स से बिल्कुल परिचित हैं?
नाथन वी

0

विंडोज इंस्टेंस के लिए वर्तमान ईबीएस स्नैपशॉट क्षमताओं को यहां बताया गया है: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html

एक सुसंगत स्नैपशॉट प्राप्त करने के लिए, आपको स्नैपशॉट को पूरा करने के लिए वॉल्यूम को लंबे समय तक लिखना होगा। आमतौर पर, इसका मतलब है कि आपको वॉल्यूम को अनमाउंट करना होगा। AWS डॉक्स विंडोज पर कमांडलाइन के माध्यम से यह करने के बारे में चर्चा नहीं करता है, लेकिन आप इस सुपरसुसर धागे में उसके बारे में पता लगा सकते हैं: /superuser/704870/mount-and-dismount-hard-drive-through -एक-पटकथा सॉफ्टवेयर

सिस्टम बूट वॉल्यूम का स्नैपशॉट प्राप्त करने के लिए, आपको अपना उदाहरण रोकना होगा।

उम्मीद है की वो मदद करदे।


0

मुझे लगता है कि यह एक पुराना प्रश्न है, लेकिन मैं हमारे समाधान को साझा करूंगा।

हम Ylastic नामक सेवा का उपयोग करते हैं । उनके प्रो प्लान ($ 50 / मो) में ईबीएस स्नैपशॉट का शेड्यूलिंग शामिल है, सर्वर या डिस्क की संख्या को सीमित नहीं करता है। आप चाहें तो पुराने बैकअप भी हटा देंगे। आप अपनी खुद की अवधारण नीतियों के साथ कई कार्यक्रम (जैसे दैनिक, साप्ताहिक, आदि) बना सकते हैं।

इंटरफ़ेस आपको बैकअप से नए उदाहरण बनाने की सुविधा भी देता है।

यह हमारे लिए वर्षों के लिए मज़बूती से काम किया है, लगभग बीस उदाहरणों और चालीस ईबीएस संस्करणों के साथ। वहाँ शायद सस्ता तरीके हैं, लेकिन कीमत सिर्फ इतनी कम है कि हमने खुद को बनाने और कुछ बनाए रखने की जहमत नहीं उठाई है।

इस सुविधा के विवरण के लिए http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-management देखें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.