मैं स्रोत बाल्टी को बंद किए बिना AWS S3 बाल्टी का बैकअप कैसे ले सकता हूं [बंद]


43

क्या अमेज़न S3 बाल्टी के आकस्मिक विलोपन से उबरने का कोई तरीका है?

हमें अपनी बाल्टियों में महत्वपूर्ण जानकारी मिली है और मुझे बाल्टी के आकस्मिक या दुर्भावनापूर्ण हटाने के जोखिम को कम करना होगा।

मुझे पता है कि मैं स्थानीय रूप से पूरी बाल्टी सिंक कर सकता हूं, लेकिन यह बहुत व्यावहारिक नहीं है अगर मेरी बाल्टी का आकार 100GB है।

बैकअप रणनीतियों पर कोई विचार?


यहाँ एक S3 बैकअप रणनीति गाइड है जो मैंने लिखा था: eladnava.com/backing-up-your-amazon-s3-buckets-to-ec2
Elad Nava

जवाबों:


23

एक और तरीका यह है कि S3 संस्करण को अपनी बाल्टी पर सक्षम करें। फिर आप हटाए गए फ़ाइलों आदि को पुनर्स्थापित कर सकते हैं। इसे सक्षम करने के लिए S3 प्रलेखन देखें

बकेट एक्स्प्लोरर जैसे थर्ड पार्टी टूल्स का उपयोग करना बहुत ही मामूली संस्करण बनाने के साथ काम करता है (बनाम एपीआई को सीधे कॉल करना)।

आप अपने S3 बाल्टियों के लिए मल्टी-फैक्टर ऑथेंटिकेशन डिलीट को भी सक्षम कर सकते हैं - जो "आकस्मिक विलोपन" बनाता है जो थोड़ा कठिन है;)

मल्टी फैक्टर ऑथेंटिकेशन
पर अधिक डिलीट वस्तुओं पर अधिक


2
प्रश्न बिना संस्करण के इसे प्राप्त करना है।
अनुराधा

13

आप s3cmd http://s3tools.org/s3cmd का उपयोग कर सकते हैं

तो mybucket नामक एक बाल्टी बैकअप के लिए

s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup

3
क्या ऐसा करने का एक तेज़ तरीका है? यदि बाल्टी में n कुंजी हैं, तो सूची के लिए प्लस (और शायद परिणामों की जांच) के लिए कुछ कॉपी करने के लिए कम से कम n अनुरोध हैं। बड़ी बाल्टियों में यह काफी समय लग सकता है।
कारीम

1
जब mybucket दूषित हो और mybucket_backup को पुनर्स्थापित करने की आवश्यकता हो, तो क्या आप बैकअप ऑपरेशन का विवरण दे सकते हैं?
ऑगस्टिन रिडिंगर घंटी

7

यह एक सस्ता समाधान नहीं है, लेकिन अगर आपकी बाल्टियाँ वास्तव में महत्वपूर्ण हैं, तो यहां बताया गया है कि आप इसे कैसे करते हैं: अमेज़ॅन ईसी 2 उदाहरण को बूट करें और समय-समय पर सामग्री को सिंक करें।

Amazon EC2 उनका वर्चुअलाइजेशन होस्टिंग प्रदाता है। आप लिनक्स, विंडोज इत्यादि के उदाहरणों को स्पिन कर सकते हैं और अपनी इच्छानुसार कुछ भी चला सकते हैं। आप घंटे से भुगतान करते हैं, और आपको उस सर्वर के लिए स्थानीय रूप से एक बहुत बड़ा भंडारण स्थान मिलता है। उदाहरण के लिए, मैं "बड़े" आकार के उदाहरण का उपयोग करता हूं, जो 850GB स्थानीय डिस्क स्थान के साथ आता है।

ठंडा हिस्सा यह है कि यह S3 के समान नेटवर्क पर है, और आपको S3 और EC2 के बीच असीमित स्थानान्तरण मिलता है। मैं Windows EC2 उदाहरण पर $ 20 जंगल डिस्क सॉफ़्टवेयर का उपयोग करता हूं, जो मुझे अपने S3 बाल्टी तक पहुंचने देता है जैसे कि वे स्थानीय डिस्क फ़ोल्डर थे। फिर मैं S3 से बाहर और अपने स्थानीय EC2 डिस्क स्थान पर सामान की प्रतिलिपि बनाने के लिए निर्धारित बैच फाइलें कर सकता हूं। यदि आप चाहें, तो आप प्रति घंटा बैकअप रखने के लिए इसे स्वचालित कर सकते हैं, या यदि आप जुआ करना चाहते हैं, तो जंगलडिस्क (या इसके लिनक्स समतुल्य) को एक या एक घंटे में सिंक करने के लिए सेट करें। यदि कोई फ़ाइल हटाता है, तो आपको EC2 से वापस पाने के लिए कम से कम कुछ मिनट का समय मिलता है। मैं नियमित स्क्रिप्टेड बैकअप की सिफारिश करूंगा - यदि आप 850GB की मात्रा पर उन्हें कंप्रेस कर रहे हैं तो कुछ दिनों के बैकअप रखना आसान है।

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


मुझे लगता है कि आप एक माइक्रो इंस्टेंस का उपयोग कर सकते हैं और जितना आवश्यक हो उतना ईबीएस (इलास्टिक ब्लॉक स्टोरेज) जोड़ सकते हैं। एक सस्ता विकल्प हो सकता है।
शॉन वडर

वास्तव में आपको ऐसा नहीं करना चाहिए, क्योंकि S3 को और से समर्पित बैंडविड्थ EC2 उदाहरण के आकार पर निर्भर करता है। यदि आप बड़ा थ्रूपुट चाहते हैं, तो आपको एक बड़ा (= $ $ $) उदाहरण चाहिए। मेरे पूर्व नियोक्ता को इसका पता चला।
जॉन कोवान

6

एक संभव समाधान सिर्फ एक "बैकअप बाल्टी" बनाने और आपकी संवेदनशील जानकारी को डुप्लिकेट करने के लिए हो सकता है। सिद्धांत रूप में आपका डेटा आपकी हार्ड ड्राइव की तुलना में S3 में सुरक्षित है।

इसके अलावा, मुझे यकीन नहीं है कि अगर आकस्मिक विलोपन एक वास्तविक समस्या है क्योंकि आपको गलती से बाल्टी को हटाने से पहले अपनी सभी बाल्टी कुंजियों को हटाना होगा।


+1 चूंकि यह बहुत मुश्किल होगा कि "गलती से" एक बाल्टी में सब कुछ हटा दें और फिर बाद में बाल्टी को भी हटा दें।

10
यदि आप s3cmd जैसे उपकरण का उपयोग कर रहे हैं, तो यह मुश्किल नहीं है कि इसके साथ एक पूरी निर्देशिका ट्री को हटाना हैrm -rf
jberryman

अमेज़न ग्लेशियर के बारे में क्या? क्या यह एक विकल्प है?
टोनी

6

एक और संभावित समाधान है कि आप S3 में यूरोप क्षेत्र में अपनी बाल्टी को दोहराएं। यह आपके आकस्मिक विलोपन के बाद बाल्टी को ठीक करने के लिए लंबे समय तक जारी रख सकता है।


1
बाल्टी प्रतिकृति एक बढ़िया विकल्प है। स्रोत खाते के किसी भी उल्लंघन को सुनिश्चित करने के लिए सुरक्षा हानि की एक अतिरिक्त परत के लिए क्रॉस अकाउंट प्रतिकृति का उपयोग करें जिससे डेटा हानि न हो।
गैरेथ ओकले

6

ब्रेंट के (उत्कृष्ट) उत्तर को थोड़ा संशोधित करने के लिए; आपको उदाहरण को चालू रखने की आवश्यकता नहीं होनी चाहिए। एक EC2 AMI बनाएं जो आपके डेटा को नीचे खींचता है, इसे एक ईबीएस वॉल्यूम के लिए सिंक करता है, उस वॉल्यूम को स्नैप करता है और खुद को बंद कर देता है।

आप वॉल्यूम को स्वयं ही चालू रख सकते हैं, लेकिन स्नैपशॉट को बैकअप के लिए पर्याप्त होना चाहिए। यदि आपका कस्टम एएमआई बिना किसी इंटरैक्शन के यह सब करता है (इसमें खुद को बंद करने के बाद) भी शामिल है, तो आपकी 'बैकअप' स्क्रिप्ट को बस 'ec2run -n 1 -t m1.small ami-' और फायर-एंड-भूलने की जरूरत है।


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