प्रोजेक्ट के बीच GCP Compute Engine इंस्टेंस कैसे कॉपी करें

Google Cloud Platform (GCP) अग्रणी क्लाउड सेवा प्रदाताओं में से एक है, जो व्यवसायों और डेवलपर्स को एप्लिकेशन निर्बाध रूप से बनाने, तैनात करने और स्केल करने में मदद करने के लिए कई प्रकार के टूल और सेवाएँ प्रदान करता है। GCP के भीतर सबसे व्यापक रूप से उपयोग की जाने वाली सेवाओं में से एक है Compute Engine, जो आपको अपनी विशिष्ट आवश्यकताओं के अनुरूप वर्चुअल मशीन (VM) बनाने और प्रबंधित करने की सुविधा देता है। चाहे आप वेब एप्लिकेशन, डेटाबेस, या विकास वातावरण चला रहे हों, Compute Engine आधुनिक कार्यभार के लिए आवश्यक लचीलापन और स्केलेबिलिटी प्रदान करता है।

हालाँकि, जैसे-जैसे संगठन बढ़ते हैं या पुनर्गठित होते हैं, ऐसा समय आ सकता है जब आपको Compute Engine इंस्टेंस को प्रोजेक्ट A से प्रोजेक्ट B में स्थानांतरित करने की आवश्यकता हो। अक्सर ऐसा तब होता है जब टीमों के बीच संसाधन माइग्रेट किए जाते हैं, प्रोजेक्ट समेकित किए जाते हैं, या किसी अन्य संगठन के साथ सहयोग किया जाता है। हालाँकि GCP प्रोजेक्ट के बीच VM इंस्टेंस ले जाने के लिए सीधा “कॉपी” फ़ंक्शन प्रदान नहीं करता—विशेष रूप से जब प्रोजेक्ट अलग-अलग खातों के स्वामित्व में हों—स्नैपशॉट और साझा अनुमतियों का उपयोग करके एक विश्वसनीय वर्कअराउंड है।

इस व्यापक मार्गदर्शिका में, हम आपको पूरी प्रक्रिया के बारे में चरण-दर-चरण बताएँगे, जिसमें आपके VM के स्नैपशॉट बनाने से लेकर अनुमतियाँ सेट करने और लक्ष्य प्रोजेक्ट में इंस्टेंस तैनात करने तक सब कुछ शामिल है। चाहे आप अनुभवी क्लाउड इंजीनियर हों या GCP का पता लगाने वाले शुरुआती, यह मार्गदर्शिका आपको यह कार्य कुशलता से करने के लिए ज्ञान और टूल प्रदान करेगी। इस लेख के अंत तक, आप अपने GCP Compute Engine इंस्टेंस को निर्बाध रूप से माइग्रेट कर सकेंगे, भले ही प्रोजेक्ट अलग-अलग खातों के स्वामित्व में हों।

आइए शुरू करें और उस माइग्रेशन प्रक्रिया को सरल बनाएँ जो शुरू में जटिल लग सकती है।



प्रोजेक्ट के बीच GCP कंप्यूट इंस्टेंस क्यों कॉपी करें?

कई कारण हैं जिनसे आपको प्रोजेक्ट के बीच VM इंस्टेंस कॉपी करने की आवश्यकता हो सकती है:

  • प्रोजेक्ट माइग्रेशन: बेहतर संगठन या बिलिंग उद्देश्यों के लिए संसाधनों को नए प्रोजेक्ट में ले जाना।
  • सहयोग: किसी अन्य टीम या संगठन के साथ VM साझा करना।
  • बैकअप और पुनर्प्राप्ति: आपदा पुनर्प्राप्ति के लिए किसी भिन्न प्रोजेक्ट में VM का बैकअप बनाना।

पूर्वापेक्षाएँ

शुरू करने से पहले, निम्नलिखित सुनिश्चित करें:

  1. पहुँच अनुमतियाँ:
    • आपके पास स्वामी या संपादक अनुमतियाँ हैं प्रोजेक्ट A(स्रोत प्रोजेक्ट) में।
    • आपके पास पर्याप्त अनुमतियाँ हैं (जैसे roles/compute.admin) प्रोजेक्ट B(लक्ष्य प्रोजेक्ट) में।
  2. बिलिंग सक्षम:
    • संसाधन बनाने और उपयोग करने के लिए दोनों प्रोजेक्ट में बिलिंग सक्षम होनी चाहिए।
  3. Cloud SDK इंस्टॉल किया गया:
    • इंस्टॉल करें Google Cloud SDK अपनी स्थानीय मशीन पर या Cloud Shell का उपयोग करें।
  4. स्रोत VM स्नैपशॉट:
    • आपको स्रोत VM इंस्टेंस का स्नैपशॉट बनाना होगा।

GCP कंप्यूट इंस्टेंस कॉपी करने के लिए चरण-दर-चरण मार्गदर्शिका

चरण 1: प्रोजेक्ट A में स्रोत VM का स्नैपशॉट बनाएँ

स्नैपशॉट VM की डिस्क की पॉइंट-इन-टाइम प्रति है। स्नैपशॉट बनाने के लिए:

  1. Google Cloud Console खोलें। प्रोजेक्ट: प्रोजेक्ट A।
  2. जाएँ Compute Engine> स्नैपशॉट।
  3. क्लिक करें स्नैपशॉट बनाएँ।
  4. आवश्यक विवरण भरें:
    • नाम: स्नैपशॉट को एक अद्वितीय नाम दें (जैसे my-vm-snapshot )।
    • स्रोत डिस्क: स्रोत VM की डिस्क चुनें।
    • स्थान: अपने लक्ष्य प्रोजेक्ट के निकट मल्टी-रीजन या क्षेत्र चुनें।
  5. क्लिक करें बनाएँ।

वैकल्पिक रूप से, आप निम्नलिखित gcloud कमांड का उपयोग करें:

gcloud compute snapshots create my-vm-snapshot \
    --source-disk=SOURCE_DISK_NAME \
    --source-disk-zone=SOURCE_DISK_ZONE \
    --project=PROJECT_A_ID

बदलें:

  • SOURCE_DISK_NAME को स्रोत VM की डिस्क के नाम से बदलें।
  • SOURCE_DISK_ZONE को स्रोत VM के क्षेत्र से बदलें (जैसे us-central1-a )।
  • PROJECT_A_ID को प्रोजेक्ट A की ID से बदलें।

चरण 2: स्नैपशॉट को प्रोजेक्ट B के साथ साझा करें

प्रोजेक्ट B को स्नैपशॉट तक पहुँच देने के लिए, आपको लक्ष्य खाते को अनुमतियाँ देनी होंगी।

  1. प्रोजेक्ट A में, जाएँ Compute Engine> स्नैपशॉट।
  2. अपने द्वारा बनाया गया स्नैपशॉट चुनें।
  3. क्लिक करें जानकारी पैनल दिखाएँ (या संपादन के लिए पेंसिल आइकन)।
  4. जोड़ें IAM नीति बाइंडिंग:
    • सदस्य: user:[email protected] (लक्ष्य खाते के ईमेल से बदलें)।
    • भूमिका: Compute Storage Admin।

वैकल्पिक रूप से, इस gcloud कमांड का उपयोग करें:

gcloud compute snapshots add-iam-policy-binding my-vm-snapshot \
    --member="user:[email protected]" \
    --role="roles/compute.storageAdmin" \
    --project=PROJECT_A_ID


चरण 3: प्रोजेक्ट B में डिस्क बनाने के लिए स्नैपशॉट का उपयोग करें

अब जब स्नैपशॉट साझा हो गया है, तो आप प्रोजेक्ट B में स्नैपशॉट का उपयोग करके नई डिस्क बना सकते हैं।

  • स्विच करें प्रोजेक्ट B पर, Google Cloud Console या Cloud Shell में:
gcloud config set project PROJECT_B_ID
  • साझा स्नैपशॉट से नई डिस्क बनाएँ:
gcloud compute disks create my-new-disk \
    --source-snapshot=projects/PROJECT_A_ID/global/snapshots/my-vm-snapshot \
    --zone=TARGET_ZONE \
    --project=PROJECT_B_ID

    बदलें:

    • PROJECT_A_ID को प्रोजेक्ट A की ID से बदलें।
    • my-vm-snapshot को स्नैपशॉट के नाम से बदलें।
    • TARGET_ZONE को उस क्षेत्र से बदलें जहाँ आप डिस्क बनाना चाहते हैं (जैसे us-central1-a )।
    • PROJECT_B_ID को प्रोजेक्ट B की ID से बदलें।

    चरण 4: डिस्क का उपयोग करके प्रोजेक्ट B में नया VM बनाएँ

    डिस्क बन जाने के बाद, आप उसका उपयोग प्रोजेक्ट B में नया VM लॉन्च करने के लिए कर सकते हैं।

    • नया VM बनाने के लिए निम्न कमांड चलाएँ:
    gcloud compute instances create my-new-vm \
        --zone=TARGET_ZONE \
        --disk=name=my-new-disk,boot=yes,auto-delete=no \
        --project=PROJECT_B_ID
    
    
    • प्लेसहोल्डर को उपयुक्त मानों से बदलें:
      • my-new-vm: नए VM का नाम।
      • my-new-disk: स्नैपशॉट से बनाई गई डिस्क का नाम।
      • TARGET_ZONE: वह क्षेत्र जहाँ VM बनाया जाएगा।
      • PROJECT_B_ID: प्रोजेक्ट B की ID।

    चरण 5: नए VM को सत्यापित करें

    VM बन जाने के बाद, सत्यापित करें कि वह चल रहा है और सुलभ है:

    1. जाएँ Compute Engine> VM इंस्टेंस में देखें। प्रोजेक्ट: प्रोजेक्ट B।
    2. नए VM की स्थिति जाँचें।
    3. VM में SSH करें ताकि यह सुनिश्चित हो सके कि वह अपेक्षा के अनुरूप काम कर रहा है।

    सर्वोत्तम प्रथाएँ

    • संसाधन साफ़ करें: यदि स्नैपशॉट की अब आवश्यकता नहीं है, तो अनावश्यक शुल्क से बचने के लिए प्रोजेक्ट A में स्नैपशॉट हटाएँ:
    gcloud compute snapshots delete my-vm-snapshot --project=PROJECT_A_ID
    
    • लेबल का उपयोग करें: बेहतर संसाधन प्रबंधन के लिए प्रोजेक्ट B में नए VM और डिस्क में लेबल जोड़ें।
    • लागत पर नज़र रखें: अप्रत्याशित शुल्क से बचने के लिए दोनों प्रोजेक्ट की बिलिंग पर नज़र रखें।

    निष्कर्ष

    GCP Compute Engine इंस्टेंस को एक प्रोजेक्ट से दूसरे प्रोजेक्ट में कॉपी करने में, विशेष रूप से जब प्रोजेक्ट अलग-अलग खातों के स्वामित्व में हों, स्नैपशॉट बनाना, उसे साझा करना, और फिर उसका उपयोग करके नया VM बनाना शामिल है। इस मार्गदर्शिका में बताए गए चरणों का पालन करके, आप सुरक्षा और दक्षता सुनिश्चित करते हुए अपने VM को सफलतापूर्वक माइग्रेट कर सकते हैं।

    यदि आपको यह मार्गदर्शिका उपयोगी लगी, तो इसे दूसरों के साथ साझा करें या नीचे टिप्पणी छोड़ें। हमें बताएँ कि क्या आपके कोई प्रश्न हैं या GCP संसाधनों के प्रबंधन के लिए अतिरिक्त सुझाव हैं!

    टिप्पणी छोड़ें