செயலற்ற GCP இயந்திரங்களுக்கு பயனர்களை எவ்வாறு எச்சரிப்பது

செயலற்ற GCP இயந்திரங்களுக்கு பயனர்களை எவ்வாறு எச்சரிப்பது
Python

கூகுள் கிளவுட் செலவுத் திறனை மேம்படுத்துகிறது

இன்றைய கிளவுட்-மைய சூழலில், வளங்களை திறமையாக நிர்வகிப்பது செலவுகளைக் குறைப்பதற்கும் உற்பத்தித்திறனை அதிகரிப்பதற்கும் முக்கியமானது. குறிப்பாக, Google Cloud Platform (GCP) பயனர்களுக்கு, வள நிர்வாகத்தின் இன்றியமையாத அம்சம் இயந்திர செயல்பாட்டைக் கண்காணிப்பதாகும். GCP இல் பயன்படுத்தப்படாத மெய்நிகர் இயந்திரங்கள் எந்த செயல்பாட்டு நன்மைகளையும் வழங்காமல் காலப்போக்கில் குறிப்பிடத்தக்க செலவுகளை பெறலாம்.

இந்தச் சிக்கலைத் தீர்க்க, பயனர்கள் ஒரு மாதத்திற்கும் மேலாக தங்கள் கணினியில் உள்நுழையாமல் இருந்தால் அவர்களுக்கு மின்னஞ்சல் மூலம் அறிவிப்பதை உள்ளடக்கிய ஒரு மேம்படுத்தல் முன்மொழியப்பட்டது. இந்த செயலூக்கமான நடவடிக்கையானது சாத்தியமான திறமையின்மைகளைப் பற்றி பயனர்களுக்குத் தெரிவிப்பது மட்டுமல்லாமல், இயந்திர நிகழ்வுகளைத் தொடர்வது அல்லது நிறுத்துவது குறித்து தகவலறிந்த முடிவுகளை எடுக்க அவர்களுக்கு அதிகாரம் அளிக்கிறது, இதன் மூலம் வள பயன்பாட்டை மேம்படுத்துகிறது மற்றும் தேவையற்ற செலவினங்களைக் குறைக்கிறது.

கட்டளை விளக்கம்
compute_v1.InstancesClient() நிகழ்வுகளை நிர்வகிப்பதற்கு Google Compute Engine API கிளையண்டைத் துவக்குகிறது.
instances().list() GCP இலிருந்து ஒரு குறிப்பிட்ட திட்டம் மற்றும் மண்டலத்தில் உள்ள கணக்கீட்டு நிகழ்வுகளின் பட்டியலை மீட்டெடுக்கிறது.
datetime.strptime() குறிப்பிட்ட வடிவமைப்பின்படி தேதி சரத்தை தேதி நேர பொருளாக பாகுபடுத்துகிறது.
timedelta(days=30) தேதி ஆஃப்செட்களைக் கணக்கிடப் பயன்படும் 30 நாட்களின் நேர வேறுபாட்டைக் குறிக்கிறது.
SendGridAPIClient() மின்னஞ்சல்களை அனுப்புவதற்காக SendGrid API உடன் தொடர்புகொள்வதற்காக கிளையண்டைத் துவக்குகிறது.
Mail() SendGrid வழியாக அனுப்பக்கூடிய மின்னஞ்சல் செய்தியை உருவாக்குகிறது.
compute.zone().getVMs() கம்ப்யூட் லைப்ரரியைப் பயன்படுத்தி கூகுள் கிளவுட் பிளாட்ஃபார்மில் ஒரு குறிப்பிட்ட மண்டலத்தில் உள்ள அனைத்து விஎம்களையும் மீட்டெடுப்பதற்கான Node.js முறை.
sgMail.send() Node.js சூழலில் SendGrid இன் மின்னஞ்சல் சேவையைப் பயன்படுத்தி மின்னஞ்சலை அனுப்புகிறது.

ஸ்கிரிப்ட் செயல்பாடு மேலோட்டம்

வழங்கப்பட்ட Python மற்றும் Node.js ஸ்கிரிப்டுகள் Google Cloud Platform (GCP) மெய்நிகர் இயந்திரங்களில் (VMs) பயனர் செயல்பாட்டைக் கண்காணிக்கும் செயல்முறையை தானியங்குபடுத்த வடிவமைக்கப்பட்டுள்ளன. அவற்றின் முக்கிய நோக்கம், ஒரு மாதத்திற்கும் மேலாக அணுகப்படாத VMகளை அடையாளம் கண்டு, செயலிழக்கச் செய்ய அல்லது அகற்றுவதைப் பரிந்துரைப்பதன் மூலம் செலவுகளைக் குறைப்பதாகும். பைதான் ஸ்கிரிப்ட் GCP நிகழ்வுகளில் இருந்து தரவை திறம்பட நிர்வகிக்கவும் மீட்டெடுக்கவும் 'compute_v1.InstancesClient' ஐப் பயன்படுத்துகிறது. இது ஒவ்வொரு நிகழ்வின் கடைசி உள்நுழைவு மெட்டாடேட்டாவையும் தற்போதைய தேதிக்கு எதிராகச் சரிபார்க்கிறது, கடைசி அணுகல் 30 நாட்களுக்கு முன்பு இருந்ததா என்பதைக் கணக்கிட 'datetime.strptime' மற்றும் 'timedelta' ஆகியவற்றைப் பயன்படுத்துகிறது.

ஒரு VM செயலற்றதாகக் கண்டறியப்பட்டால், ஸ்கிரிப்ட் 'SendGridAPIClient' மற்றும் 'Mail' கட்டளைகளைப் பயன்படுத்தி பயனருக்கு மின்னஞ்சல் அறிவிப்பை உருவாக்கி அனுப்புகிறது, செயலற்ற VMஐ அகற்றி அல்லது மூடுவதன் மூலம் சாத்தியமான செலவு-சேமிப்பு நடவடிக்கைகள் குறித்து ஆலோசனை வழங்குகிறது. இதேபோல், Node.js ஸ்கிரிப்ட் VM விவரங்களைப் பெற Google கிளவுட் 'கம்ப்யூட்' நூலகத்தைப் பயன்படுத்துகிறது மற்றும் மின்னஞ்சல் அறிவிப்புகளை நிர்வகிக்க 'sgMail.send' ஐப் பயன்படுத்துகிறது. தரவு மீட்டெடுப்பிற்கான GCP மற்றும் மின்னஞ்சல்களை அனுப்புவதற்கு SendGrid ஆகிய இரண்டுடனும் தொடர்புகளை தானியக்கமாக்குவதால், கிளவுட் வள செயல்திறனை நிர்வகிப்பதற்கான செயல்முறையை கணிசமாக ஒழுங்குபடுத்துவதால், இந்த கட்டளைகள் முக்கியமானவை.

GCP VMகளுக்கான செயலற்ற அறிவிப்புகளை தானியங்குபடுத்துகிறது

கூகுள் கிளவுட் செயல்பாடுகளைப் பயன்படுத்தி பைதான் ஸ்கிரிப்ட்

import base64
import os
from google.cloud import compute_v1
from google.cloud import pubsub_v1
from datetime import datetime, timedelta
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

def list_instances(compute_client, project, zone):
    result = compute_client.instances().list(project=project, zone=zone).execute()
    return result['items'] if 'items' in result else []

def check_last_login(instance):
    # Here you'd check the last login info, e.g., from instance metadata or a database
    # Mock-up check below assumes metadata stores last login date in 'last_login' field
    last_login_str = instance['metadata']['items'][0]['value']
    last_login = datetime.strptime(last_login_str, '%Y-%m-%d')
    return datetime.utcnow() - last_login > timedelta(days=30)

def send_email(user_email, instance_name):
    message = Mail(from_email='from_email@example.com',
                  to_emails=user_email,
                  subject='Inactive GCP VM Alert',
                  html_content=f'<strong>Your VM {instance_name} has been inactive for over 30 days.</strong> Consider deleting it to save costs.')
    sg = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
    response = sg.send(message)
    return response.status_code

def pubsub_trigger(event, context):
    """Background Cloud Function to be triggered by Pub/Sub."""
    project = os.getenv('GCP_PROJECT')
    zone = 'us-central1-a'
    compute_client = compute_v1.InstancesClient()
    instances = list_instances(compute_client, project, zone)
    for instance in instances:
        if check_last_login(instance):
            user_email = 'user@example.com' # This should be dynamic based on your user management
            send_email(user_email, instance['name'])

பயனர் அறிவிப்புக்கான பின்தள ஒருங்கிணைப்பு

Node.js Google Cloud Functions ஐப் பயன்படுத்துகிறது

const {Compute} = require('@google-cloud/compute');
const compute = new Compute();
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

exports.checkVMActivity = async (message, context) => {
    const project = 'your-gcp-project-id';
    const zone = 'your-gcp-zone';
    const vms = await compute.zone(zone).getVMs();
    vms[0].forEach(async vm => {
        const metadata = await vm.getMetadata();
        const lastLogin = new Date(metadata[0].lastLogin); // Assuming 'lastLogin' is stored in metadata
        const now = new Date();
        if ((now - lastLogin) > 2592000000) { // 30 days in milliseconds
            const msg = {
                to: 'user@example.com', // This should be dynamic
                from: 'noreply@yourcompany.com',
                subject: 'Inactive VM Notification',
                text: `Your VM ${vm.name} has been inactive for more than 30 days. Consider deleting it to save costs.`,
            };
            await sgMail

Google Cloud Platform இல் மூலோபாய செலவு மேலாண்மை

கிளவுட் கம்ப்யூட்டிங்கில் பயனுள்ள செலவு மேலாண்மை, குறிப்பாக கூகுள் கிளவுட் பிளாட்ஃபார்ம் (ஜிசிபி) போன்ற இயங்குதளங்களில், செயல்பாட்டு வரவு செலவுத் திட்டங்களை மேம்படுத்துவதற்கு இன்றியமையாதது. செயலற்ற இயந்திரங்களை அடையாளம் காண்பதற்கு அப்பால், கிளவுட் வள மேலாண்மைக்கான முழுமையான அணுகுமுறையைப் புரிந்துகொள்வது மற்றும் செயல்படுத்துவது குறிப்பிடத்தக்க செலவு சேமிப்புக்கு வழிவகுக்கும். இது மெய்நிகர் இயந்திரத்தின் (VM) பயன்பாட்டைக் கண்காணிப்பது மட்டுமல்லாமல், தேவையின் அடிப்படையில் ஆற்றல்மிக்க வளங்களை அளவிடுதல், சரியான விலைத் திட்டங்களைத் தேர்ந்தெடுப்பது மற்றும் பட்ஜெட் விழிப்பூட்டல்களைப் பயன்படுத்துதல் ஆகியவற்றை உள்ளடக்கியது. தேவையற்ற செலவினங்களை வியத்தகு முறையில் குறைக்கக்கூடிய, நெரிசல் இல்லாத நேரங்களில் வளங்களை குறைக்கும் அல்லது நிறுத்தும் தனிப்பயன் ஆட்டோமேஷனை அமைப்பது செலவு மேம்படுத்தல் உத்திகளில் அடங்கும்.

செலவினங்களை திறம்பட நிர்வகிப்பதற்கான ஒரு முக்கிய அம்சம், முன்னெச்சரிக்கை VMகளைப் பயன்படுத்துவதாகும், இவை நிலையான VMகளை விட கணிசமாக மலிவானவை மற்றும் தவறுகளை பொறுத்துக்கொள்ளக்கூடிய பயன்பாடுகளுக்கு ஏற்றதாக இருக்கும். மேலும், பயன்படுத்தப்படாத வட்டு சேமிப்பு மற்றும் ஸ்னாப்ஷாட்களைச் சரிபார்ப்பதற்கும் கையாள்வதற்கும் தனிப்பயன் கொள்கைகளைச் செயல்படுத்துவது செலவுத் திறனை மேலும் மேம்படுத்தும். வள ஒதுக்கீடுகளை தொடர்ந்து பகுப்பாய்வு செய்வதும் திருத்துவதும் நிறுவனங்கள் தங்களுக்கு உண்மையிலேயே தேவைப்படுவதற்கு மட்டுமே பணம் செலுத்துவதை உறுதிசெய்கிறது, செலவு குறைந்த கிளவுட் சூழலை பராமரிக்க GCP வழங்கும் கருவிகளின் முழு தொகுப்பையும் பயன்படுத்துகிறது.

GCP இல் VM மேலாண்மை குறித்து அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. கேள்வி: முன்கூட்டியே தடுக்கக்கூடிய VM என்றால் என்ன?
  2. பதில்: முன்கூட்டிய VM என்பது Google Cloud VM நிகழ்வாகும், இதை நீங்கள் சாதாரண நிகழ்வுகளை விட மிகக் குறைந்த விலையில் வாங்கலாம். இருப்பினும், பிற பணிகளுக்கு அந்த ஆதாரங்களுக்கான அணுகல் தேவைப்பட்டால், Google இந்த நிகழ்வுகளை நிறுத்தலாம்.
  3. கேள்வி: GCP இல் பயன்படுத்தப்படாத VMகளை நான் எவ்வாறு அடையாளம் காண்பது?
  4. பதில்: GCP கன்சோல் மூலம் உள்நுழைவு மற்றும் பயன்பாட்டு முறைகளைக் கண்காணிப்பதன் மூலம் அல்லது குறிப்பிட்ட செயலற்ற வரம்புகளின் அடிப்படையில் உங்களை எச்சரிக்க தனிப்பயன் ஸ்கிரிப்ட்களை அமைப்பதன் மூலம் நீங்கள் பயன்படுத்தப்படாத VMகளை அடையாளம் காணலாம்.
  5. கேள்வி: GCP பட்ஜெட் எச்சரிக்கைகள் என்ன?
  6. பதில்: GCP பட்ஜெட் விழிப்பூட்டல்கள் என்பது பயனர்களின் செலவு முன் வரையறுக்கப்பட்ட வரம்புகளை மீறும் போது அவர்களை எச்சரிப்பதற்காக அமைக்கப்பட்ட அறிவிப்புகளாகும், இது எதிர்பாராத செலவுகளைத் தடுக்க உதவுகிறது.
  7. கேள்வி: ஆதாரங்களைக் குறைப்பதன் மூலம் செலவுகளைச் சேமிக்க முடியுமா?
  8. பதில்: ஆம், ஆதாரங்கள் பயன்பாட்டில் இல்லாதபோது, ​​அதாவது அதிக நெரிசல் இல்லாத நேரங்கள் போன்றவற்றை மாறும் வகையில் அளவிடுவது, கிளவுட் கம்ப்யூட்டிங் செலவைக் கணிசமாகக் குறைக்கும்.
  9. கேள்வி: VM ஐ நீக்கும்போது என்ன கருத்தில் கொள்ள வேண்டும்?
  10. பதில்: VMஐ நீக்குவதற்கு முன், தரவு காப்புப்பிரதி, சட்டப்பூர்வ தரவுத் தக்கவைப்புத் தேவைகள் மற்றும் எதிர்காலத்தில் அந்த நிகழ்வு மீண்டும் தேவைப்படுமா என்பதைக் கவனியுங்கள். இது தரவு இழக்கப்படாமல் இருப்பதையும், இணக்கத் தரங்கள் பூர்த்தி செய்யப்படுவதையும் உறுதி செய்கிறது.

கிளவுட் செலவு மேலாண்மையை மூடுகிறது

கூகுள் கிளவுட் பிளாட்ஃபார்மில் செயல்படாத VMகளுக்கு தானியங்கு அறிவிப்பு அமைப்புகளை ஏற்றுக்கொள்வது திறமையான கிளவுட் வள நிர்வாகத்தை நோக்கிய ஒரு மூலோபாய நகர்வாகும். இது பயன்படுத்தப்படாத வளங்களைப் பற்றி பயனர்களை எச்சரிப்பதன் மூலம் செலவைக் குறைக்க உதவுவது மட்டுமல்லாமல் ஒட்டுமொத்த செயல்பாட்டுத் திறனையும் மேம்படுத்துகிறது. இந்த அமைப்புகளை ஒருங்கிணைப்பதன் மூலம், நிறுவனங்கள் தேவையான ஆதாரங்களில் மட்டுமே முதலீடு செய்வதை உறுதிசெய்து, அதன் மூலம் தங்கள் கிளவுட் செலவினங்களை மேம்படுத்தி நிதி விரயத்தைக் குறைக்க முடியும்.