boto ile Amazon EC2’de Makine Çalıştırmak

Neslihan Şirin Saygılı —  15 Şubat 2015 — Yorum bırakın

Amazon EC2 (Amazon Elastic Compute Cloud) boyutlandırılabilir işlem kapasitesi sağlayan, bulut üzerinde çalışan bir web servisidir. EC2’nin temel amacı geliştiricilerin daha kolay web ölçekli bulut bilişim yapabilmesi olarak ifade edilmiş.[1] Bu yazıda, EC2 üzerinde aynı anda birden çok makine ayağa kaldırmak için kullandığım koddan bir parça anlatacağım. AWS (Amazon Web Service) web arayüzünden dilediğiniz yapılandırma ayarlarına sahip makineler oluşturabiliyorsunuz, fakat ben daha otomatik bir şekilde bu işi yapan bir betiğe ihtiyaç duydum ve bunun için “boto” [2] isimli Amazon web servisleri için Python dilinde bir arabirim kullanmanın uygun olduğuna karar verdim. (Yazı ve örnek kod, kurulum ve yetkilendirme kısımlarının yapılmış olduğunu varsaymaktadır.)

Örneği üç parçada ele alırsak, ilk olarak çalıştırmak istediğimiz makinenin gerekli ayarlarını göreceğiz. Bu bilgileri Python dictionary (sözlük) veri tipi içine ekleyebiliriz.

Bu ayarlar, worker, ayağa kaldıracağımız makineleri yapılandırma ayarlarına göre gruplayınca bu gruba verilen isimdir. image_id, worker tipi makinelerimizin içinde çalışacak olan işletim sisteminin (ve eğer istenirse üzerine eklenen programlar) Amazon web servislerindeki kayıt numarası, instance_type Amazon web servislerinde kullanabileceğiniz makine tipi, örneğin t2.micro en düşük özellikli tiplerden birisidir. security_groups ve key_name web servislere ulaşabilmeniz için gereken yetkilendirme araçlarından ikisidir. region ise bu makinenin fiziksel olarak dünyanın neresinde bulunduğuna dair verimerkezi bölge bilgisidir.

İkinci kısım sunucuya bağlanma, makineyi yaratma ve yaratılan makinelerin bilgilerini alma işlemlerinden oluşan ana parçadır. Bu ana parçayı sağlayan, bir sınıfın fonksiyonlardır. Sırasıyla, sunucuya bağlantı açan (connect) fonksiyonu,

Sunucu (bulut) üzerinde makine yaratan (create_instance) fonksiyonu,

ve son olarak yaratılan makinenin bilgilerini döndüren (get_instances) fonksiyonu aşağıdadır.

Son kısma gelirsek, burada verilen sayıda makine yaratan fonksiyonu

ve main fonksiyonu göreceğiz.

Tüm betik dosyasını kesintisiz halde görmek istersek, şöyle olacaktır;

Kaynaklar:
1. http://aws.amazon.com/ec2/, en son 15.02.2015 tarihinde erişildi.
2. https://boto.readthedocs.org/en/latest/index.html, en son 15.02.2015 tarihinde erişildi.

Neslihan Şirin Saygılı

Posts

İTÜ Bilgisayar Mühendisliği bölümünden mezunum, şimdi doktora öğrencisiyim. Temel olarak ilgilendiğim alanlar bilgi edinilmesi (information retrieval), verinin işlenmesi (metin sınıflandırma, yazar tespiti) ve bu verinin bilgiye dönüştürülmesidir. Python, Java, PHP, Ubuntu, HTTP yığını, Linux-Apache-MySQL üçlüsü gündelik olarak kullandığım araçlardır. Prisync'in kurucu yazılımcılarından biriyim.

No Comments

Be the first to start the conversation.

Yorum yapmak için