चार ट्यूटोरियल के एक सेट में, हम AWS डेटाबेस माइग्रेशन सर्विस (DMS) का उपयोग करके MySQL डेटाबेस इंस्टेंस को PostgreSQL डेटाबेस में माइग्रेट करने की खोज कर रहे हैं। पहले ट्यूटोरियल में, "AWS RDS, भाग 1 पर MySQL को PostgreSQL में माइग्रेट करना," हमने DMS की शुरुआत की और DMS के लिए एक IAM उपयोगकर्ता बनाया। दूसरे ट्यूटोरियल में, AWS RDS, भाग 2 पर MySQL को PostgreSQL में माइग्रेट करना, "हमने RDS पर MySQL और PostgreSQL के उदाहरण बनाए और दो उदाहरणों से जुड़े। इस निरंतरता ट्यूटोरियल में, हम माइग्रेशन करने के लिए DMS माइग्रेशन बनाएंगे। इस ट्यूटोरियल में निम्नलिखित भाग हैं:
- डीएमएस माइग्रेशन बनाना
- प्रतिकृति उदाहरण बनाना
- माइग्रेशन कार्य समापन बिंदु बनाना
- माइग्रेशन टास्क बनाना
- निष्कर्ष
डीएमएस माइग्रेशन बनाना
इस खंड में, हम MySQL डेटाबेस को PostgreSQL डेटाबेस में माइग्रेट करने के लिए एक डेटाबेस माइग्रेशन सर्विस (DMS) बनाएंगे। DMS माइग्रेशन में निम्नलिखित घटक होते हैं:
- प्रतिकृति उदाहरण
- डेटाबेस समापन बिंदु
- कार्य
हम इनमें से प्रत्येक को उप-अनुभागों में बनाने पर चर्चा करेंगे, लेकिन पहले आपको एक डीएमएस माइग्रेशन बनाने की आवश्यकता है। DMS डैशबोर्ड पर नेविगेट करें और माइग्रेशन बनाएं click क्लिक करें , जैसा चित्र 1 में दिखाया गया है।
चित्र 1: माइग्रेशन बनाएं
DMS विज़ार्ड प्रारंभ हो जाता है। अगला क्लिक करें, जैसा कि चित्र 2 में दिखाया गया है।
चित्र 2: डीएमएस विज़ार्ड
प्रतिकृति इंस्टेंस बनाना
अगला, एक प्रतिकृति उदाहरण कॉन्फ़िगर करें, जो स्रोत और लक्ष्य डेटाबेस के बीच संबंध स्थापित करता है, डेटा स्थानांतरित करता है, और प्रारंभिक डेटा लोड के दौरान होने वाले डेटा परिवर्तनों को कैश करता है। एक प्रतिकृति उदाहरण निर्दिष्ट करें नाम और विवरण , और एक आवृत्ति वर्ग . चुनें (डिफ़ॉल्ट dms.t2.medium है), जैसा कि चित्र 3 में दिखाया गया है। एक VPC चुनें। और मल्टी-एज़ . के साथ उच्च उपलब्धता को कॉन्फ़िगर करने के विकल्प का चयन करें; डिफ़ॉल्ट सेटिंग "नहीं" पर सेट है। विकल्प चुनें सार्वजनिक रूप से पहुंच योग्य ।
चित्र 3: प्रतिकृति इंस्टेंस को कॉन्फ़िगर करना
उन्नत . में , आवंटित संग्रहण . के लिए डिफ़ॉल्ट सेटिंग रखें (50 जीबी), प्रतिकृति सबनेट समूह, उपलब्धता क्षेत्र (कोई वरीयता नहीं), और वीपीसी सुरक्षा समूह (डिफ़ॉल्ट का उपयोग करें), जैसा कि चित्र 4 में दिखाया गया है। पर्यावरण की स्थापनामें पहले बनाई गई KMS मास्टर कुंजी (dbms) का चयन करें। /em> अनुभाग।
चित्र 4: प्रतिकृति उदाहरण के लिए उन्नत सेटिंग्स कॉन्फ़िगर करना
अगला क्लिक करें, जैसा कि चित्र 5 में दिखाया गया है।
चित्र 5: अगला
प्रतिकृति उदाहरण बनना शुरू हो जाता है, जैसा कि चित्र 6 में संदेश द्वारा दिखाया गया है। इसके बाद, स्रोत और लक्ष्य डेटाबेस कनेक्शन को कॉन्फ़िगर करने की आवश्यकता है, जिसे हम अगले उप-अनुभाग में पूरा करेंगे।
चित्र 6: प्रतिकृति इंस्टेंस बनना शुरू हो जाता है
माइग्रेशन कार्य समापन बिंदु बनाना
प्रतिकृति उदाहरण बनने में कुछ मिनट लग सकते हैं। प्रतिकृति इंस्टेंस बनाए जाने के दौरान माइग्रेशन एंडपॉइंट जोड़े जा सकते हैं। स्रोत इंजन . चुनें "mysql" के रूप में, जैसा कि चित्र 7 में दिखाया गया है।
चित्र 7: स्रोत इंजन का चयन करना
लक्षित इंजन . चुनें "पोस्टग्रेज" के रूप में, जैसा कि चित्र 8 में दिखाया गया है।
चित्र 8: लक्ष्य इंजन चुनना
सर्वरनाम . में , समापन बिंदु निर्दिष्ट करें :पोर्ट . को हटाकर डेटाबेस के लिए RDS DB उदाहरण के लिए प्रत्यय MySQL डेटाबेस के लिए, RDS समापन बिंदु mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:3306 है। . इसलिए, सर्वरनाम निर्दिष्ट करें के रूप में mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com , जैसा कि चित्र 9 में दिखाया गया है। RDS पर PostgreSQL डेटाबेस के लिए, समापन बिंदु postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:5432 है।; इसलिए, सर्वरनाम निर्दिष्ट करें के रूप में postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . स्रोत और लक्ष्य डेटाबेस के लिए अलग से पोर्ट निर्दिष्ट करें:MySQL डेटाबेस के लिए 3306 और Postgres के लिए 5432।
चित्र 9: स्रोत और लक्ष्य डेटाबेस के लिए सर्वरनाम और पोर्ट निर्दिष्ट करना
अधिक समापन बिंदु कॉन्फ़िगरेशन सेटिंग्स के लिए नीचे स्क्रॉल करें, जैसा कि चित्र 10 में दिखाया गया है। SSL मोड का चयन करें कोई नहीं . के रूप में स्रोत और लक्ष्य डेटाबेस दोनों के लिए। आरडीएस डीबी इंस्टेंस बनाते समय कॉन्फ़िगर किए गए उपयोगकर्ता नाम और पासवर्ड को निर्दिष्ट करें। PostgreSQL डेटाबेस नाम (postgresdb) निर्दिष्ट करें, जैसा कि RDS DB इंस्टेंस बनाते समय कॉन्फ़िगर किया गया है।
चित्र 10: SSL मोड, उपयोगकर्ता नाम, पासवर्ड, और SID या डेटाबेस नाम निर्दिष्ट करना
उन्नत सेटिंग्स में, MySQL डेटाबेस और PostgreSQL डेटाबेस के लिए उपलब्ध अतिरिक्त कनेक्शन विशेषताएँ निर्दिष्ट की जा सकती हैं, लेकिन इस ट्यूटोरियल के लिए किसी की भी आवश्यकता नहीं है। स्रोत और लक्ष्य डेटाबेस दोनों के लिए KMS मास्टर कुंजी (dbms) का चयन करें (चित्र 11 देखें)। DMS समापन बिंदुओं का परीक्षण करने के लिए, परीक्षण चलाएँ बटन दिए गए हैं, जैसा कि चित्र 11 में दिखाया गया है। परीक्षण चलाएँ प्रतिकृति इंस्टेंस बनाए जाने तक बटन धूसर या अक्षम हो जाते हैं।
चित्र 11: डीएमएस एंडपॉइंट्स के लिए उन्नत सेटिंग्स को कॉन्फ़िगर करना
जब प्रतिकृति उदाहरण बनाया गया है, तो संदेश "प्रतिकृति उदाहरण सफलतापूर्वक बनाया गया" प्रदर्शित होता है, जैसा कि चित्र 12 में दिखाया गया है।
चित्र 12: प्रतिकृति उदाहरण सफलतापूर्वक बनाया गया
प्रतिकृति उदाहरण बनने के बाद, परीक्षण चलाएँ बटन सक्षम हो जाते हैं। परीक्षण चलाएं क्लिक करें , जैसा कि चित्र 13 में दिखाया गया है, प्रत्येक डेटाबेस के लिए।
चित्र 13: परीक्षण चलाएं
जैसा कि चित्र 14 में "परीक्षण समापन बिंदु कनेक्शन" संदेश द्वारा इंगित किया गया है, कनेक्शन का परीक्षण करना शुरू हो जाता है।
चित्र 14: समापन बिंदु कनेक्शन का परीक्षण
यदि समापन बिंदु कनेक्शन को आवश्यकतानुसार कॉन्फ़िगर किया गया है, तो संदेश "कनेक्शन सफलतापूर्वक परीक्षण किया गया" प्रदर्शित होना चाहिए, जैसा कि चित्र 15 में दिखाया गया है। अगला क्लिक करें।
चित्र 15: कनेक्शन का सफलतापूर्वक परीक्षण किया गया
माइग्रेशन टास्क बनाना
एक प्रतिकृति उदाहरण और डेटाबेस समापन बिंदु बनाने के बाद, आगे हम समापन बिंदुओं से कनेक्ट करने और वास्तव में डेटा स्थानांतरित करने के लिए एक माइग्रेशन कार्य बनाएंगे। कार्य बनाएं . में विज़ार्ड, एक कार्य का नाम निर्दिष्ट करें (एक डिफ़ॉल्ट भी निर्दिष्ट है) और एक कार्य विवरण जोड़ें (चित्र 16 देखें)। बनाने पर कार्य प्रारंभ करें . के विकल्प का चयन करें ।
चित्र 16: टास्क विजार्ड बनाएं
स्रोत और लक्ष्य समापन बिंदु और प्रतिकृति उदाहरण पहले कॉन्फ़िगर किए गए थे और कार्य बनाते समय गैर-परिवर्तनीय हैं। एक माइग्रेशन प्रकार Select चुनें , जो तीन विकल्पों को सूचीबद्ध करता है, जैसा कि चित्र 17 में दिखाया गया है।
- मौजूदा डेटा माइग्रेट करें :मौजूदा स्कीमा, टेबल और टेबल डेटा को माइग्रेट करता है जो पहले से ही स्रोत डेटाबेस में मौजूद है, लेकिन बाद के परिवर्तनों को निरंतर आधार पर माइग्रेट नहीं करता है।
- मौजूदा डेटा माइग्रेट करें और चल रहे परिवर्तनों को दोहराएं :मौजूदा स्कीमा, टेबल और टेबल डेटा को माइग्रेट करता है जो पहले से ही सोर्स डेटाबेस में मौजूद है और साथ ही बाद के बदलावों को लगातार आधार पर माइग्रेट करता है।
- केवल डेटा परिवर्तन दोहराएं :मौजूदा स्कीमा, टेबल और डेटा को माइग्रेट नहीं करता है और केवल डेटा परिवर्तन को माइग्रेट करता है।
मौजूदा डेटा माइग्रेट करें . चुनें विकल्प, जैसा कि चित्र 17 में दिखाया गया है। परिवर्तनों को माइग्रेट करने के लिए, जो कि अन्य दो विकल्प प्रदान करते हैं, MySQL डीबी इंस्टेंस पर बाइनरी लॉग प्रतिधारण समय को 24 घंटे या उससे अधिक तक बढ़ाया जाना चाहिए।
चित्र 17: माइग्रेशन प्रकार को मौजूदा डेटा माइग्रेट के रूप में चुनना
इसके बाद, कार्य सेटिंग कॉन्फ़िगर करें . लक्ष्य तालिका तैयार करने का तरीका सेटिंग लक्ष्य डेटाबेस पर तालिकाओं पर लागू होती है और तीन विकल्प प्रदान करती है:
- कुछ न करें :लक्ष्य तालिकाओं का डेटा और मेटाडेटा नहीं बदला गया है
- तालिकाओं को लक्ष्य पर छोड़ें :मौजूदा तालिकाएँ, यदि कोई हों, हटा दी जाती हैं और नई तालिकाएँ बनाई जाती हैं
- छोटा करें :तालिकाओं को छोटा कर दिया जाता है, जिसका अर्थ है कि तालिका डेटा हटा दिया गया है लेकिन तालिका मेटाडेटा नहीं बदला गया है। प्रतिकृति में LOB कॉलम शामिल करें सेटिंग स्रोत डेटाबेस में LOB डेटा प्रकार कॉलम पर लागू होती है, और तीन विकल्प प्रदान करती है:
- LOB कॉलम शामिल न करें :LOB कॉलम को माइग्रेशन से बाहर रखा गया है
- पूर्ण LOB मोड :आकार की परवाह किए बिना पूर्ण LOB को माइग्रेट करता है; LOB को टुकड़ों में माइग्रेट किया जाता है, जो माइग्रेशन प्रक्रिया को धीमा कर सकता है
- सीमित LOB मोड :LOB को अधिकतम LOB आकार (kb) में निर्दिष्ट आकार में छोटा करें
लक्ष्य तालिका तैयार करने का तरीका Select चुनें जैसा कुछ न करें, जैसा कि चित्र 18 में दिखाया गया है। प्रतिकृति में LOB कॉलम शामिल करें चुनें सीमित LOB मोड . के रूप में और अधिकतम LOB आकार निर्दिष्ट करें 32 केबी (डिफ़ॉल्ट) के रूप में। लॉगिंग सक्षम करें . चुनें विकल्प।
चित्र 18: कार्य सेटिंग
इसके बाद, टेबल मैपिंग . में चयन नियम और रूपांतरण नियम जोड़ें , जैसा कि चित्र 19 में दिखाया गया है। तालिका मानचित्रण को मार्गदर्शित . का उपयोग करके जोड़ा जा सकता है उपयोगकर्ता इंटरफ़ेस या JSON . के रूप में . निर्देशित यूआई की सिफारिश की जाती है। कम से कम एक चयन नियम जोड़ा जाना चाहिए और परिवर्तन नियम वैकल्पिक हैं। चयन नियम लागू होते हैं, जबकि स्रोत डेटाबेस से स्कीमा, टेबल और कॉलम का चयन करते समय और परिवर्तन नियम स्कीमा, टेबल और कॉलम को लक्ष्य डेटाबेस में माइग्रेट करने से पहले लागू होते हैं।
चित्र 19: टेबल मैपिंग
स्कीमा को स्कीमा नाम है से चुना जा सकता है ड्रॉप-डाउन या, यदि कोई सूचीबद्ध नहीं है, तो स्कीमा दर्ज करें select चुनें और स्कीमा नाम इस प्रकार है . में एक स्कीमा निर्दिष्ट करें खेत। कार्रवाई ड्रॉप-डाउन सूची में दो विकल्प हैं:शामिल करें और बहिष्कृत करें . शामिल करें विकल्प में स्कीमा और तालिकाओं के लिए किए गए चयन शामिल हैं और बहिष्कृत विकल्प स्कीमा और तालिकाओं को बाहर करता है। शामिल करने के बाद बहिष्करण संसाधित किया जाता है। सभी स्कीमा का चयन नहीं करना है और स्कीमा से सभी तालिकाओं का चयन नहीं करना है।
हम निम्नलिखित चयन नियम जोड़ेंगे:
- स्रोत डेटाबेस से सभी स्कीमा और सभी तालिकाएं शामिल करें
चयन नियम के लिए, स्कीमा दर्ज करें चुनें और निर्दिष्ट करें स्कीमा नाम है % . के रूप में , जो स्रोत डेटाबेस में सभी स्कीमा का चयन करता है, जैसा कि चित्र 20 में दिखाया गया है। निर्दिष्ट करें कि तालिका का नाम इस प्रकार है % . के रूप में , जो चयनित स्कीमा में सभी तालिकाओं का चयन करता है। कार्रवाई Select चुनें के रूप में शामिल करें ।
चित्र 20: चयन नियम कॉन्फ़िगर करना
चयन नियम जोड़ें Click क्लिक करें (चित्र 21 देखें)।
चित्र 21: चयन नियम जोड़ना
एक चयन नियम जोड़ा जाता है, जैसा कि चित्र 22 में दिखाया गया है। जब कार्य बनाया जाता है, तो एक IAM भूमिका dms-cloudwatch-logs-role DMS को CloudWatch तक पहुंचने की अनुमति देने के लिए बनाया गया है।
चित्र 22: चयन नियम जोड़ा गया
इसके बाद, एक परिवर्तन नियम जोड़ें। इसके लिए, रूपांतरण नियम जोड़ें . क्लिक करें लिंक, जैसा कि चित्र 23 में दिखाया गया है।
चित्र 23: परिवर्तन नियम जोड़ें
रूपांतरण नियम में लक्ष्य . के लिए सेटिंग होती है . नियम के तीन विकल्प हैं, जैसा कि चित्र 24 में दिखाया गया है।
- स्कीमा
- तालिका
- कॉलम
कहां चयन नियमों द्वारा चयनित वस्तुओं का एक सबसेट निर्दिष्ट करता है। कार्रवाई है परिवर्तन जो लागू किया जाना है और निम्नलिखित विकल्प उपलब्ध हैं:
- नाम बदलें (स्कीमा और टेबल ऑब्जेक्ट के लिए उपलब्ध)
- कॉलम हटाएं (कॉलम के लिए उपलब्ध)
- लोअरकेस बनाएं (स्कीमा, टेबल और कॉलम के लिए उपलब्ध)
- अपरकेस बनाएं (स्कीमा, टेबल और कॉलम के लिए उपलब्ध)
- उपसर्ग जोड़ें (स्कीमा, टेबल और कॉलम के लिए उपलब्ध)
- उपसर्ग हटाएं (स्कीमा, टेबल और कॉलम के लिए उपलब्ध)
चित्र 24: परिवर्तन नियम सेटिंग
PostgreSQL स्कीमा, टेबल और कॉलम में लोअरकेस का उपयोग करता है। हम तीन परिवर्तन नियम जोड़ेंगे:
- सभी स्कीमा को लोअरकेस बनाएं
- सभी तालिकाओं को छोटा बनाएं
- सभी कॉलमों को लोअरकेस करें
इनमें से पहला परिवर्तन नियम जोड़ने के लिए, लक्ष्य . चुनें स्कीमा . के रूप में जैसा कि चित्र 25 में दिखाया गया है। निर्दिष्ट करें कि स्कीमा नाम % जैसा है . कार्रवाई Select चुनें लोअरकेस बनाएं . के रूप में और रूपांतरण नियम जोड़ें click क्लिक करें ।
चित्र 25: परिवर्तन नियम जोड़ना
एक परिवर्तन नियम जोड़ा जाता है (चित्र 26 देखें)। एक और परिवर्तन नियम जोड़ने के लिए, रूपांतरण नियम जोड़ें पर क्लिक करें फिर से लिंक करें।
चित्र 26: परिवर्तन नियम जोड़ा गया
लक्ष्य Select चुनें तालिका . के रूप में , जैसा कि चित्र 27 में दिखाया गया है। निर्दिष्ट करें कि स्कीमा नाम % जैसा है . टेबल का नाम % जैसा है . चुनें . कार्रवाई Select चुनें लोअरकेस बनाएं . के रूप में और रूपांतरण नियम जोड़ें click क्लिक करें ।
चित्र 27: तालिका का नाम बदलने के लिए परिवर्तन नियम जोड़ना
लक्ष्य Select चुनें कॉलम . के रूप में , जैसा कि चित्र 28 में दिखाया गया है। निर्दिष्ट करें कि स्कीमा नाम % जैसा है . टेबल का नाम % जैसा है . चुनें . कॉलम नाम % जैसा है Select चुनें . कार्रवाई Select चुनें लोअरकेस बनाएं . के रूप में और रूपांतरण नियम जोड़ें click क्लिक करें ।
चित्र 28: कॉलम नाम को लोअरकेस करने के लिए रूपांतरण नियम जोड़ना
तीन चयन नियम और जोड़े गए परिवर्तन नियम चित्र 29 में दिखाए गए हैं। जब कार्य चलाया जाता है, तो परिवर्तन नियमों से पहले चयन नियम लागू होते हैं। अग्रिम सेटिंग के लिए, उन्नत सेटिंग click क्लिक करें , जैसा कि चित्र 29 में दिखाया गया है।
चित्र 29: चयन नियम और परिवर्तन नियम
उन्नत सेटिंग . में , कंट्रोल टेबल सेटिंग select चुनें और निर्दिष्ट करें स्कीमा का उपयोग करके लक्ष्य में नियंत्रण तालिका बनाएं सार्वजनिक . के रूप में , जैसा कि चित्र 30 में दिखाया गया है, और संपन्न पर क्लिक करें।
चित्र 30: लक्ष्य में नियंत्रण तालिका स्कीमा सेट करना
उन्नत सेटिंग जुड़ जाती है (चित्र 31 देखें)।
चित्र 31: उन्नत सेटिंग
कार्य को कॉन्फ़िगर करने के बाद, कार्य बनाएं पर क्लिक करें , जैसा कि चित्र 32 में दिखाया गया है, कार्य बनाने के लिए।
चित्र 32: कार्य बनाएं
एक माइग्रेशन कार्य बन जाता है, जैसा कि चित्र 33 में दिखाया गया है। प्रारंभ में, कार्य की स्थिति "बनाना" है।
चित्र 33: माइग्रेशन कार्य
किसी कार्य में तालिका 1 में चर्चा की गई स्थितियों में से एक हो सकती है।
स्थिति | विवरण |
बनाना | कार्य बनाया जा रहा है। |
तैयार है | कार्य शुरू करने और चलाने के लिए तैयार है। आमतौर पर "बनाना" स्थिति का अनुसरण करता है। |
शुरू हो रहा है | कार्य शुरू हो रहा है, उस समय के दौरान कार्य प्रतिकृति उदाहरण और डेटाबेस समापन बिंदुओं से जुड़ता है। चयन और परिवर्तन नियम लागू होते हैं। |
चल रहा है | कार्य चल रहा है, जिसका अर्थ है कि कार्य डेटाबेस को स्थानांतरित कर रहा है। |
लोड पूर्ण | कार्य ने डेटाबेस को लोड करना (माइग्रेट करना) पूरा कर लिया है। |
असफल | कार्य विफल हो गया है। |
त्रुटि | माइग्रेशन के दौरान एक त्रुटि हुई है। कुछ स्कीमा और टेबल सफलतापूर्वक माइग्रेट हो गए हैं लेकिन कम से कम एक स्कीमा या तालिका माइग्रेट करने में विफल रही है। |
संशोधित करना | कार्य संशोधित कर रहा है, आमतौर पर उपयोगकर्ता द्वारा कार्य को संशोधित करने के बाद। |
रोकना | कार्य रुक रहा है, जो आमतौर पर उपयोगकर्ता द्वारा किसी कार्य को रोकने के लिए चुने जाने के बाद होता है। |
रोका गया | कार्य रोक दिया गया है, जो किसी उपयोगकर्ता द्वारा किसी कार्य को रोकने के कारण हो सकता है या क्योंकि एक माइग्रेशन प्रकार के मौजूदा डेटा को माइग्रेट करें और चल रहे परिवर्तनों को दोहराएं और कार्य ने प्रारंभिक लोड पूरा कर लिया है । |
हटाना | कार्य हटाया जा रहा है, जो उपयोगकर्ता द्वारा कार्य को हटाने के कारण है। |
तालिका 1: कार्य स्थितियाँ
दो IAM भूमिकाएँ, एक CloudWatch के लिए और दूसरी VPC के लिए, बनाई जाती हैं, जैसा कि चित्र 34 में दिखाया गया है।
चित्र 34: डीएमएस के लिए आईएएम भूमिकाएं
निष्कर्ष
RDS पर MySQL डेटाबेस इंस्टेंस को RDS पर पोस्टग्रेज डेटाबेस इंस्टेंस में माइग्रेट करने के इस तीसरे ट्यूटोरियल में, हमने प्रतिकृति इंस्टेंस, माइग्रेशन एंडपॉइंट्स और माइग्रेशन टास्क सहित DMS माइग्रेशन बनाया। चौथे ट्यूटोरियल में, हम माइग्रेशन करने और परिणामों का मूल्यांकन करने के लिए डीएमएस माइग्रेशन चलाने पर चर्चा करेंगे।