2013-03-10 4 views
27

मैं अमेज़ॅन ग्लेशियर के साथ एक एस 3 बाल्टी दर्पण करना चाहता हूं।क्या अमेज़ॅन ग्लेशियर एक अमेज़ॅन एस 3 बाल्टी दर्पण कर सकता है?

Glacier FAQ कहता है:

अमेज़न S3 अब उस के लिए डेटा संग्रह अमेज़न ग्लेशियर के अत्यंत कम लागत भंडारण सेवा का उपयोग करने में सक्षम बनाता है एक नया भंडारण विकल्प प्रदान करता है। आप अपने स्टोरेज लागत को कम करने के लिए अमेज़ॅन ग्लेशियर को अमेज़ॅन एस 3 ऑब्जेक्ट्स के सेट सेट स्वचालित रूप से संग्रहीत करने के लिए एस 3 लाइफसायकल नियमों को परिभाषित कर सकते हैं। अमेज़ॅन एस 3 डेवलपर गाइड में ऑब्जेक्ट लाइफसाइक्ल मैनेजमेंट विषय पर जाकर आप और जान सकते हैं।

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

क्या एडब्ल्यूएस के साथ स्वचालित रूप से सेटअप करना संभव है?

या क्या यह मिररिंग मैन्युअल रूप से ग्लेशियर को अपलोड की जानी चाहिए?

+0

मुझे यह सुविधा भी चाहिए। मुझे नहीं लगता कि यह अब मौजूद है, हालांकि। –

+0

आप एस 3 को ग्लेशियर में मिरर करके पूरा करने की कोशिश कर रहे हैं? –

+0

@EricHammond मैं ग्लेशियर पर बैकअप मेरी एस 3 फाइलों का प्रयास कर रहा हूं। –

उत्तर

8

अब अमेज़ॅन एस 3 पर एक क्रॉस-क्षेत्र प्रतिकृति बाल्टी बनाने के द्वारा "एस 3 टू ग्लेशियर" दर्पण प्राप्त करना संभव है (यह प्रतिकृति बाल्टी आपकी मूल बाल्टी का दर्पण होगा - http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html देखें), फिर एक सेट अप करें जीवन चक्र चक्र (डेटा को ग्लेशियर में स्थानांतरित करने के लिए) प्रतिकृति बाल्टी के भीतर से।

3

अमेज़ॅन इस सुविधा को अपने एपीआई के माध्यम से पेश नहीं करता है। हमें एक ही समस्या थी, और दैनिक क्रॉन नौकरी चलाकर समस्या हल हो गई जो ग्लेशियर को फ़ाइलों को फिर से अपलोड करता है।

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

import boto 

# Set up your AWS key and secret, and vault name 
aws_key = "AKIA1234" 
aws_secret = "ABC123" 
glacierVault = "someName" 

# Assumption is that this file has been downloaded from S3 
fileName = "localfile.tgz" 

try: 
    # Connect to boto 
    l = boto.glacier.layer2.Layer2(aws_access_key_id=aws_key, aws_secret_access_key=aws_secret) 

    # Get your Glacier vault 
    v = l.get_vault(glacierVault) 

    # Upload file using concurrent upload (so large files are OK) 
    archiveID = v.concurrent_create_archive_from_file(fileName) 

    # Append this archiveID to a local file, that way you remember what file 
    # in Glacier corresponds to a local file. Glacier has no concept of files. 
    open("glacier.txt", "a").write(fileName + " " + archiveID + "\n") 
except: 
    print "Could not upload gzipped file to Glacier" 
0

मैं एक ही मुद्दा था, लेकिन ग्लेशियर जो आम तौर पर 3-5 घंटे है से बहाल करने के लिए लंबे समय से प्रतीक्षा अवधि को सहन करने की जोखिम नहीं उठा सकते।

मेरे मामले में मैंने एक वाणिज्यिक उत्पाद बनाया जो अन्य चीजों के साथ मेरी बाल्टी के स्नैपशॉट को सिंक्रनाइज़ और बना सकता है।

यह ग्लेशियर के लागत बचत लाभों का बेहतर अनुमान लगाने के लिए एस 3 कम रिडंडेंसी स्टोरेज का भी उपयोग कर सकता है।

आप bucketbacker.com

3

यह Lifecycle policy के माध्यम से किया जाता है पर बिल्कुल मुफ्त एक पूर्ण विशेषताओं 2 सप्ताह परीक्षण संस्करण की कोशिश कर सकते हैं, लेकिन वस्तु अब और एस 3 में उपलब्ध नहीं है। इसे रखने के लिए आप इसे अलग बाल्टी में डुप्लिकेट कर सकते हैं।

+0

क्या आपको कोई विचार है कि इसे क्यों हटाया गया था? या जहां मुझे इसे हटाने के बारे में जानकारी मिल सकती है? – Progress1ve

0

यदि आप पहली बार अपने एस 3 बाल्टी पर संस्करण सक्षम करते हैं तो जीवन चक्र नियम पिछले संस्करणों पर लागू किए जा सकते हैं। यह एक बहुत ही समान परिणाम प्राप्त करेगा, सिवाय इसके कि वर्तमान संस्करण का बैकअप नहीं होगा।

संबंधित मुद्दे