Takip et

AWS ile EC2 Otomatik Kapatma: Lambda, EventBridge ve SNS

AWS ile EC2 Otomatik Kapatma: Lambda, EventBridge ve SNS

Merhaba! Fatih Soysal burada. Bu makalede, AWS Lambda, EventBridge ve SNS kullanarak Amazon EC2 örneklerinizin otomatik olarak kapatılmasını nasıl sağlayacağınızı adım adım anlatacağım. Bu yöntem, maliyetleri düşürmek ve kaynakların verimli kullanılmasını sağlamak için idealdir. Özellikle geliştirme ve test ortamlarında kullanıldığında oldukça faydalıdır. Örneğin, gece veya hafta sonları EC2 örneklerini otomatik olarak kapatarak gereksiz maliyetlerden kurtulabilirsiniz.

Sistem Mimarisini Anlamak

Öncelikle, sistem mimarisini anlamak önemlidir. Bu mimari üç temel AWS servisini kullanır:

  • EventBridge: Zamanlanmış olayları tetiklemek için kullanacağımız olay tabanlı bir servistir. Örneğin, her gece belirli bir saatte bir olay oluşturabiliriz.
  • Lambda: EventBridge tarafından tetiklenen olaylara yanıt olarak EC2 örneklerini kapatacak kodumuzu çalıştıracağımız sunucusuz bir hesaplama hizmetidir.
  • SNS (Simple Notification Service): Lambda fonksiyonunun başarılı veya başarısız çalışması durumunda bildirim almak için kullanacağımız bir mesajlaşma servisi. Bu, sisteminizin durumunu izlemek ve olası hataları tespit etmek için yararlıdır.

Bu üç servis birlikte çalışarak, otomatik EC2 kapatma işlemini güvenilir ve ölçeklenebilir hale getirir. Şimdi, adım adım kurulum sürecine geçelim.

Adım Adım Kurulum

1. EventBridge Kuralı Oluşturma

İlk olarak, EventBridge’te bir kural oluşturmanız gerekiyor. Bu kural, belirli bir zaman çizelgesine göre bir olay tetikleyecektir. Örneğin, her gün saat 23:00’da bir olay tetikleyebilirsiniz. Kuralı oluştururken, hedef olarak Lambda fonksiyonunuzu belirtmeniz gerekmektedir.

2. Lambda Fonksiyonu Oluşturma

Ardından, EC2 örneklerini kapatacak bir Lambda fonksiyonu oluşturmanız gerekiyor. Bu fonksiyon, AWS SDK’sını kullanarak EC2 API’sini çağıracak ve örneklerin durumunu durduracaktır. Aşağıda Python ile yazılmış basit bir örnek yer almaktadır:


import boto3

ec2 = boto3.resource('ec2')

def lambda_handler(event, context):
    instances = ec2.instances.filter(Filters=[{'Name': 'tag:Name', 'Values': ['my-ec2-instance']}]) # Tag'inizi buraya ekleyin
    for instance in instances:
        instance.stop()
        print(f"Instance {instance.id} stopped.")

Fonksiyon kodunuzu yazdıktan sonra, EventBridge kuralıyla ilişkilendirin. Unutmayın, kodda my-ec2-instance yerine kendi EC2 örneğinizin etiketini (tag) girmelisiniz.

3. SNS Konusu Oluşturma ve Lambda ile Entegrasyon

Son adımda, Lambda fonksiyonunun durumunu izlemek için bir SNS konusu oluşturun. Lambda fonksiyonunuzu yapılandırırken, başarı ve hata durumlarında bu konuya mesaj göndermesini sağlayabilirsiniz. Böylece, e-posta veya SMS yoluyla bildirim alabilirsiniz. Bu, olası sorunları hızlıca tespit etmenize yardımcı olacaktır.

Güvenlik ve İpuçları

Bu sistemi kurarken, güvenlik en önemli husustur. Lambda fonksiyonunuza IAM rollerini doğru bir şekilde atamanız gerekmektedir. Fonksiyonun yalnızca EC2 örneklerini durdurma yetkisine sahip olduğundan emin olun. Ayrıca, EC2 örneklerinizin uygun şekilde etiketlendiğinden emin olun. Bu, Lambda fonksiyonunun doğru örnekleri hedeflemesini sağlar. Daha güvenli bir uygulama için, fatihsoysal.com adresindeki diğer yazılarımı inceleyebilirsiniz.

Bu sistem, maliyet optimizasyonunda önemli bir adım olacaktır. Ancak, iş yükünüzün gereksinimlerini ve durdurma işleminin sizin için uygun olup olmadığını dikkatlice değerlendirmeniz önemlidir. Örneğin, veri kaybına yol açabilecek işlemler çalıştırıyorsanız, bu yöntem sizin için uygun olmayabilir. Bu tür durumlarda daha detaylı bir planlama ve farklı çözümler gerekli olacaktır.

Umarım bu makale, AWS Lambda, EventBridge ve SNS kullanarak EC2 örneklerinizi otomatik olarak kapatmanızda size yardımcı olur. Sorularınız veya eklemeleriniz varsa, yorum yapmaktan çekinmeyin. Daha fazla AWS ipucu ve eğitimi için AWS resmi web sitesini ziyaret edebilirsiniz.

#Etiketler: AWS, EC2, Lambda, EventBridge, SNS, Otomatik Kapatma, Sunucu Otomasyonu, Bulut Bilişim, Maliyet Optimizasyonu, AWS Servisleri

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.