PowerShell के लिए Cloud Tools इंस्टॉल करना और उनका इस्तेमाल करना

1. खास जानकारी

PowerShell एक कमांड-लाइन शेल और .NET फ़्रेमवर्क पर बनाई गई स्क्रिप्टिंग भाषा है. यह Windows की दुनिया में इस्तेमाल किया जाने वाला डिफ़ॉल्ट टास्क ऑटोमेशन और कॉन्फ़िगरेशन मैनेजमेंट टूल है. PowerShell cmdlet एक लाइटवेट कमांड है, जिसका इस्तेमाल PowerShell में किया जाता है.

PowerShell के लिए Cloud टूल, Google Compute Engine, Google Cloud Storage, Google Cloud SQL, और Google Cloud DNS जैसे Google Cloud के संसाधनों को ऐक्सेस करने और उनमें बदलाव करने के लिए cmdlet का एक कलेक्शन है. आने वाले समय में यह टूल और भी कई सुविधाएं जोड़ी जाएंगी!

PowerShell से Google Cloud के संसाधनों को इस्तेमाल करने का तरीका जानने के लिए, इस लैब को फ़ॉलो करें.

आप इन चीज़ों के बारे में जानेंगे

  • PowerShell के लिए Cloud Tools कैसे इंस्टॉल करें.
  • Google Cloud SDK टूल से पुष्टि करने का तरीका.
  • PowerShell से Google Compute Engine बनाने और उसे मैनेज करने का तरीका.
  • PowerShell से Google Cloud Storage में डेटा का बैकअप लेने का तरीका.

आपको इनकी ज़रूरत होगी

  • Google Cloud Platform प्रोजेक्ट.
  • ब्राउज़र, जैसे कि Chrome या Firefox.
  • एक Windows मशीन.

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

इसे सिर्फ़ पढ़ें इसे पढ़ें और कसरतों को पूरा करें

Google Cloud Platform के साथ अपने अनुभव को कैसे रेटिंग दें?

शुरुआती इंटरमीडिएट कुशल

2. सेटअप और ज़रूरी शर्तें

इस कोडलैब के लिए, आपको PowerShell के साथ इंटरैक्ट करने के लिए Google Cloud प्रोजेक्ट की ज़रूरत होगी. अगर आपके पास कोई मौजूदा प्रोजेक्ट है, तो उसका इस्तेमाल किया जा सकता है या यहां दिया गया तरीका अपनाकर, नया प्रोजेक्ट बनाया जा सकता है.

अपने हिसाब से एनवायरमेंट सेटअप करना

अगर आपके पास पहले से कोई Google खाता (Gmail या G Suite) नहीं है, तो एक खाता बनाएं. Google Cloud Console ( console.cloud.google.com) में साइन इन करें और एक नया प्रोजेक्ट बनाएं:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

प्रोजेक्ट आईडी याद रखें. यह Google Cloud Platform के सभी प्रोजेक्ट के लिए एक खास नाम होता है. बाद में, इस कोडलैब को इस कोडलैब में PROJECT_ID के तौर पर दिखाया जाएगा.

इसके बाद, आपको Google Cloud Console में बिलिंग चालू करनी होगी, ताकि Google Cloud Datastore और Cloud Storage जैसे Google Cloud Platform के संसाधनों का इस्तेमाल किया जा सके.

Google Cloud Platform के नए उपयोगकर्ता $300 के मुफ़्त परीक्षण के लिए योग्य हैं. इस कोडलैब को आज़माने के लिए आपको कुछ डॉलर से ज़्यादा खर्च नहीं करना चाहिए. हालांकि, अगर आप ज़्यादा संसाधनों का इस्तेमाल करने का फ़ैसला करते हैं या उन्हें बंद कर देते हैं, तो यह ज़्यादा हो सकता है (इस दस्तावेज़ के आखिर में "क्लीनअप" सेक्शन देखें).

3. इंस्टॉल करना

अपने हिसाब से एनवायरमेंट इंस्टॉल करना

PowerShell cmdlet, Windows के लिए Cloud SDK के हिस्से के रूप में आते हैं. अगर आपने अभी तक ऐसा नहीं किया है, तो Windows के लिए क्विकस्टार्ट गाइड में बताए गए तरीके का इस्तेमाल करके, Windows के लिए Google Cloud SDK को डाउनलोड और इंस्टॉल करें. पक्का करें कि क्लाउड SDK टूल इंस्टॉल करते समय, आपने PowerShell विकल्प चुन लिया हो.

d6df1af5b5b08e41.png

4. पुष्टि करना

PowerShell के लिए Cloud Tools, Cloud SDK में सेव किए गए क्रेडेंशियल और सेटिंग का इस्तेमाल करते हैं. cmdlets का इस्तेमाल शुरू करने के लिए, आपको सबसे पहले क्लाउड SDK टूल का इस्तेमाल करके लॉगिन करना होगा.

अपने हिसाब से एनवायरमेंट की पुष्टि करना

Google Cloud SDK Shell शुरू करें और यह निर्देश चलाएं.

gcloud init

अपने Google उपयोगकर्ता खाते का इस्तेमाल करके लॉग इन करने का विकल्प स्वीकार करें.

To continue, you must log in. Would you like to log in (Y/n)? Y

जब आपसे कहा जाए, तब अपने ब्राउज़र में अपने Google उपयोगकर्ता खाते में लॉग इन करें. इसके बाद, Google Cloud Platform के संसाधनों को ऐक्सेस करने की अनुमति देने के लिए, अनुमति दें पर क्लिक करें.

कमांड प्रॉम्प्ट पर, उन प्रोजेक्ट की सूची से Cloud Platform प्रोजेक्ट चुनें जिनके पास मालिक, एडिटर या दर्शक की अनुमतियां हैं.

Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:

5. PowerShell में Google Cloud cmdlets चलाएं

पुष्टि होने के बाद, PowerShell में Google Cloud के cmdlets का इस्तेमाल किया जा सकता है. PowerShell कमांड-लाइन शेल ढूंढें और खोलें.

66b0c5d9b1cd7c68.png

यह पक्का करने के लिए कि Google Cloud के cmdlet सही तरीके से इंस्टॉल किए गए हैं, Get-GceInstance cmdlet चलाएं. इसमें आपके प्रोजेक्ट में मौजूद Compute Engine इंस्टेंस की सूची होनी चाहिए.

3ffd420f66f76b06.png

6. Google Compute Engine इंस्टेंस बनाना और मैनेज करना

इस सेक्शन में, PowerShell के लिए Google Cloud टूल में ही Google Compute Engine बनाया और मैनेज किया जा सकता है.

इंस्टेंस कॉन्फ़िगरेशन बनाना

कोई इंस्टेंस बनाने से पहले, आपको सबसे पहले इंस्टेंस कॉन्फ़िगरेशन बनाना होगा. इसके लिए, कम से कम नाम, मशीन टाइप, और बूट डिस्क की इमेज या पहले से मौजूद बूट डिस्क की ज़रूरत होती है. डिस्क इमेज बनाने के लिए Get-GceImage और कॉन्फ़िगरेशन बनाने के लिए New-GceInstanceConfig का इस्तेमाल करें.

$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
    -MachineType "n1-standard-4" `
    -DiskImage $disk

अब आपके पास एक कॉन्फ़िगरेशन उपलब्ध होगा, जिसका इस्तेमाल करके इंस्टेंस बनाया जा सकता है.

एक इंस्टेंस बनाएं

नया Compute Engine इंस्टेंस बनाने के लिए, Add-GceInstance cmdlet का इस्तेमाल करें. कोई प्रोजेक्ट और ज़ोन तय किया जा सकता है. हालांकि, ऐसा न करने पर पैरामीटर वैल्यू, आपके मौजूदा चालू Cloud SDK कॉन्फ़िगरेशन में डिफ़ॉल्ट रूप से सेट हो जाएंगी. अगर आपने प्रोजेक्ट के बारे में बताया है, तो PROJECT_ID को अपने प्रोजेक्ट आईडी से बदलना न भूलें.

$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b

किसी इंस्टेंस को मैनेज करना

किसी प्रोजेक्ट के वर्चुअल मशीन इंस्टेंस को वापस पाने के लिए, Get-GceInstance cmdlet का इस्तेमाल किया जा सकता है. हो सकता है कि इंस्टेंस का नाम सभी प्रोजेक्ट या ज़ोन में अलग-अलग न हो. इसलिए, खोज को सटीक बनाने के लिए, प्रोजेक्ट या ज़ोन पैरामीटर तय किया जा सकता है. डिफ़ॉल्ट रूप से, cmdlet उन सभी वैल्यू का इस्तेमाल करता है जो Cloud SDK के चालू कॉन्फ़िगरेशन में मौजूद होती हैं.

$instance = Get-GceInstance "my-vm-1"

Set-GceInstance cmdlet की मदद से अपना इंस्टेंस बनाने के बाद, इंस्टेंस टैग, डिस्क, ऐक्सेस कॉन्फ़िगरेशन, और अन्य मेटाडेटा सेट किया जा सकता है. कुछ मेटाडेटा जोड़ें और फिर नीचे दिया गया तरीका अपनाकर हटाएं.

Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"

अब, ऐसा टैग जोड़ें जिसका इस्तेमाल आपको बाद में इंस्टेंस हटाने के लिए करना है.

Set-GceInstance $instance -AddTag "to-be-removed"

अलग-अलग cmdlets का इस्तेमाल करके, इंस्टेंस को शुरू, बंद या रीस्टार्ट किया जा सकता है. नाम या Get-GceInstance cmdlet से लौटाए गए, सख्ती से टाइप किए गए ऑब्जेक्ट का इस्तेमाल करके, किसी इंस्टेंस को रेफ़र किया जा सकता है. इनमें से कुछ निर्देश आज़माकर देखें.

Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"

आखिर में, इंस्टेंस को पूरा करने के बाद, Remove-GceInstance cmdlet का इस्तेमाल करके और पहले बताया गया टैग देकर, उसे Compute Engine से हटा दें.

Get-GceInstance -Project $project |
    Where { $_.Tags.Items -contains "to-be-removed" } |
    Remove-GceInstance -WhatIf

7. Google Cloud Storage में डेटा का बैकअप लेना

कोडलैब के इस हिस्से में, अपने कंप्यूटर के डेटा का बैक अप, Google Cloud Storage में लिया जाता है. इसके लिए, आपको PowerShell के लिए Cloud Tools का इस्तेमाल करना होता है.

बकेट बनाना

Cloud Storage में फ़ाइलें अपलोड करने से पहले, आपको एक बकेट बनानी होगी. नया बकेट बनाने के लिए, New-GcsBucket cmdt का इस्तेमाल करें.

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

बकेट में फ़ाइलें अपलोड करना

बकेट में फ़ाइल या पूरे फ़ोल्डर अपलोड करने के लिए, New-GcsObject का इस्तेमाल किया जा सकता है.

किसी लोकल फ़ाइल के कॉन्टेंट को Cloud Storage में अपलोड किया जा सकता है. इसके लिए, -File पैरामीटर का इस्तेमाल करें और फ़ाइल का पाथ तय करें. इसके अलावा, आपके पास PowerShell पाइपलाइन के ज़रिए, ऑब्जेक्ट के कॉन्टेंट को स्ट्रिंग के तौर पर पास करने का विकल्प होता है. इसके अलावा, -Value पैरामीटर का इस्तेमाल भी किया जा सकता है.

अपनी मशीन पर एक लोकल फ़ाइल चुनें और नीचे बताए गए तरीके से अपने बकेट में अपलोड करें.

New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"

-UploadFolder पैरामीटर का इस्तेमाल करके और फ़ोल्डर का पाथ बताकर, लोकल डिस्क से Cloud Storage में पूरी डायरेक्ट्री अपलोड की जा सकती है. अगर आपको फ़ोल्डर को सीधे Cloud Storage बकेट के रूट में अपलोड नहीं करना है, तो -ObjectNamePrefix का इस्तेमाल करके एक प्रीफ़िक्स तय करें. यह प्रीफ़िक्स, अपलोड किए गए हर ऑब्जेक्ट पर लागू होगा.

अपनी मशीन पर एक लोकल फ़ोल्डर चुनें और नीचे बताए गए तरीके से बकेट में अपलोड करें.

New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"

Search का डेटा

cmdlets की मदद से या सामान्य फ़ाइल खोज cmdlets के ज़रिए सेवा देने वाली कंपनी के ज़रिए डेटा खोजा जा सकता है. अपनी बकेट के साथ नीचे दिया गया निर्देश देकर देखें.

Get-GcsObject $bucket | Select Name, Size | Out-GridView

आपको नाम और साइज़ के साथ एक ग्रिड पॉप-अप दिखेगा.

59d92a6bfec86f89.png

डेटा पढ़ना

डेटा पढ़ने के लिए, Read-GcsObject cmdlet का इस्तेमाल किया जा सकता है. उदाहरण के लिए, hello.txt नाम की फ़ाइल को डेस्कटॉप पर पढ़ने के लिए, यहां दिया गया कमांड इस्तेमाल किया जा सकता है.

Read-GcsObject $bucket "hello.txt" `
    -OutFile "$Env:UserProfile\Desktop\hello.txt"

डेटा मिटाना

आखिर में, आप Remove-GcsObject cmdlet का इस्तेमाल करके डेटा मिटा सकते हैं. बकेट का सभी कॉन्टेंट मिटाने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें.

Get-GcsObject $bucket | Remove-GcsObject

8. बधाई हो!

इस कोडलैब में, आपने PowerShell से Compute Engine इंस्टेंस और Cloud Storage बकेट को मैनेज करने का तरीका सीखा है. हालांकि, और भी बहुत कुछ है! PowerShell का इस्तेमाल करके, Cloud SQL और Cloud CDN के संसाधनों को भी मैनेज किया जा सकता है. ज़्यादा जानने के लिए, नीचे दिया गया तरीका अपनाएं.

इसमें हमने इन विषयों के बारे में बताया

  • PowerShell के लिए Cloud Tools कैसे इंस्टॉल करें.
  • Google Cloud SDK टूल से पुष्टि करने का तरीका.
  • PowerShell से Google Compute Engine बनाने और उसे मैनेज करने का तरीका.
  • PowerShell से Google Cloud Storage में डेटा का बैकअप लेने का तरीका.

अगले चरण