Want to move your WordPress blog to the AWS EC2?

Hey all,

If you have been running your wordpress blog on a hosting provider and want to move for several reasons like slow performance , lack of control etc. , AWS EC2 would be a nice solution. Do not be afraid of not being familiar to the AWS. As it offers you free tier usage, you can  assess AWS services for one long year 🙂

If you go on reading, I presume you want to move your wordpress content management system to the AWS EC2 which will not be a tough process.

Overview:

Continue reading “Want to move your WordPress blog to the AWS EC2?”

AWS Restore ve Static Content ’in S3 ’e aktarılması

Merhaba,

Bölüm 1 ve Bölüm 2 ‘de farklı servis sağlayıcısında yayınlanan web uygulamasının yedeğini AWS S3 ‘e almıştık ve web uygulamamızı çalıştıracağımız yeni ortamı Elastic Beanstalk ve CloudFront servislerini kullanarak yapılandırmıştık. Bu bölümde, S3 ‘teki yedeğimizi yeni ortama geri yükyeceğiz(restore) ve CloudFront için içeriğin bazı kısımlarını S3’e upload edeceğiz.

CloudFront servisinin web adresini açtığınızda ilk olarak wordpress uygulamasının kurulum arayüzüne ulaşırsınız. Çünkü elastic beanstalk ile yüklediğiniz ilk sürümünüz normal şartlarda sadece wordpress ’i ve wordpress’in varsayılan halini içermektedir. WordPress’in kurulum ekranını takip ederek wordpress uygulamasını varsayılan ayarları ile kurabilirsiniz.Wordpress uygulaması için veritabanına ihtiyacınız olacak. Test ortamımda veritabanı hizmetini AWS RDS MySQL ile sağladım.

WordPress’in genel kurulumundan sonra ilk yapılması gereken updraftplus isimli backup/restore eklentisinin yeni web sitenize yüklenmesi olmalıdır(backup/restore için kullandığınız eklenti farklı ise onu kurabilirsiniz). Böylece S3 ‘teki yedeğinizi yeni web uygulamanıza/sitenize geri yükleyerek diğer servis sağlayıcısında çalışmakta olan prod web sitenizi, yeni ortamda elde edebileceksiniz.

clip_image002

 

Continue reading “AWS Restore ve Static Content ’in S3 ’e aktarılması”

AWS Elastic Beanstalk ve CloudFront servislerinin yapılandırılması

Merhaba,

İlk bölümde wordpress web uygulamasının yedeğini S3’e almıştık. Aldığımız yedeği yükleyebileceğimiz ortamı oluşturmamız gerekiyor. AWS’de bu ortamı oluşturken birkaç seçeneğiniz mevcut. AWS’yi kullanma biçimizine bağlı olarak seçeneklerin/senaryoların sayıları fazlalaştırılabilir.

Yazının devamını incelemeden önce konu bütünlüğü açısından “Bölüm 1 AWS Backup WordPress to S3isimli yazımı inceleyebilirsiniz.

Bu yazıda incelediğim senaryo şu şekildeydi:

  • Elastic Beanstalk ile web uygulamasının kodlarını ve yaptığım değişiklikleri AWS’ye yükledim .
  • CloudFront konfigürasyonunu yaptım.

Beanstalk ile bu işlemi yaparken arka planda otomatik olarak sanal sunucu instance’ınız açılıyor. Elastic Load Balancer tanımlanıyor. Auto Scaling group tanımlanıyor.

Bu şekilde ilerlemek yerine şunu da tercih edebilirsiniz. Sanal sunucunuzu seçtiğiniz bir image(ubuntu,fedora vb.) ile kurabilirsiniz. Ardından apache vb. ön gereksinimleri kurabilirsiniz. Ardından wordpress uygulamasını kurabilirsiniz. Erişim için gereken security group,access control list bileşenlerini yapılandırabilirsiniz. Ardından auto-scaling ve load balancing seçeneklerini yapılandırabilirsiniz. Bu aşamaya gelene kadar yorulabilirsiniz 🙂 O açından elastic beanstalk vb. bir servis kullanmak oldukça avantajlıdır.

clip_image001

 

Continue reading “AWS Elastic Beanstalk ve CloudFront servislerinin yapılandırılması”

AWS Backup WordPress to S3

Merhaba,

Önceki yazılarımda elastic beanstalk,elasticache ve cloudfront ile bir web uygulamasının aws üzerinde yayınlanmasından bahsetmiştim. Beanstalk uygulamaların dağıtımı ve yönetimi için, elasticache veritabanlarında cache cluster için, cloudfront static içeriği ayırmak ve içerik dağıtım ağı(CDN) servisi olarak kullanılmaktaydı.

Yeni yazımda bir reel hayat senaryosundan bahsetmek istiyorum. Yazının Bölüm ‘leri aşağıdaki başlıklardan oluşacaktır.

Senaryo: Farklı bir servis sağlayıcısında yayınlanan web uygulamasının AWS üzerine aktarılması.

Web uygulaması olarak wordpress uygulamasını seçtim. Çalışmayı, production’da yayınladığım web sitem üzerinde yaptım:) Farklı bir servis sağlayıcısında, wordpress üzerinde yayınladığım kişisel blog’umun sistem mimarisini biraz farklılaştırarak AWS üzerine aldım. Senaryomda ve yazı dizisinin bütününde aşağıdaki konuları incelemiş olacağım.

  • Kişisel bloğumun yedeğini almak için bir yöntem/eklenti(plugin) seçtim.
  • Yedeği AWS S3 üzerine aldım.
  • Elastic beanstalk ile, modifiye ettiğim wordpress web uygulaması kodlarını AWS’ye yükledim.
  • Elastic Beanstalk’un sunduğu Elastic Load Balancer ve Auto-Scaling servislerinden faydalanmış oldum.
  • WordPress’in static content’ini AWS S3 üzerine aktardım.W3 Total Cache eklentisini kullandım.
  • S3, static web site hosting için sunduğu yapılandırma seçeneğini kullandım.
  • Yedek almak için kullandığım plugin ile aldığım yedeği AWS üzerindeki yeni ortama yükledim.
  • Cloudfront ile distribution yapılandırarak static content’in AWS S3 üzerinden, dynamic content’in AMI(elastic block store,ebs) üzerinden sunulmasını sağladım.

Okumakta olduğunuz bölümünde, wordpress uygulamasın yedeğinin AWS S3’e alınmasından bahsedeceğim. WordPress’in yedeğinin alınması için çeşitli pluging’ler mevcut. Aralarında en kullanışlı olduğunu düşündüğüm backup plugin’i, http://updraftplus.com/ adresinde erişebileceğiniz plugin’dir.

Continue reading “AWS Backup WordPress to S3”

AWS Elastic Beanstalk ile Web Application Kurulumu 2

There are lots of documentation(blog posts etc.) about AWS in English that’s why I have been writing in Turkish. I hope this will be informative for Turkish readers.
Regards.

Merhaba,

Yazımın ilk bölümünde; relational database servisi olarak MySQL yapılandırmasını,Elastic Beanstalk ile wordpress web uygulamamızın ilk sürümünün kurulumunu tamamlamıştık. Geldiğimiz noktayı aşağıdaki şekilde ifade edebiliriz.

  • Ziyaretçi web adresini Internet Browser ile açmaya çalışır
  • DNS sağlayıcısı, web adresinin ip adresine yönledirme yapar(AWS Elastic IP)
  • Elastic Load Balancer, listener’a gelen talebi içeride çalışan sağlıklı instance’a aktarır
  • Sağlıklı instance’ın kaynakları yetersiz kaldığında üretilecek alarm’dan dolayı auto-scaling devreye girerek VPC içine yeni bir instance açar. Mevcut instance ve yeni açılacak instance’lar Elastic Block Storage’de tutulurlar
  • Sistem yatay olarak(horizontal) genişleme eğilimindedir.(auto-scaling)
  • Horizontal genişleme için web application’ın stateless mimaride çalışması gerekir.

WordPress web uygulaması Elastic Beanstalk ile kurulurken en az bir instance açılır. Yapılan tüm konfigürasyon bu instance üzerinde tutulmaktadır. Auto-scaling’den dolayı ortama yeni instance’lar eklenirse ve/veya yine auto-scaling’den dolayı mevcut instance terminate edilirse yapılandırma kaybolur.

Auto-scaling ile birden çok sunuculu sistemin avantajından faydalanmak için web server’ların stateless mimaride çalışması gerekir. Varsayılan yapılandırması ile wordpress, kullanıcıların upload ettiği veriyi(image vb.) lokal dosya sisteminde saklar. Dolayısıyla bu açıdan stateless değildir. Yazının ilerleyen aşamalarında static content(image,javascript dosyaları,style sheet vb.)’in AWS S3 üzerinde tutulması ve CloudFront ile hizmete açılmasından bahsediyor olacağım.

Veritabanı perspektifinden yaklaştığımızda; veritabanı yükünün yoğun olduğu ortamlar için okuma ağırlıklı iş yükünün optimize edilmesi ve geçikmenin düşmesi için kullanabileceğiniz bir başka servisten, AWS ElastiCache’den, bahsedeceğim.

Continue reading “AWS Elastic Beanstalk ile Web Application Kurulumu 2”

AWS Elastic Beanstalk ile Web Application Kurulumu 1

There are lots of documentation(blog posts etc.) about AWS in English that’s why I have been writing in Turkish. I hope this will be informative for Turkish readers.
Regards.

Merhaba,

WordPress; php ve mysql tabanlı, açık kaynak kodlu blog ve içerik yönetim sistemidir. Kişisel web sitelerinden yüksek trafik yoğunluklu web sitelerine kadar hemen her türlü içeriğin yayınlanması için kullanılmaktadır. WordPress’in ilk sürümü 2003’de yayınlanmıştı ve elastik, ölçeklenebilir, bulut tabanlı sistemlerde çalışması düşünülerek yapılmamıştı. Zamanla gelişen sürümleri ile bu içerik yönetim sistemi(content management system) ; modern, ölçeklenebilir ve bulut tabanlı sistemlerde çalışabilir hale gelmiştir.Göz atmak isteyenler için wordpress web application’ının dosya ve klasör yapısı hakkında, kaynaklar kısmında, çeşitli adresler paylaştım.

Yazımda, AWS üzerinde ölçeklenebilir(scalable) , stateless mimari ile wordpress web application yapılandırmasından bahsedeceğim. Konunun kapsamı ve kullanacağım servisleri göz önününe aldığımda yazımı iki parçaya bölmeye karar verdim. Bu bölümde , wordpress için gereken relational database servisinin kurulumu,Elastic Beanstalk ile wordpress’in kurulumu ve Elastic Load Balancer konularına değinilecektir. Elastic Beanstalk servisi dışında kalan diğer servislerden önceki yazılarımda bahsetmiştim. Bu konuyu incelemeden önce o yazılara gözatabilirsiniz.

Elastic Beanstalk AWS’nin sunduğu platform as a service ‘dir. Müşteri Elastic Beanstalk ile, web uygulamasını bellirli tanımlar doğrultusunda(ec2,elb,rds vb.) AWS bulutuna kurar ve hizmete açar. Elastic Beanstalk servisinin desteklediği yazılımlardan ve uygulamalardan bazıları aşağıdaki gibidir.

Continue reading “AWS Elastic Beanstalk ile Web Application Kurulumu 1”