S3 बाल्टी को अलग स्थान पर कैसे ले जाएँ


20

हम अपने वेबऐप में लाखों प्रविष्टियों को संग्रहीत करने के लिए S3 का उपयोग करते हैं, अब हम पूरी चीज को EC2, EU सर्वरों में स्थानांतरित करते हैं, और हम उस S3 डेटा को EU में स्थानांतरित करना चाहते हैं। लेकिन हमारे द्वारा उपयोग की जाने वाली बाल्टी अमेरिका में है, और पूरी बाल्टी सामग्री को अलग बाल्टी में ले जाने के लिए कोई उपकरण नहीं है।

इस बात पर भी समस्या है कि हम बाद में डेटा को कैसे सिंक्रनाइज़ करते हैं जब हम यूरोपीय संघ की बाल्टी पर स्विच करते हैं, तो उस डेटा को इस बीच बनाया जाएगा जब प्रवास चल रहा था।

जवाबों:


18

नया आधिकारिक एडब्ल्यूएस सीएलआई मूल रूप से अधिकांश कार्यक्षमता का समर्थन करता है s3cmd

http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

aws s3 sync s3://oldbucket s3://newbucket --source-region us-west-1 --region us-west-2

आप क्षेत्र के नामों की सूची कहां पा सकते हैं?
बार्ट

आप यहां S3 क्षेत्र पा सकते हैं: docs.aws.amazon.com/general/latest/gr/rande.html#s3_region ये आपके द्वारा प्राप्त EC2 क्षेत्रों के लगभग समान हैं aws ec2 describe-regions, लेकिन us-east-1इसे S3 के लिए यूएस मानक के रूप में भी जाना जाता है और है ऐतिहासिक कारणों से कुछ अलग है।
AB

5

मुझे लगता है, आप चला सकते हैं:

s3cmd --recursive cp s3://oldbucket/ s3://newbucket

इसे सीधे कॉपी करना चाहिए।


सीएलआई कहता है: "कमांड नहीं मिला"
बर्ट

3

मुझे ऐसा करने के लिए एक पैकेज्ड सॉल्यूशन का पता नहीं है, लेकिन यह अनिवार्य रूप से सिर्फ एक बाल्टी लिस्ट है और फिर यूएस बकेट से लेकर ईयू बकेट तक प्रत्येक ऑब्जेक्ट को PUT-copy कर देता है। पीयूटी-कॉपी एपीआई "अगर-संशोधित-चूंकि" और "अगर-कोई नहीं-मैच" का समर्थन करता है, तो आप इसे दोहराए बिना प्रयास के बार-बार चला सकते हैं: http://docs.amazonwebservices.com/AmazonS3/2006-03-01/ एपीआई / index.html? RESTObjectCOPY.html

लाइव प्रवास के लिए, मैं निम्नलिखित दृष्टिकोण का सुझाव दूंगा:

  1. वैकल्पिक पहला कदम: यदि आपके पास माइग्रेट करने के लिए भारी मात्रा में डेटा है, तो यूएस में एक भौतिक डिवाइस पर डेटा के पहले स्नैपशॉट को कैप्चर करने के लिए AWS आयात / निर्यात का उपयोग करने पर विचार करें और इसे यूरोपीय संघ में भौतिक रूप से शिप करें। इससे आपका समय और पैसा बच सकता है।
    • ऊपर वर्णित के रूप में संशोधित-के बाद से या अगर-कोई भी मैच का उपयोग कर अमेरिका से यूरोपीय संघ के लिए डेटा स्थानांतरित करने के लिए एक स्क्रिप्ट सेट करें। बासी अमेरिकी डेटा (एक बार जब आप नीचे चरण 5 पर पहुंचते हैं) के साथ ताजा यूरोपीय संघ के डेटा को बंद न करने के लिए इसे स्मार्ट बनाएं। इसे एक लूप में लगातार चलाएं जब तक कि दो बाल्टी लगभग एक ही अवस्था में न हो जाएं।
    • अमेरिका से विशेष रूप से डेटा प्राप्त करने के लिए जारी रखते हुए, एक ही समय में यूएस और यूरोपीय संघ की बाल्टी दोनों के लिए पीयूटी डेटा के लिए अपने वेब ऐप को संशोधित करें।
    • अपनी माइग्रेशन स्क्रिप्ट को तब तक चलाना जारी रखें जब तक आपको विश्वास न हो जाए कि बाल्टियाँ बिल्कुल उसी स्थिति में हैं (या जैसा कि आप प्राप्त कर सकते हैं, उतना ही अंतत: निरंतरता दी गई)।
    • यूरोपीय संघ की बाल्टी से विशेष रूप से डेटा प्राप्त करने के लिए फिर से वेब ऐप को संशोधित करें।
    • अब आप अपनी माइग्रेशन स्क्रिप्ट बंद कर सकते हैं।
    • अंतिम स्थिरता विसंगतियों के लिए देखो और उन्हें साफ।
    • यूएस बाल्टी में डेटा को रोकने के लिए वेब ऐप को संशोधित करें।
    • अमेरिकी बाल्टी में सब कुछ DELETE।

आप सस्ते डेटा दरों और तेजी से प्रतिक्रिया समय प्राप्त करने के लिए प्रवास के दौरान अपने यूरोपीय संघ की बाल्टी पर S3 कम किए गए अतिरेक संग्रहण का उपयोग करना चाह सकते हैं, क्योंकि डेटा अमेरिकी डेटा का केवल एक डुप्लिकेट है।


1

आप क्रॉस-रीजन प्रतिकृति सेट करने पर भी विचार कर सकते हैं, जो आपको दोनों क्षेत्रों https://aws.amazon.com/blogs/aws/new-cross-region-replication-for-amazon- के बीच कॉपी और सिंक डेटा रखने की अनुमति देता है। S3 /


कृपया आत्मनिर्भर होने के लिए अपनी पोस्ट का विस्तार करें।
हिरण हंटर

0

मैंने S3 के साथ उचित मात्रा में काम किया है और कभी भी एक उपकरण नहीं आया है जो यह मूल रूप से करेगा। हालाँकि, यह सब एक दूसरे के साथ सिंक में दो बाल्टी रखने के लिए s3cmd- सिंक सिंक स्क्रिप्ट के एक जोड़े का उपयोग करना मुश्किल नहीं होगा ।


हाँ, यह काम करेगा, लेकिन हमें स्थानीय रूप से सब कुछ डाउनलोड करने की आवश्यकता है, जबकि S3 एपीआई उन्हें डाउनलोड किए बिना प्रविष्टियों को स्थानांतरित / कॉपी करने का समर्थन करता है।
स्कॉर्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.