2014-06-18 8 views
22

मैंने अपने उदाहरण का एक स्नैपशॉट बनाया है और डीबी में कुछ अवांछित परिवर्तन किए हैं।अमेज़ॅन आरडीएस: मौजूदा उदाहरण में स्नैपशॉट को पुनर्स्थापित करें

अब मैं इस स्नैपशॉट से अपना उदाहरण बहाल करना चाहता हूं।

जब मैं इसे करने का प्रयास करता हूं - यह मुझे एक और उदाहरण बनाता है, इसके अतिरिक्त मेरे पास भी है।

मैं "डीबी इंस्टेंस पहचानकर्ता" निर्दिष्ट करता हूं और इसके बाद मुझे एक ही आईडी के साथ दो उदाहरण मिलते हैं।

तो मेरा प्रश्न: क्या मौजूदा उदाहरण में स्नैपशॉट को पुनर्स्थापित करने का कोई तरीका है?

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

+3

बस अपने पुराने उदाहरण हटाना के साथ मूल उदाहरण और नाम नया उदाहरण का नाम बदलें। समस्या सुलझ गयी। –

उत्तर

25

नहीं, आप मैन्युअल बैकअप या पॉइंट-इन-टाइम स्नैपशॉट में से किसी भी को अपने मौजूदा डीबी इंस्टेंस को वापस नहीं बहाल कर सकते हैं।

मैन्युअल बैकअप या स्वचालित स्नैपशॉट का उपयोग करने का एकमात्र तरीका यह है कि इसका उपयोग करके एक नया आरडीएस डीबी इंस्टेंस बनाना है। एक बार नया डीबी इंस्टेंस बनने के बाद, आप अपने ऐप/कोड में डीबी के एंडपॉइंट को बदल सकते हैं और पुराने डीबी इंस्टेंस को हटा सकते हैं।

नीचे की ओर: आपको अपने ऐप में कॉन्फ़िगरेशन सेटिंग्स को बदलना होगा। कोई अन्य विकल्प नहीं।

+7

सही, हालांकि "अब" DNS में 'CNAME' को कॉन्फ़िगर करने और इसे अपने आरडीएस होस्टनाम पर इंगित करने का एक अच्छा समय होगा, फिर cname का उपयोग करने के लिए एप्लिकेशन को पुन: कॉन्फ़िगर करें। फिर, भविष्य में, आपको केवल एक बदलाव करना होगा - DNS में। –

+0

ठीक है, मैंने कोशिश नहीं की है; लेकिन मुझे लगता है कि काम करना चाहिए।मान लें कि काम करेगा; इसका नकारात्मक हिस्सा DNS कैश है और प्रचार अधिक लंबा हो सकता है और आपका ऐप अजीब व्यवहार कर सकता है। मैं व्यक्तिगत रूप से महसूस करता हूं कि ऐप की कॉन्फ़िगरेशन सेटिंग संशोधित करना उन प्रकार की समस्या को कम करने के लिए सबसे अच्छा है। –

+2

पर्याप्त सच है, लेकिन यदि आप DNS को नियंत्रित करते हैं और समझदार टीटीएल का उपयोग करते हैं, तो यह एक सौदा-ब्रेकर नहीं होना चाहिए। कौन सा दृष्टिकोण सबसे अच्छा हो सकता है इस पर निर्भर करता है कि ऐप को फिर से कॉन्फ़िगर करने की आवश्यकता है, या एक डेटाबेस के विरुद्ध कितने अलग ऐप्स चल रहे हैं। –

5

आज मेरे पास एक ही समस्या थी। मुझे लगता है कि आपके पास एप्लिकेशन की कॉन्फ़िगरेशन सेटिंग को बदले बिना दो विकल्प हैं।

  1. माइक के सुझाव के अनुसार पुराना उदाहरण हटाएं, फिर इसे पुनर्स्थापित करें।

  2. पहले पुराने उदाहरण का नाम बदलें (इसे नाम देने पर तुरंत "तुरंत आवेदन करें" विकल्प की जांच करने की आवश्यकता है)।

23

यदि कोई आपके कॉन्फ़िगरेशन को बदलने के बिना डेटा को पुनर्स्थापित करने के लिए यहां आया (बस मुझे पसंद है)।

  • अपनी स्वचालित स्नैपशॉट या मैन्युअल रूप से बनाए गए से एक नया उदाहरण (अस्थायी) बनाएँ:

    ये कदम उठाएँ।

  • या तो सेक्वेल प्रो या माइस्क्ल वर्कबेंच से इस उदाहरण से कनेक्ट करें।
  • इस अस्थायी उदाहरण से आपको जो भी डेटा चाहिए, उसके एसक्यूएल डंप लें।
  • अपने उत्पादन के उदाहरण को कनेक्ट करें और इसे पुनर्स्थापित करें।
  • अब आपके द्वारा बनाए गए अस्थायी उदाहरण को हटाएं।
+0

यह समाधान मूल प्रश्न, हुक या क्रक द्वारा लक्ष्य प्राप्त करता है। काम के आसपास के लिए हाँ! – mlibby

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