BK क्लाउड / सिस्टम लेख
HI
English ENDeutsch DEEspañol ES中文 ZHFrançais FRPortuguês (Brasil) PT-BR日本語 JAहिन्दी HI
आइए बात करें ↗
← अनुभवों वाले लेखों पर वापस जाएँ

AWS: खराबी पर EC2 फिर से शुरू करना

पुराना लेख: 2019 के इस लेख में ऐतिहासिक निर्देश हैं, जिनमें Python का ऐसा वर्शन भी है जिसे अब समर्थन नहीं मिलता।

यह ब्लॉग एक EC2 इंस्टेंस पर चलता था। खर्च कम रखने के लिए मैंने लोड बैलेंसर नहीं लगाया; उसकी जगह एक इंस्टेंस की वांछित क्षमता वाला Auto Scaling समूह इस्तेमाल किया। कभी-कभी डेटाबेस कनेक्शन भरोसेमंद नहीं रहता था। ऐसे में सबसे आसान स्वचालित उपाय इंस्टेंस को रीस्टार्ट करना था। लोड बैलेंसर के बिना यह पूरी तरह सीधा नहीं था, इसलिए मैंने यहाँ प्रक्रिया लिख दी।

  • Route 53 हेल्थ चेक बनाएँ।
  • उससे बने CloudWatch अलार्म को चुनें और एक SNS टॉपिक जोड़ें।
  • टॉपिक को इस तरह कॉन्फ़िगर करें कि वह आपको ईमेल भेजे और Lambda फ़ंक्शन चलाए।
  • सुनिश्चित करें कि Lambda फ़ंक्शन की IAM भूमिका को EC2 इंस्टेंस रीबूट करने की अनुमति हो।

यह Lambda कोड मुझे ऑनलाइन मिला था। लेख लिखे जाने के समय इसके लिए Python 3.x के बजाय Python 2.7 चाहिए था।

import boto3

region = ‘us-west-1’

instances = [‘i-12345cb6de4f78g9h’, ‘i-08ce9b2d7eccf6d26’]

def lambda_handler(event, context):

    ec2 = boto3.client(‘ec2’, region_name=region)

    ec2.stop_instances(InstanceIds=instances)

    print ‘stopped your instances: ‘ + str(instances)