:::: MENU ::::

Terraform Kullanarak AWS Data Lifecycle Manager Kullanmak

Bu blogda, AWS EC2’ların anlık görüntülerini almanıza, bunları birkaç gün boyunca saklamanıza ve ayrıca güncel olmayan yedekleri silmenize yardımcı olan AWS service Data Lifecycle Manager, hakkında konuşacağız .

Bu hizmeti kullanmanın avantajları şunlardır:

  1. Otomatik.
  2. Düzenli veri yedeklemelerini zorunlu kılarak değerli verilerin korunması.
  3. Güncel olmayan yedekleri otomatik olarak silerek maliyet tasarrufu.

Bu hizmeti EC2 panosunda Elastic Block Store menüsü altında bulabilirsiniz.

Şekil 1: EC2 dashboard > EBS > Lifecycle Manager

Manuel yöntemle giderseniz, sizden bazı bilgileri doldurmanız istenecek ve bu sizin için policy oluşturacaktır. Ancak burada, tüm bu politikayı Terraform kullanarak oluşturacağız . Altyapınızı verimli bir şekilde dağıtmak için kullanılabilecek harika bir açık kaynaklı ‘kod olarak altyapı’ (IaC) aracıdır. Bunun anlamı, yerel bilgisayarınızdan bir Terraform kodu çalıştırırsınız ve kod, örnekleri ve diğer kaynakları sizin için otomatik olarak dağıtır.

Kodun çalışması için Terraform’un AWS altyapınıza erişimi olmalıdır. Bu blog için, Terraform’u nasıl yapılandıracağınızı ve ona AWS kimlik bilgilerini nasıl sağlayacağınızı bildiğinizi varsayıyorum. Ben burada kod editörü olarak PHPStorm kullanacağım, fakat siz başka bir editör kullanabilirsiniz.

Şimdi kullanacağımız Terraform scriptine bir göz atalım.

İlk olarak, bir IAM rolü oluşturacağız ve buna bir politika ekleyeceğiz. Bu politika, anlık görüntüler oluşturma, anlık görüntüleri silme, birimleri tanımlama ve anlık görüntüleri tanımlama gibi EC2’de işlemleri yapmak için izinler gerektirir. Ek olarak, anlık görüntü birimlerinde etiket oluşturma iznine sahip olmalıdır.

DLM (Data Lifecycle Manager) ilkesinin oluşturulması, yukarıda görebileceğiniz GitHub ana komut dosyasındaki 52. satırdan başlar. Ayrıca GitHub deposunda burada bulabilirsiniz .

Kodun ‘create_rule’ modülüne sahip son kısmı, anlık görüntüler ile anlık görüntülerin çalıştırılma zamanı arasındaki aralığı belirtir. Bunun için, politikayı her 24 saatte bir 10:30’te çalıştırıyorum.

Hangi instance’ların yedekleri alacağına ‘target_tags’ kısmında karar veriyoruz. ec2 instance’ında tag olarak Backup tag’ı True olan instanse’ların yedeklerini almasını söylüyoruz..

sonraki satırlarda, alınan anlık görüntülerin saklama politikasının nasıl ayarlanacağını, hangi etiketlerin verileceğini ve anlık görüntüler alınırken hangi hacimlerin hedefleneceğini gösteren Terraform kodunun son kısmı bulunmaktadır.

Bu Terraform betiğini çalıştırmak için izlenecek adımlar:

  1. Terraform çalışma alanınızda ‘datalifecycle‘ adlı bir dizin oluşturun.
  2. 2 tf dosyası oluşturun. Birini main.tf ve diğerini provider.tf olarak adlandırın
  3. provider.tf dosyasında, ayrıntıları provider:aws ve bölge olarak ekleyin. key bilgilerini güncelleyin.
  4. main.tf dosyasına, yukarıda verilen terraform betiğini yazın.
  5. Dizinde Terraform’u başlatmak için bir ‘ terraform init’ komutu çalıştırın .
  6. Komut dosyasını kontrol etmek ve çalıştırdığımızda hangi kaynakların oluşturulacağını görmek için ‘ terraform plan’ komutunu çalıştırın. Bu komutu çalıştırırsanız hiçbir kaynak oluşturulmayacağını unutmayın. Bu sadece betiğin doğru olup olmadığını ve hangi kaynakları oluşturacağını kontrol etmek içindir.
  7. 6. adımda her şey yolunda görünüyorsa, ‘ terraform apply’ komutunu çalıştırın ve istendiğinde ‘ evet’ yazın .
  8. Bundan sonra AWS hizmeti Yaşam Döngüsü Yöneticisine gidin ve politikanızı orada göreceksiniz.

Umarım bu blog, AWS’de anlık görüntüler oluşturmaya yönelik bir yaşam döngüsü ilkesi için bir Terraform betiğinin nasıl yazılacağını anlamanıza yardımcı olmuştur.

Herhangi bir yorumunuz veya sorunuz varsa, yoruma yazın.


So, what do you think ?

You must be logged in to post a comment.